Mercurial > emacs
annotate man/gnus.texi @ 33748:2827e4066e08
* message.el (message-send-mail): Use buffer-substring-no-properties.
author | ShengHuo ZHU <zsh@cs.rochester.edu> |
---|---|
date | Wed, 22 Nov 2000 14:27:40 +0000 |
parents | 90acc0606378 |
children | 33df9c2e70bf |
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 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
275 Copyright \copyright{} 1995,96,97,98,99,2000 Free Software Foundation, Inc. |
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 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
303 Copyright (C) 1995,96,97,98,99,2000 Free Software Foundation, Inc. |
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 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
332 Copyright @copyright{} 1995,96,97,98,99,2000 Free Software Foundation, Inc. |
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 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
367 This manual corresponds to Gnus 5.8.7. |
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 * Post:: Posting and following up. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
597 * 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
|
598 * 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
|
599 * 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
|
600 * 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
|
601 * 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
|
602 * 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
|
603 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
604 Select Methods |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
605 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
606 * 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
|
607 * 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
|
608 * 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
|
609 * 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
|
610 * 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
|
611 * 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
|
612 * 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
|
613 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
614 The Server Buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
615 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
616 * 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
|
617 * 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
|
618 * Example Methods:: Examples server specifications. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
619 * 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
|
620 * 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
|
621 * 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
|
622 * 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
|
623 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
624 Getting News |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
625 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
626 * 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
|
627 * 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
|
628 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
629 Getting Mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
630 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
631 * 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
|
632 * 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
|
633 * 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
|
634 * Mail Sources:: How to tell Gnus where to get mail from. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
635 * Mail Backend Variables:: Variables for customizing mail handling. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
636 * 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
|
637 * 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
|
638 * 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
|
639 * Expiring Mail:: Getting rid of unwanted mail. |
33292 | 640 * 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
|
641 * Duplicates:: Dealing with duplicated mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
642 * Not Reading Mail:: Using mail backends for reading other files. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
643 * Choosing a Mail Backend:: Gnus can read a variety of mail formats. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
644 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
645 Mail Sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
646 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
647 * 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
|
648 * 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
|
649 * 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
|
650 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
651 Choosing a Mail Backend |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
652 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
653 * 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
|
654 * 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
|
655 * Mail Spool:: Store your mail in a private spool? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
656 * MH Spool:: An mhspool-like backend. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
657 * Mail Folders:: Having one file for each group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
658 * Comparing Mail Backends:: An in-depth looks at pros and cons. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
659 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
660 Browsing the Web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
661 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
662 * 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
|
663 * Slashdot:: Reading the Slashdot comments. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
664 * 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
|
665 * 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
|
666 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
667 Other Sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
668 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
669 * 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
|
670 * 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
|
671 * 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
|
672 * 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
|
673 * 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
|
674 * 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
|
675 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
676 Document Groups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
677 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
678 * 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
|
679 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
680 SOUP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
681 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
682 * SOUP Commands:: Commands for creating and sending @sc{soup} packets |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
683 * SOUP Groups:: A backend for reading @sc{soup} packets. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
684 * 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
|
685 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
686 @sc{imap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
687 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
688 * 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
|
689 * 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
|
690 * 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
|
691 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
692 Combined Groups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
693 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
694 * 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
|
695 * 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
|
696 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
697 Gnus Unplugged |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
698 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
699 * 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
|
700 * 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
|
701 * 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
|
702 * 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
|
703 * 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
|
704 * 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
|
705 * Agent Variables:: Customizing is fun. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
706 * 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
|
707 * 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
|
708 * 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
|
709 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
710 Agent Categories |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
711 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
712 * 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
|
713 * 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
|
714 * Category Variables:: Customize'r'Us. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
715 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
716 Agent Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
717 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
718 * Group Agent Commands:: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
719 * Summary Agent Commands:: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
720 * Server Agent Commands:: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
721 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
722 Scoring |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
723 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
724 * 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
|
725 * 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
|
726 * 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
|
727 * 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
|
728 * 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
|
729 * 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
|
730 * 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
|
731 * 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
|
732 * 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
|
733 * 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
|
734 * 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
|
735 * 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
|
736 * 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
|
737 * 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
|
738 * 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
|
739 * 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
|
740 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
741 GroupLens |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
742 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
743 * 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
|
744 * 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
|
745 * 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
|
746 * GroupLens Variables:: Customizing GroupLens. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
747 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
748 Advanced Scoring |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
749 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
750 * Advanced Scoring Syntax:: A definition. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
751 * 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
|
752 * 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
|
753 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
754 Various |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
755 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
756 * 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
|
757 * 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
|
758 * 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
|
759 * 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
|
760 * 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
|
761 * 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
|
762 * 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
|
763 * 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
|
764 * Highlighting and Menus:: Making buffers look all nice and cozy. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
765 * Buttons:: Get tendonitis in ten easy steps! |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
766 * 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
|
767 * 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
|
768 * 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
|
769 * 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
|
770 * 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
|
771 * 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
|
772 * 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
|
773 * 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
|
774 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
775 Formatting Variables |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
776 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
777 * 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
|
778 * 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
|
779 * 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
|
780 * 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
|
781 * 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
|
782 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
783 XEmacs Enhancements |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
784 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
785 * 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
|
786 * 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
|
787 * Toolbar:: Click'n'drool. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
788 * XVarious:: Other XEmacsy Gnusey variables. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
789 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
790 Picons |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
791 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
792 * 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
|
793 * 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
|
794 * 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
|
795 * 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
|
796 * 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
|
797 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
798 Appendices |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
799 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
800 * 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
|
801 * 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
|
802 * 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
|
803 * 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
|
804 * 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
|
805 * 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
|
806 * 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
|
807 * 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
|
808 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
809 History |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
810 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
811 * 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
|
812 * 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
|
813 * 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
|
814 * 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
|
815 * 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
|
816 * 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
|
817 * 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
|
818 * Contributors:: Oodles of people. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
819 * 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
|
820 * Newest Features:: Features so new that they haven't been written yet. |
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 New Features |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
823 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
824 * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
825 * September Gnus:: The Thing Formally Known As Gnus 5.3/5.3. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
826 * 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
|
827 * Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
828 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
829 Customization |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
830 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
831 * 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
|
832 * 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
|
833 * 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
|
834 * 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
|
835 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
836 Gnus Reference Guide |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
837 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
838 * Gnus Utility Functions:: Common functions and variable to use. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
839 * Backend Interface:: How Gnus communicates with the servers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
840 * 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
|
841 * 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
|
842 * 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
|
843 * 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
|
844 * 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
|
845 * 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
|
846 * 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
|
847 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
848 Backend Interface |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
849 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
850 * Required Backend Functions:: Functions that must be implemented. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
851 * Optional Backend Functions:: Functions that need not be implemented. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
852 * Error Messaging:: How to get messages and report errors. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
853 * Writing New Backends:: Extending old backends. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
854 * Hooking New Backends Into Gnus:: What has to be done on the Gnus end. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
855 * Mail-like Backends:: Some tips on mail backends. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
856 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
857 Various File Formats |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
858 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
859 * 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
|
860 * Newsgroups File Format:: Group descriptions. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
861 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
862 Emacs for Heathens |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
863 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
864 * 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
|
865 * 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
|
866 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
867 @end detailmenu |
25829 | 868 @end menu |
869 | |
870 @node Starting Up | |
871 @chapter Starting Gnus | |
872 @cindex starting up | |
873 | |
874 @kindex M-x gnus | |
875 @findex gnus | |
876 If your system administrator has set things up properly, starting Gnus | |
877 and reading news is extremely easy---you just type @kbd{M-x gnus} in | |
878 your Emacs. | |
879 | |
880 @findex gnus-other-frame | |
881 @kindex M-x gnus-other-frame | |
882 If you want to start Gnus in a different frame, you can use the command | |
883 @kbd{M-x gnus-other-frame} instead. | |
884 | |
885 If things do not go smoothly at startup, you have to twiddle some | |
886 variables in your @file{~/.gnus} file. This file is similar to | |
887 @file{~/.emacs}, but is read when gnus starts. | |
888 | |
889 If you puzzle at any terms used in this manual, please refer to the | |
890 terminology section (@pxref{Terminology}). | |
891 | |
892 @menu | |
893 * Finding the News:: Choosing a method for getting news. | |
894 * The First Time:: What does Gnus do the first time you start it? | |
895 * The Server is Down:: How can I read my mail then? | |
896 * Slave Gnusae:: You can have more than one Gnus active at a time. | |
897 * Fetching a Group:: Starting Gnus just to read a group. | |
898 * New Groups:: What is Gnus supposed to do with new groups? | |
899 * Startup Files:: Those pesky startup files---@file{.newsrc}. | |
900 * Auto Save:: Recovering from a crash. | |
901 * The Active File:: Reading the active file over a slow line Takes Time. | |
902 * Changing Servers:: You may want to move from one server to another. | |
903 * Startup Variables:: Other variables you might change. | |
904 @end menu | |
905 | |
906 | |
907 @node Finding the News | |
908 @section Finding the News | |
909 @cindex finding news | |
910 | |
911 @vindex gnus-select-method | |
912 @c @head | |
913 The @code{gnus-select-method} variable says where Gnus should look for | |
914 news. This variable should be a list where the first element says | |
915 @dfn{how} and the second element says @dfn{where}. This method is your | |
916 native method. All groups not fetched with this method are | |
917 foreign groups. | |
918 | |
919 For instance, if the @samp{news.somewhere.edu} @sc{nntp} server is where | |
920 you want to get your daily dosage of news from, you'd say: | |
921 | |
922 @lisp | |
923 (setq gnus-select-method '(nntp "news.somewhere.edu")) | |
924 @end lisp | |
925 | |
926 If you want to read directly from the local spool, say: | |
927 | |
928 @lisp | |
929 (setq gnus-select-method '(nnspool "")) | |
930 @end lisp | |
931 | |
932 If you can use a local spool, you probably should, as it will almost | |
933 certainly be much faster. | |
934 | |
935 @vindex gnus-nntpserver-file | |
936 @cindex NNTPSERVER | |
937 @cindex @sc{nntp} server | |
938 If this variable is not set, Gnus will take a look at the | |
939 @code{NNTPSERVER} environment variable. If that variable isn't set, | |
940 Gnus will see whether @code{gnus-nntpserver-file} | |
941 (@file{/etc/nntpserver} by default) has any opinions on the matter. If | |
942 that fails as well, Gnus will try to use the machine running Emacs as an @sc{nntp} server. That's a long shot, though. | |
943 | |
944 @vindex gnus-nntp-server | |
945 If @code{gnus-nntp-server} is set, this variable will override | |
946 @code{gnus-select-method}. You should therefore set | |
947 @code{gnus-nntp-server} to @code{nil}, which is what it is by default. | |
948 | |
949 @vindex gnus-secondary-servers | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
950 @vindex gnus-nntp-server |
25829 | 951 You can also make Gnus prompt you interactively for the name of an |
952 @sc{nntp} server. If you give a non-numerical prefix to @code{gnus} | |
953 (i.e., @kbd{C-u M-x gnus}), Gnus will let you choose between the servers | |
954 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
|
955 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
|
956 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
|
957 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
|
958 server.) |
25829 | 959 |
960 @findex gnus-group-browse-foreign-server | |
961 @kindex B (Group) | |
962 However, if you use one @sc{nntp} server regularly and are just | |
963 interested in a couple of groups from a different server, you would be | |
964 better served by using the @kbd{B} command in the group buffer. It will | |
965 let you have a look at what groups are available, and you can subscribe | |
966 to any of the groups you want to. This also makes @file{.newsrc} | |
967 maintenance much tidier. @xref{Foreign Groups}. | |
968 | |
969 @vindex gnus-secondary-select-methods | |
970 @c @head | |
971 A slightly different approach to foreign groups is to set the | |
972 @code{gnus-secondary-select-methods} variable. The select methods | |
973 listed in this variable are in many ways just as native as the | |
974 @code{gnus-select-method} server. They will also be queried for active | |
975 files during startup (if that's required), and new newsgroups that | |
976 appear on these servers will be subscribed (or not) just as native | |
977 groups are. | |
978 | |
979 For instance, if you use the @code{nnmbox} backend to read your mail, you | |
980 would typically set this variable to | |
981 | |
982 @lisp | |
983 (setq gnus-secondary-select-methods '((nnmbox ""))) | |
984 @end lisp | |
985 | |
986 | |
987 @node The First Time | |
988 @section The First Time | |
989 @cindex first time usage | |
990 | |
991 If no startup files exist, Gnus will try to determine what groups should | |
992 be subscribed by default. | |
993 | |
994 @vindex gnus-default-subscribed-newsgroups | |
995 If the variable @code{gnus-default-subscribed-newsgroups} is set, Gnus | |
996 will subscribe you to just those groups in that list, leaving the rest | |
997 killed. Your system administrator should have set this variable to | |
998 something useful. | |
999 | |
1000 Since she hasn't, Gnus will just subscribe you to a few arbitrarily | |
1001 picked groups (i.e., @samp{*.newusers}). (@dfn{Arbitrary} is defined | |
1002 here as @dfn{whatever Lars thinks you should read}.) | |
1003 | |
1004 You'll also be subscribed to the Gnus documentation group, which should | |
1005 help you with most common problems. | |
1006 | |
1007 If @code{gnus-default-subscribed-newsgroups} is @code{t}, Gnus will just | |
1008 use the normal functions for handling new groups, and not do anything | |
1009 special. | |
1010 | |
1011 | |
1012 @node The Server is Down | |
1013 @section The Server is Down | |
1014 @cindex server errors | |
1015 | |
1016 If the default server is down, Gnus will understandably have some | |
1017 problems starting. However, if you have some mail groups in addition to | |
1018 the news groups, you may want to start Gnus anyway. | |
1019 | |
1020 Gnus, being the trusting sort of program, will ask whether to proceed | |
1021 without a native select method if that server can't be contacted. This | |
1022 will happen whether the server doesn't actually exist (i.e., you have | |
1023 given the wrong address) or the server has just momentarily taken ill | |
1024 for some reason or other. If you decide to continue and have no foreign | |
1025 groups, you'll find it difficult to actually do anything in the group | |
1026 buffer. But, hey, that's your problem. Blllrph! | |
1027 | |
1028 @findex gnus-no-server | |
1029 @kindex M-x gnus-no-server | |
1030 @c @head | |
1031 If you know that the server is definitely down, or you just want to read | |
1032 your mail without bothering with the server at all, you can use the | |
1033 @code{gnus-no-server} command to start Gnus. That might come in handy | |
1034 if you're in a hurry as well. This command will not attempt to contact | |
1035 your primary server---instead, it will just activate all groups on level | |
1036 1 and 2. (You should preferably keep no native groups on those two | |
1037 levels.) | |
1038 | |
1039 | |
1040 @node Slave Gnusae | |
1041 @section Slave Gnusae | |
1042 @cindex slave | |
1043 | |
1044 You might want to run more than one Emacs with more than one Gnus at the | |
1045 same time. If you are using different @file{.newsrc} files (e.g., if you | |
1046 are using the two different Gnusae to read from two different servers), | |
1047 that is no problem whatsoever. You just do it. | |
1048 | |
1049 The problem appears when you want to run two Gnusae that use the same | |
1050 @code{.newsrc} file. | |
1051 | |
1052 To work around that problem some, we here at the Think-Tank at the Gnus | |
1053 Towers have come up with a new concept: @dfn{Masters} and | |
1054 @dfn{slaves}. (We have applied for a patent on this concept, and have | |
1055 taken out a copyright on those words. If you wish to use those words in | |
1056 conjunction with each other, you have to send $1 per usage instance to | |
1057 me. Usage of the patent (@dfn{Master/Slave Relationships In Computer | |
1058 Applications}) will be much more expensive, of course.) | |
1059 | |
1060 Anyways, you start one Gnus up the normal way with @kbd{M-x gnus} (or | |
1061 however you do it). Each subsequent slave Gnusae should be started with | |
1062 @kbd{M-x gnus-slave}. These slaves won't save normal @file{.newsrc} | |
1063 files, but instead save @dfn{slave files} that contain information only | |
1064 on what groups have been read in the slave session. When a master Gnus | |
1065 starts, it will read (and delete) these slave files, incorporating all | |
1066 information from them. (The slave files will be read in the sequence | |
1067 they were created, so the latest changes will have precedence.) | |
1068 | |
1069 Information from the slave files has, of course, precedence over the | |
1070 information in the normal (i.e., master) @code{.newsrc} file. | |
1071 | |
1072 | |
1073 @node Fetching a Group | |
1074 @section Fetching a Group | |
1075 @cindex fetching a group | |
1076 | |
1077 @findex gnus-fetch-group | |
1078 It is sometimes convenient to be able to just say ``I want to read this | |
1079 group and I don't care whether Gnus has been started or not''. This is | |
1080 perhaps more useful for people who write code than for users, but the | |
1081 command @code{gnus-fetch-group} provides this functionality in any case. | |
1082 It takes the group name as a parameter. | |
1083 | |
1084 | |
1085 @node New Groups | |
1086 @section New Groups | |
1087 @cindex new groups | |
1088 @cindex subscription | |
1089 | |
1090 @vindex gnus-check-new-newsgroups | |
1091 If you are satisfied that you really never want to see any new groups, | |
1092 you can set @code{gnus-check-new-newsgroups} to @code{nil}. This will | |
1093 also save you some time at startup. Even if this variable is | |
1094 @code{nil}, you can always subscribe to the new groups just by pressing | |
1095 @kbd{U} in the group buffer (@pxref{Group Maintenance}). This variable | |
1096 is @code{ask-server} by default. If you set this variable to | |
1097 @code{always}, then Gnus will query the backends for new groups even | |
1098 when you do the @kbd{g} command (@pxref{Scanning New Messages}). | |
1099 | |
1100 @menu | |
1101 * Checking New Groups:: Determining what groups are new. | |
1102 * Subscription Methods:: What Gnus should do with new groups. | |
1103 * Filtering New Groups:: Making Gnus ignore certain new groups. | |
1104 @end menu | |
1105 | |
1106 | |
1107 @node Checking New Groups | |
1108 @subsection Checking New Groups | |
1109 | |
1110 Gnus normally determines whether a group is new or not by comparing the | |
1111 list of groups from the active file(s) with the lists of subscribed and | |
1112 dead groups. This isn't a particularly fast method. If | |
1113 @code{gnus-check-new-newsgroups} is @code{ask-server}, Gnus will ask the | |
1114 server for new groups since the last time. This is both faster and | |
1115 cheaper. This also means that you can get rid of the list of killed | |
1116 groups altogether, so you may set @code{gnus-save-killed-list} to | |
1117 @code{nil}, which will save time both at startup, at exit, and all over. | |
1118 Saves disk space, too. Why isn't this the default, then? | |
1119 Unfortunately, not all servers support this command. | |
1120 | |
1121 I bet I know what you're thinking now: How do I find out whether my | |
1122 server supports @code{ask-server}? No? Good, because I don't have a | |
1123 fail-safe answer. I would suggest just setting this variable to | |
1124 @code{ask-server} and see whether any new groups appear within the next | |
1125 few days. If any do, then it works. If none do, then it doesn't | |
1126 work. I could write a function to make Gnus guess whether the server | |
1127 supports @code{ask-server}, but it would just be a guess. So I won't. | |
1128 You could @code{telnet} to the server and say @code{HELP} and see | |
1129 whether it lists @samp{NEWGROUPS} among the commands it understands. If | |
1130 it does, then it might work. (But there are servers that lists | |
1131 @samp{NEWGROUPS} without supporting the function properly.) | |
1132 | |
1133 This variable can also be a list of select methods. If so, Gnus will | |
1134 issue an @code{ask-server} command to each of the select methods, and | |
1135 subscribe them (or not) using the normal methods. This might be handy | |
1136 if you are monitoring a few servers for new groups. A side effect is | |
1137 that startup will take much longer, so you can meditate while waiting. | |
1138 Use the mantra ``dingnusdingnusdingnus'' to achieve permanent bliss. | |
1139 | |
1140 | |
1141 @node Subscription Methods | |
1142 @subsection Subscription Methods | |
1143 | |
1144 @vindex gnus-subscribe-newsgroup-method | |
1145 What Gnus does when it encounters a new group is determined by the | |
1146 @code{gnus-subscribe-newsgroup-method} variable. | |
1147 | |
1148 This variable should contain a function. This function will be called | |
1149 with the name of the new group as the only parameter. | |
1150 | |
1151 Some handy pre-fab functions are: | |
1152 | |
1153 @table @code | |
1154 | |
1155 @item gnus-subscribe-zombies | |
1156 @vindex gnus-subscribe-zombies | |
1157 Make all new groups zombies. This is the default. You can browse the | |
1158 zombies later (with @kbd{A z}) and either kill them all off properly | |
1159 (with @kbd{S z}), or subscribe to them (with @kbd{u}). | |
1160 | |
1161 @item gnus-subscribe-randomly | |
1162 @vindex gnus-subscribe-randomly | |
1163 Subscribe all new groups in arbitrary order. This really means that all | |
1164 new groups will be added at ``the top'' of the group buffer. | |
1165 | |
1166 @item gnus-subscribe-alphabetically | |
1167 @vindex gnus-subscribe-alphabetically | |
1168 Subscribe all new groups in alphabetical order. | |
1169 | |
1170 @item gnus-subscribe-hierarchically | |
1171 @vindex gnus-subscribe-hierarchically | |
1172 Subscribe all new groups hierarchically. The difference between this | |
1173 function and @code{gnus-subscribe-alphabetically} is slight. | |
1174 @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
|
1175 alphabetical fashion, while this function will enter groups into its |
25829 | 1176 hierarchy. So if you want to have the @samp{rec} hierarchy before the |
1177 @samp{comp} hierarchy, this function will not mess that configuration | |
1178 up. Or something like that. | |
1179 | |
1180 @item gnus-subscribe-interactively | |
1181 @vindex gnus-subscribe-interactively | |
1182 Subscribe new groups interactively. This means that Gnus will ask | |
1183 you about @strong{all} new groups. The groups you choose to subscribe | |
1184 to will be subscribed hierarchically. | |
1185 | |
1186 @item gnus-subscribe-killed | |
1187 @vindex gnus-subscribe-killed | |
1188 Kill all new groups. | |
1189 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1190 @item gnus-subscribe-topics |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1191 @vindex gnus-subscribe-topics |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1192 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
|
1193 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
|
1194 topic parameter that looks like |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1195 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1196 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1197 "nnslashdot" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1198 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1199 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1200 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
|
1201 that topic. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1202 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1203 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
|
1204 top-level topic. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1205 |
25829 | 1206 @end table |
1207 | |
1208 @vindex gnus-subscribe-hierarchical-interactive | |
1209 A closely related variable is | |
1210 @code{gnus-subscribe-hierarchical-interactive}. (That's quite a | |
1211 mouthful.) If this variable is non-@code{nil}, Gnus will ask you in a | |
1212 hierarchical fashion whether to subscribe to new groups or not. Gnus | |
1213 will ask you for each sub-hierarchy whether you want to descend the | |
1214 hierarchy or not. | |
1215 | |
1216 One common mistake is to set the variable a few paragraphs above | |
1217 (@code{gnus-subscribe-newsgroup-method}) to | |
1218 @code{gnus-subscribe-hierarchical-interactive}. This is an error. This | |
1219 will not work. This is ga-ga. So don't do it. | |
1220 | |
1221 | |
1222 @node Filtering New Groups | |
1223 @subsection Filtering New Groups | |
1224 | |
1225 A nice and portable way to control which new newsgroups should be | |
1226 subscribed (or ignored) is to put an @dfn{options} line at the start of | |
1227 the @file{.newsrc} file. Here's an example: | |
1228 | |
1229 @example | |
1230 options -n !alt.all !rec.all sci.all | |
1231 @end example | |
1232 | |
1233 @vindex gnus-subscribe-options-newsgroup-method | |
1234 This line obviously belongs to a serious-minded intellectual scientific | |
1235 person (or she may just be plain old boring), because it says that all | |
1236 groups that have names beginning with @samp{alt} and @samp{rec} should | |
1237 be ignored, and all groups with names beginning with @samp{sci} should | |
1238 be subscribed. Gnus will not use the normal subscription method for | |
1239 subscribing these groups. | |
1240 @code{gnus-subscribe-options-newsgroup-method} is used instead. This | |
1241 variable defaults to @code{gnus-subscribe-alphabetically}. | |
1242 | |
1243 @vindex gnus-options-not-subscribe | |
1244 @vindex gnus-options-subscribe | |
1245 If you don't want to mess with your @file{.newsrc} file, you can just | |
1246 set the two variables @code{gnus-options-subscribe} and | |
1247 @code{gnus-options-not-subscribe}. These two variables do exactly the | |
1248 same as the @file{.newsrc} @samp{options -n} trick. Both are regexps, | |
1249 and if the new group matches the former, it will be unconditionally | |
1250 subscribed, and if it matches the latter, it will be ignored. | |
1251 | |
1252 @vindex gnus-auto-subscribed-groups | |
1253 Yet another variable that meddles here is | |
1254 @code{gnus-auto-subscribed-groups}. It works exactly like | |
1255 @code{gnus-options-subscribe}, and is therefore really superfluous, but I | |
1256 thought it would be nice to have two of these. This variable is more | |
1257 meant for setting some ground rules, while the other variable is used | |
1258 more for user fiddling. By default this variable makes all new groups | |
1259 that come from mail backends (@code{nnml}, @code{nnbabyl}, | |
1260 @code{nnfolder}, @code{nnmbox}, and @code{nnmh}) subscribed. If you | |
1261 don't like that, just set this variable to @code{nil}. | |
1262 | |
1263 New groups that match this regexp are subscribed using | |
1264 @code{gnus-subscribe-options-newsgroup-method}. | |
1265 | |
1266 | |
1267 @node Changing Servers | |
1268 @section Changing Servers | |
1269 @cindex changing servers | |
1270 | |
1271 Sometimes it is necessary to move from one @sc{nntp} server to another. | |
1272 This happens very rarely, but perhaps you change jobs, or one server is | |
1273 very flaky and you want to use another. | |
1274 | |
1275 Changing the server is pretty easy, right? You just change | |
1276 @code{gnus-select-method} to point to the new server? | |
1277 | |
1278 @emph{Wrong!} | |
1279 | |
1280 Article numbers are not (in any way) kept synchronized between different | |
1281 @sc{nntp} servers, and the only way Gnus keeps track of what articles | |
1282 you have read is by keeping track of article numbers. So when you | |
1283 change @code{gnus-select-method}, your @file{.newsrc} file becomes | |
1284 worthless. | |
1285 | |
1286 Gnus provides a few functions to attempt to translate a @file{.newsrc} | |
1287 file from one server to another. They all have one thing in | |
1288 common---they take a looong time to run. You don't want to use these | |
1289 functions more than absolutely necessary. | |
1290 | |
1291 @kindex M-x gnus-change-server | |
1292 @findex gnus-change-server | |
1293 If you have access to both servers, Gnus can request the headers for all | |
1294 the articles you have read and compare @code{Message-ID}s and map the | |
1295 article numbers of the read articles and article marks. The @kbd{M-x | |
1296 gnus-change-server} command will do this for all your native groups. It | |
1297 will prompt for the method you want to move to. | |
1298 | |
1299 @kindex M-x gnus-group-move-group-to-server | |
1300 @findex gnus-group-move-group-to-server | |
1301 You can also move individual groups with the @kbd{M-x | |
1302 gnus-group-move-group-to-server} command. This is useful if you want to | |
1303 move a (foreign) group from one server to another. | |
1304 | |
1305 @kindex M-x gnus-group-clear-data-on-native-groups | |
1306 @findex gnus-group-clear-data-on-native-groups | |
1307 If you don't have access to both the old and new server, all your marks | |
1308 and read ranges have become worthless. You can use the @kbd{M-x | |
1309 gnus-group-clear-data-on-native-groups} command to clear out all data | |
1310 that you have on your native groups. Use with caution. | |
1311 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1312 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
|
1313 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
|
1314 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
|
1315 |
25829 | 1316 |
1317 @node Startup Files | |
1318 @section Startup Files | |
1319 @cindex startup files | |
1320 @cindex .newsrc | |
1321 @cindex .newsrc.el | |
1322 @cindex .newsrc.eld | |
1323 | |
1324 Now, you all know about the @file{.newsrc} file. All subscription | |
1325 information is traditionally stored in this file. | |
1326 | |
1327 Things got a bit more complicated with @sc{gnus}. In addition to | |
1328 keeping the @file{.newsrc} file updated, it also used a file called | |
1329 @file{.newsrc.el} for storing all the information that didn't fit into | |
1330 the @file{.newsrc} file. (Actually, it also duplicated everything in | |
1331 the @file{.newsrc} file.) @sc{gnus} would read whichever one of these | |
1332 files was the most recently saved, which enabled people to swap between | |
1333 @sc{gnus} and other newsreaders. | |
1334 | |
1335 That was kinda silly, so Gnus went one better: In addition to the | |
1336 @file{.newsrc} and @file{.newsrc.el} files, Gnus also has a file called | |
1337 @file{.newsrc.eld}. It will read whichever of these files that are most | |
1338 recent, but it will never write a @file{.newsrc.el} file. You should | |
1339 never delete the @file{.newsrc.eld} file---it contains much information | |
1340 not stored in the @file{.newsrc} file. | |
1341 | |
1342 @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
|
1343 @vindex gnus-read-newsrc-file |
25829 | 1344 You can turn off writing the @file{.newsrc} file by setting |
1345 @code{gnus-save-newsrc-file} to @code{nil}, which means you can delete | |
1346 the file and save some space, as well as exiting from Gnus faster. | |
1347 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
|
1348 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
|
1349 @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
|
1350 @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
|
1351 convenient if you have a tendency to use Netscape once in a while. |
25829 | 1352 |
1353 @vindex gnus-save-killed-list | |
1354 If @code{gnus-save-killed-list} (default @code{t}) is @code{nil}, Gnus | |
1355 will not save the list of killed groups to the startup file. This will | |
1356 save both time (when starting and quitting) and space (on disk). It | |
1357 will also mean that Gnus has no record of what groups are new or old, | |
1358 so the automatic new groups subscription methods become meaningless. | |
1359 You should always set @code{gnus-check-new-newsgroups} to @code{nil} or | |
1360 @code{ask-server} if you set this variable to @code{nil} (@pxref{New | |
1361 Groups}). This variable can also be a regular expression. If that's | |
1362 the case, remove all groups that do not match this regexp before | |
1363 saving. This can be useful in certain obscure situations that involve | |
1364 several servers where not all servers support @code{ask-server}. | |
1365 | |
1366 @vindex gnus-startup-file | |
1367 The @code{gnus-startup-file} variable says where the startup files are. | |
1368 The default value is @file{~/.newsrc}, with the Gnus (El Dingo) startup | |
1369 file being whatever that one is, with a @samp{.eld} appended. | |
1370 | |
1371 @vindex gnus-save-newsrc-hook | |
1372 @vindex gnus-save-quick-newsrc-hook | |
1373 @vindex gnus-save-standard-newsrc-hook | |
1374 @code{gnus-save-newsrc-hook} is called before saving any of the newsrc | |
1375 files, while @code{gnus-save-quick-newsrc-hook} is called just before | |
1376 saving the @file{.newsrc.eld} file, and | |
1377 @code{gnus-save-standard-newsrc-hook} is called just before saving the | |
1378 @file{.newsrc} file. The latter two are commonly used to turn version | |
1379 control on or off. Version control is on by default when saving the | |
1380 startup files. If you want to turn backup creation off, say something like: | |
1381 | |
1382 @lisp | |
1383 (defun turn-off-backup () | |
1384 (set (make-local-variable 'backup-inhibited) t)) | |
1385 | |
1386 (add-hook 'gnus-save-quick-newsrc-hook 'turn-off-backup) | |
1387 (add-hook 'gnus-save-standard-newsrc-hook 'turn-off-backup) | |
1388 @end lisp | |
1389 | |
1390 @vindex gnus-init-file | |
1391 When Gnus starts, it will read the @code{gnus-site-init-file} | |
1392 (@file{.../site-lisp/gnus} by default) and @code{gnus-init-file} | |
1393 (@file{~/.gnus} by default) files. These are normal Emacs Lisp files | |
1394 and can be used to avoid cluttering your @file{~/.emacs} and | |
1395 @file{site-init} files with Gnus stuff. Gnus will also check for files | |
1396 with the same names as these, but with @file{.elc} and @file{.el} | |
1397 suffixes. In other words, if you have set @code{gnus-init-file} to | |
1398 @file{~/.gnus}, it will look for @file{~/.gnus.elc}, @file{~/.gnus.el}, | |
1399 and finally @file{~/.gnus} (in this order). | |
1400 | |
1401 | |
1402 | |
1403 @node Auto Save | |
1404 @section Auto Save | |
1405 @cindex dribble file | |
1406 @cindex auto-save | |
1407 | |
1408 Whenever you do something that changes the Gnus data (reading articles, | |
1409 catching up, killing/subscribing groups), the change is added to a | |
1410 special @dfn{dribble buffer}. This buffer is auto-saved the normal | |
1411 Emacs way. If your Emacs should crash before you have saved the | |
1412 @file{.newsrc} files, all changes you have made can be recovered from | |
1413 this file. | |
1414 | |
1415 If Gnus detects this file at startup, it will ask the user whether to | |
1416 read it. The auto save file is deleted whenever the real startup file is | |
1417 saved. | |
1418 | |
1419 @vindex gnus-use-dribble-file | |
1420 If @code{gnus-use-dribble-file} is @code{nil}, Gnus won't create and | |
1421 maintain a dribble buffer. The default is @code{t}. | |
1422 | |
1423 @vindex gnus-dribble-directory | |
1424 Gnus will put the dribble file(s) in @code{gnus-dribble-directory}. If | |
1425 this variable is @code{nil}, which it is by default, Gnus will dribble | |
1426 into the directory where the @file{.newsrc} file is located. (This is | |
1427 normally the user's home directory.) The dribble file will get the same | |
1428 file permissions as the @code{.newsrc} file. | |
1429 | |
1430 @vindex gnus-always-read-dribble-file | |
1431 If @code{gnus-always-read-dribble-file} is non-@code{nil}, Gnus will | |
1432 read the dribble file on startup without querying the user. | |
1433 | |
1434 | |
1435 @node The Active File | |
1436 @section The Active File | |
1437 @cindex active file | |
1438 @cindex ignored groups | |
1439 | |
1440 When Gnus starts, or indeed whenever it tries to determine whether new | |
1441 articles have arrived, it reads the active file. This is a very large | |
1442 file that lists all the active groups and articles on the server. | |
1443 | |
1444 @vindex gnus-ignored-newsgroups | |
1445 Before examining the active file, Gnus deletes all lines that match the | |
1446 regexp @code{gnus-ignored-newsgroups}. This is done primarily to reject | |
1447 any groups with bogus names, but you can use this variable to make Gnus | |
1448 ignore hierarchies you aren't ever interested in. However, this is not | |
1449 recommended. In fact, it's highly discouraged. Instead, @pxref{New | |
1450 Groups} for an overview of other variables that can be used instead. | |
1451 | |
1452 @c This variable is | |
1453 @c @code{nil} by default, and will slow down active file handling somewhat | |
1454 @c if you set it to anything else. | |
1455 | |
1456 @vindex gnus-read-active-file | |
1457 @c @head | |
1458 The active file can be rather Huge, so if you have a slow network, you | |
1459 can set @code{gnus-read-active-file} to @code{nil} to prevent Gnus from | |
1460 reading the active file. This variable is @code{some} by default. | |
1461 | |
1462 Gnus will try to make do by getting information just on the groups that | |
1463 you actually subscribe to. | |
1464 | |
1465 Note that if you subscribe to lots and lots of groups, setting this | |
1466 variable to @code{nil} will probably make Gnus slower, not faster. At | |
1467 present, having this variable @code{nil} will slow Gnus down | |
1468 considerably, unless you read news over a 2400 baud modem. | |
1469 | |
1470 This variable can also have the value @code{some}. Gnus will then | |
1471 attempt to read active info only on the subscribed groups. On some | |
1472 servers this is quite fast (on sparkling, brand new INN servers that | |
1473 support the @code{LIST ACTIVE group} command), on others this isn't fast | |
1474 at all. In any case, @code{some} should be faster than @code{nil}, and | |
1475 is certainly faster than @code{t} over slow lines. | |
1476 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1477 Some news servers (Leafnode and old versions of INN, for instance) do |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1478 not support the @code{LIST ACTIVE group}. For these servers, @code{nil} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1479 is probably the most efficient value for this variable. |
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 | |
1728 @item d | |
1729 A string that says when you last read the group (@pxref{Group | |
1730 Timestamp}). | |
1731 | |
1732 @item u | |
1733 User defined specifier. The next character in the format string should | |
1734 be a letter. Gnus will call the function | |
1735 @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter | |
1736 following @samp{%u}. The function will be passed a single dummy | |
1737 parameter as argument. The function should return a string, which will | |
1738 be inserted into the buffer just like information from any other | |
1739 specifier. | |
1740 @end table | |
1741 | |
1742 @cindex * | |
1743 All the ``number-of'' specs will be filled with an asterisk (@samp{*}) | |
1744 if no info is available---for instance, if it is a non-activated foreign | |
1745 group, or a bogus native group. | |
1746 | |
1747 | |
1748 @node Group Modeline Specification | |
1749 @subsection Group Modeline Specification | |
1750 @cindex group modeline | |
1751 | |
1752 @vindex gnus-group-mode-line-format | |
1753 The mode line can be changed by setting | |
1754 @code{gnus-group-mode-line-format} (@pxref{Mode Line Formatting}). It | |
1755 doesn't understand that many format specifiers: | |
1756 | |
1757 @table @samp | |
1758 @item S | |
1759 The native news server. | |
1760 @item M | |
1761 The native select method. | |
1762 @end table | |
1763 | |
1764 | |
1765 @node Group Highlighting | |
1766 @subsection Group Highlighting | |
1767 @cindex highlighting | |
1768 @cindex group highlighting | |
1769 | |
1770 @vindex gnus-group-highlight | |
1771 Highlighting in the group buffer is controlled by the | |
1772 @code{gnus-group-highlight} variable. This is an alist with elements | |
26290 | 1773 that look like @code{(@var{form} . @var{face})}. If @var{form} evaluates to |
25829 | 1774 something non-@code{nil}, the @var{face} will be used on the line. |
1775 | |
1776 Here's an example value for this variable that might look nice if the | |
1777 background is dark: | |
1778 | |
1779 @lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1780 (cond (window-system |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1781 (setq custom-background-mode 'light) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1782 (defface my-group-face-1 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1783 '((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
|
1784 (defface my-group-face-2 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1785 '((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
|
1786 (defface my-group-face-3 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1787 '((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
|
1788 (defface my-group-face-4 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1789 '((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
|
1790 (defface my-group-face-5 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
1791 '((t (:foreground "Blue" :bold t))) "Fifth group face"))) |
25829 | 1792 |
1793 (setq gnus-group-highlight | |
1794 '(((> unread 200) . my-group-face-1) | |
1795 ((and (< level 3) (zerop unread)) . my-group-face-2) | |
1796 ((< level 3) . my-group-face-3) | |
1797 ((zerop unread) . my-group-face-4) | |
1798 (t . my-group-face-5))) | |
1799 @end lisp | |
1800 | |
1801 Also @pxref{Faces and Fonts}. | |
1802 | |
1803 Variables that are dynamically bound when the forms are evaluated | |
1804 include: | |
1805 | |
1806 @table @code | |
1807 @item group | |
1808 The group name. | |
1809 @item unread | |
1810 The number of unread articles in the group. | |
1811 @item method | |
1812 The select method. | |
1813 @item mailp | |
1814 Whether the group is a mail group. | |
1815 @item level | |
1816 The level of the group. | |
1817 @item score | |
1818 The score of the group. | |
1819 @item ticked | |
1820 The number of ticked articles in the group. | |
1821 @item total | |
1822 The total number of articles in the group. Or rather, MAX-NUMBER minus | |
1823 MIN-NUMBER plus one. | |
1824 @item topic | |
1825 When using the topic minor mode, this variable is bound to the current | |
1826 topic being inserted. | |
1827 @end table | |
1828 | |
1829 When the forms are @code{eval}ed, point is at the beginning of the line | |
1830 of the group in question, so you can use many of the normal Gnus | |
1831 functions for snarfing info on the group. | |
1832 | |
1833 @vindex gnus-group-update-hook | |
1834 @findex gnus-group-highlight-line | |
1835 @code{gnus-group-update-hook} is called when a group line is changed. | |
1836 It will not be called when @code{gnus-visual} is @code{nil}. This hook | |
1837 calls @code{gnus-group-highlight-line} by default. | |
1838 | |
1839 | |
1840 @node Group Maneuvering | |
1841 @section Group Maneuvering | |
1842 @cindex group movement | |
1843 | |
1844 All movement commands understand the numeric prefix and will behave as | |
1845 expected, hopefully. | |
1846 | |
1847 @table @kbd | |
1848 | |
1849 @item n | |
1850 @kindex n (Group) | |
1851 @findex gnus-group-next-unread-group | |
1852 Go to the next group that has unread articles | |
1853 (@code{gnus-group-next-unread-group}). | |
1854 | |
1855 @item p | |
1856 @itemx DEL | |
1857 @kindex DEL (Group) | |
1858 @kindex p (Group) | |
1859 @findex gnus-group-prev-unread-group | |
1860 Go to the previous group that has unread articles | |
1861 (@code{gnus-group-prev-unread-group}). | |
1862 | |
1863 @item N | |
1864 @kindex N (Group) | |
1865 @findex gnus-group-next-group | |
1866 Go to the next group (@code{gnus-group-next-group}). | |
1867 | |
1868 @item P | |
1869 @kindex P (Group) | |
1870 @findex gnus-group-prev-group | |
1871 Go to the previous group (@code{gnus-group-prev-group}). | |
1872 | |
1873 @item M-n | |
1874 @kindex M-n (Group) | |
1875 @findex gnus-group-next-unread-group-same-level | |
1876 Go to the next unread group on the same (or lower) level | |
1877 (@code{gnus-group-next-unread-group-same-level}). | |
1878 | |
1879 @item M-p | |
1880 @kindex M-p (Group) | |
1881 @findex gnus-group-prev-unread-group-same-level | |
1882 Go to the previous unread group on the same (or lower) level | |
1883 (@code{gnus-group-prev-unread-group-same-level}). | |
1884 @end table | |
1885 | |
1886 Three commands for jumping to groups: | |
1887 | |
1888 @table @kbd | |
1889 | |
1890 @item j | |
1891 @kindex j (Group) | |
1892 @findex gnus-group-jump-to-group | |
1893 Jump to a group (and make it visible if it isn't already) | |
1894 (@code{gnus-group-jump-to-group}). Killed groups can be jumped to, just | |
1895 like living groups. | |
1896 | |
1897 @item , | |
1898 @kindex , (Group) | |
1899 @findex gnus-group-best-unread-group | |
1900 Jump to the unread group with the lowest level | |
1901 (@code{gnus-group-best-unread-group}). | |
1902 | |
1903 @item . | |
1904 @kindex . (Group) | |
1905 @findex gnus-group-first-unread-group | |
1906 Jump to the first group with unread articles | |
1907 (@code{gnus-group-first-unread-group}). | |
1908 @end table | |
1909 | |
1910 @vindex gnus-group-goto-unread | |
1911 If @code{gnus-group-goto-unread} is @code{nil}, all the movement | |
1912 commands will move to the next group, not the next unread group. Even | |
1913 the commands that say they move to the next unread group. The default | |
1914 is @code{t}. | |
1915 | |
1916 | |
1917 @node Selecting a Group | |
1918 @section Selecting a Group | |
1919 @cindex group selection | |
1920 | |
1921 @table @kbd | |
1922 | |
1923 @item SPACE | |
1924 @kindex SPACE (Group) | |
1925 @findex gnus-group-read-group | |
1926 Select the current group, switch to the summary buffer and display the | |
1927 first unread article (@code{gnus-group-read-group}). If there are no | |
1928 unread articles in the group, or if you give a non-numerical prefix to | |
1929 this command, Gnus will offer to fetch all the old articles in this | |
1930 group from the server. If you give a numerical prefix @var{N}, @var{N} | |
1931 determines the number of articles Gnus will fetch. If @var{N} is | |
1932 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
|
1933 negative, Gnus fetches the @code{abs(@var{N})} oldest articles. |
25829 | 1934 |
1935 @item RET | |
1936 @kindex RET (Group) | |
1937 @findex gnus-group-select-group | |
1938 Select the current group and switch to the summary buffer | |
1939 (@code{gnus-group-select-group}). Takes the same arguments as | |
1940 @code{gnus-group-read-group}---the only difference is that this command | |
1941 does not display the first unread article automatically upon group | |
1942 entry. | |
1943 | |
1944 @item M-RET | |
1945 @kindex M-RET (Group) | |
1946 @findex gnus-group-quick-select-group | |
1947 This does the same as the command above, but tries to do it with the | |
1948 minimum amount of fuzz (@code{gnus-group-quick-select-group}). No | |
1949 scoring/killing will be performed, there will be no highlights and no | |
1950 expunging. This might be useful if you're in a real hurry and have to | |
1951 enter some humongous group. If you give a 0 prefix to this command | |
1952 (i.e., @kbd{0 M-RET}), Gnus won't even generate the summary buffer, | |
1953 which is useful if you want to toggle threading before generating the | |
1954 summary buffer (@pxref{Summary Generation Commands}). | |
1955 | |
1956 @item M-SPACE | |
1957 @kindex M-SPACE (Group) | |
1958 @findex gnus-group-visible-select-group | |
1959 This is yet one more command that does the same as the @kbd{RET} | |
1960 command, but this one does it without expunging and hiding dormants | |
1961 (@code{gnus-group-visible-select-group}). | |
1962 | |
1963 @item M-C-RET | |
1964 @kindex M-C-RET (Group) | |
1965 @findex gnus-group-select-group-ephemerally | |
1966 Finally, this command selects the current group ephemerally without | |
1967 doing any processing of its contents | |
1968 (@code{gnus-group-select-group-ephemerally}). Even threading has been | |
1969 turned off. Everything you do in the group after selecting it in this | |
1970 manner will have no permanent effects. | |
1971 | |
1972 @end table | |
1973 | |
1974 @vindex gnus-large-newsgroup | |
1975 The @code{gnus-large-newsgroup} variable says what Gnus should consider | |
1976 to be a big group. This is 200 by default. If the group has more | |
1977 (unread and/or ticked) articles than this, Gnus will query the user | |
1978 before entering the group. The user can then specify how many articles | |
1979 should be fetched from the server. If the user specifies a negative | |
1980 number (@code{-n}), the @code{n} oldest articles will be fetched. If it | |
1981 is positive, the @code{n} articles that have arrived most recently will | |
1982 be fetched. | |
1983 | |
1984 @vindex gnus-select-group-hook | |
1985 @vindex gnus-auto-select-first | |
1986 @code{gnus-auto-select-first} control whether any articles are selected | |
1987 automatically when entering a group with the @kbd{SPACE} command. | |
1988 | |
1989 @table @code | |
1990 | |
1991 @item nil | |
1992 Don't select any articles when entering the group. Just display the | |
1993 full summary buffer. | |
1994 | |
1995 @item t | |
1996 Select the first unread article when entering the group. | |
1997 | |
1998 @item best | |
1999 Select the highest scored article in the group when entering the | |
2000 group. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2001 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2002 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2003 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2004 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
|
2005 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
|
2006 Useful functions include: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2007 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2008 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2009 @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
|
2010 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
|
2011 don't select the article. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2012 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2013 @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
|
2014 Select the first unread article. |
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 @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
|
2017 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
|
2018 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2019 |
25829 | 2020 |
2021 If you want to prevent automatic selection in some group (say, in a | |
2022 binary group with Huge articles) you can set this variable to @code{nil} | |
2023 in @code{gnus-select-group-hook}, which is called when a group is | |
2024 selected. | |
2025 | |
2026 | |
2027 @node Subscription Commands | |
2028 @section Subscription Commands | |
2029 @cindex subscription | |
2030 | |
2031 @table @kbd | |
2032 | |
2033 @item S t | |
2034 @itemx u | |
2035 @kindex S t (Group) | |
2036 @kindex u (Group) | |
2037 @findex gnus-group-unsubscribe-current-group | |
2038 @c @icon{gnus-group-unsubscribe} | |
2039 Toggle subscription to the current group | |
2040 (@code{gnus-group-unsubscribe-current-group}). | |
2041 | |
2042 @item S s | |
2043 @itemx U | |
2044 @kindex S s (Group) | |
2045 @kindex U (Group) | |
2046 @findex gnus-group-unsubscribe-group | |
2047 Prompt for a group to subscribe, and then subscribe it. If it was | |
2048 subscribed already, unsubscribe it instead | |
2049 (@code{gnus-group-unsubscribe-group}). | |
2050 | |
2051 @item S k | |
2052 @itemx C-k | |
2053 @kindex S k (Group) | |
2054 @kindex C-k (Group) | |
2055 @findex gnus-group-kill-group | |
2056 @c @icon{gnus-group-kill-group} | |
2057 Kill the current group (@code{gnus-group-kill-group}). | |
2058 | |
2059 @item S y | |
2060 @itemx C-y | |
2061 @kindex S y (Group) | |
2062 @kindex C-y (Group) | |
2063 @findex gnus-group-yank-group | |
2064 Yank the last killed group (@code{gnus-group-yank-group}). | |
2065 | |
2066 @item C-x C-t | |
2067 @kindex C-x C-t (Group) | |
2068 @findex gnus-group-transpose-groups | |
2069 Transpose two groups (@code{gnus-group-transpose-groups}). This isn't | |
2070 really a subscription command, but you can use it instead of a | |
2071 kill-and-yank sequence sometimes. | |
2072 | |
2073 @item S w | |
2074 @itemx C-w | |
2075 @kindex S w (Group) | |
2076 @kindex C-w (Group) | |
2077 @findex gnus-group-kill-region | |
2078 Kill all groups in the region (@code{gnus-group-kill-region}). | |
2079 | |
2080 @item S z | |
2081 @kindex S z (Group) | |
2082 @findex gnus-group-kill-all-zombies | |
2083 Kill all zombie groups (@code{gnus-group-kill-all-zombies}). | |
2084 | |
2085 @item S C-k | |
2086 @kindex S C-k (Group) | |
2087 @findex gnus-group-kill-level | |
2088 Kill all groups on a certain level (@code{gnus-group-kill-level}). | |
2089 These groups can't be yanked back after killing, so this command should | |
2090 be used with some caution. The only time where this command comes in | |
2091 really handy is when you have a @file{.newsrc} with lots of unsubscribed | |
2092 groups that you want to get rid off. @kbd{S C-k} on level 7 will | |
2093 kill off all unsubscribed groups that do not have message numbers in the | |
2094 @file{.newsrc} file. | |
2095 | |
2096 @end table | |
2097 | |
2098 Also @pxref{Group Levels}. | |
2099 | |
2100 | |
2101 @node Group Data | |
2102 @section Group Data | |
2103 | |
2104 @table @kbd | |
2105 | |
2106 @item c | |
2107 @kindex c (Group) | |
2108 @findex gnus-group-catchup-current | |
2109 @vindex gnus-group-catchup-group-hook | |
2110 @c @icon{gnus-group-catchup-current} | |
2111 Mark all unticked articles in this group as read | |
2112 (@code{gnus-group-catchup-current}). | |
2113 @code{gnus-group-catchup-group-hook} is called when catching up a group from | |
2114 the group buffer. | |
2115 | |
2116 @item C | |
2117 @kindex C (Group) | |
2118 @findex gnus-group-catchup-current-all | |
2119 Mark all articles in this group, even the ticked ones, as read | |
2120 (@code{gnus-group-catchup-current-all}). | |
2121 | |
2122 @item M-c | |
2123 @kindex M-c (Group) | |
2124 @findex gnus-group-clear-data | |
2125 Clear the data from the current group---nix out marks and the list of | |
2126 read articles (@code{gnus-group-clear-data}). | |
2127 | |
2128 @item M-x gnus-group-clear-data-on-native-groups | |
2129 @kindex M-x gnus-group-clear-data-on-native-groups | |
2130 @findex gnus-group-clear-data-on-native-groups | |
2131 If you have switched from one @sc{nntp} server to another, all your marks | |
2132 and read ranges have become worthless. You can use this command to | |
2133 clear out all data that you have on your native groups. Use with | |
2134 caution. | |
2135 | |
2136 @end table | |
2137 | |
2138 | |
2139 @node Group Levels | |
2140 @section Group Levels | |
2141 @cindex group level | |
2142 @cindex level | |
2143 | |
2144 All groups have a level of @dfn{subscribedness}. For instance, if a | |
2145 group is on level 2, it is more subscribed than a group on level 5. You | |
2146 can ask Gnus to just list groups on a given level or lower | |
2147 (@pxref{Listing Groups}), or to just check for new articles in groups on | |
2148 a given level or lower (@pxref{Scanning New Messages}). | |
2149 | |
2150 Remember: The higher the level of the group, the less important it is. | |
2151 | |
2152 @table @kbd | |
2153 | |
2154 @item S l | |
2155 @kindex S l (Group) | |
2156 @findex gnus-group-set-current-level | |
2157 Set the level of the current group. If a numeric prefix is given, the | |
2158 next @var{n} groups will have their levels set. The user will be | |
2159 prompted for a level. | |
2160 @end table | |
2161 | |
2162 @vindex gnus-level-killed | |
2163 @vindex gnus-level-zombie | |
2164 @vindex gnus-level-unsubscribed | |
2165 @vindex gnus-level-subscribed | |
2166 Gnus considers groups from levels 1 to | |
2167 @code{gnus-level-subscribed} (inclusive) (default 5) to be subscribed, | |
2168 @code{gnus-level-subscribed} (exclusive) and | |
2169 @code{gnus-level-unsubscribed} (inclusive) (default 7) to be | |
2170 unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead) | |
2171 (default 8) and @code{gnus-level-killed} to be killed (completely dead) | |
2172 (default 9). Gnus treats subscribed and unsubscribed groups exactly the | |
2173 same, but zombie and killed groups have no information on what articles | |
2174 you have read, etc, stored. This distinction between dead and living | |
2175 groups isn't done because it is nice or clever, it is done purely for | |
2176 reasons of efficiency. | |
2177 | |
2178 It is recommended that you keep all your mail groups (if any) on quite | |
2179 low levels (e.g. 1 or 2). | |
2180 | |
33078 | 2181 Maybe the following description of the default behavior of Gnus helps to |
2182 understand what these levels are all about. By default, Gnus shows you | |
2183 subscribed nonempty groups, but by hitting @kbd{L} you can have it show | |
2184 empty subscribed groups and unsubscribed groups, too. Type @kbd{l} to | |
2185 go back to showing nonempty subscribed groups again. Thus, unsubscribed | |
2186 groups are hidden, in a way. | |
2187 | |
2188 Zombie and killed groups are similar to unsubscribed groups in that they | |
2189 are hidden by default. But they are different from subscribed and | |
2190 unsubscribed groups in that Gnus doesn't ask the news server for | |
2191 information (number of messages, number of unread messages) on zombie | |
2192 and killed groups. Normally, you use @kbd{C-k} to kill the groups you | |
2193 aren't interested in. If most groups are killed, Gnus is faster. | |
2194 | |
2195 Why does Gnus distinguish between zombie and killed groups? Well, when | |
2196 a new group arrives on the server, Gnus by default makes it a zombie | |
2197 group. This means that you are normally not bothered with new groups, | |
2198 but you can type @kbd{A z} to get a list of all new groups. Subscribe | |
2199 the ones you like and kill the ones you don't want. (@kbd{A k} shows a | |
2200 list of killed groups.) | |
2201 | |
25829 | 2202 If you want to play with the level variables, you should show some care. |
2203 Set them once, and don't touch them ever again. Better yet, don't touch | |
2204 them at all unless you know exactly what you're doing. | |
2205 | |
2206 @vindex gnus-level-default-unsubscribed | |
2207 @vindex gnus-level-default-subscribed | |
2208 Two closely related variables are @code{gnus-level-default-subscribed} | |
2209 (default 3) and @code{gnus-level-default-unsubscribed} (default 6), | |
2210 which are the levels that new groups will be put on if they are | |
2211 (un)subscribed. These two variables should, of course, be inside the | |
2212 relevant valid ranges. | |
2213 | |
2214 @vindex gnus-keep-same-level | |
2215 If @code{gnus-keep-same-level} is non-@code{nil}, some movement commands | |
2216 will only move to groups of the same level (or lower). In | |
2217 particular, going from the last article in one group to the next group | |
2218 will go to the next group of the same level (or lower). This might be | |
2219 handy if you want to read the most important groups before you read the | |
2220 rest. | |
2221 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2222 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
|
2223 one with the best level. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2224 |
25829 | 2225 @vindex gnus-group-default-list-level |
2226 All groups with a level less than or equal to | |
2227 @code{gnus-group-default-list-level} will be listed in the group buffer | |
2228 by default. | |
2229 | |
2230 @vindex gnus-group-list-inactive-groups | |
2231 If @code{gnus-group-list-inactive-groups} is non-@code{nil}, non-active | |
2232 groups will be listed along with the unread groups. This variable is | |
2233 @code{t} by default. If it is @code{nil}, inactive groups won't be | |
2234 listed. | |
2235 | |
2236 @vindex gnus-group-use-permanent-levels | |
2237 If @code{gnus-group-use-permanent-levels} is non-@code{nil}, once you | |
2238 give a level prefix to @kbd{g} or @kbd{l}, all subsequent commands will | |
2239 use this level as the ``work'' level. | |
2240 | |
2241 @vindex gnus-activate-level | |
2242 Gnus will normally just activate (i. e., query the server about) groups | |
2243 on level @code{gnus-activate-level} or less. If you don't want to | |
2244 activate unsubscribed groups, for instance, you might set this variable | |
2245 to 5. The default is 6. | |
2246 | |
2247 | |
2248 @node Group Score | |
2249 @section Group Score | |
2250 @cindex group score | |
2251 @cindex group rank | |
2252 @cindex rank | |
2253 | |
2254 You would normally keep important groups on high levels, but that scheme | |
2255 is somewhat restrictive. Don't you wish you could have Gnus sort the | |
2256 group buffer according to how often you read groups, perhaps? Within | |
2257 reason? | |
2258 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2259 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
|
2260 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
|
2261 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
|
2262 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
|
2263 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
|
2264 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
|
2265 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
|
2266 least significant part.)) |
25829 | 2267 |
2268 @findex gnus-summary-bubble-group | |
2269 If you want groups you read often to get higher scores than groups you | |
2270 read seldom you can add the @code{gnus-summary-bubble-group} function to | |
2271 the @code{gnus-summary-exit-hook} hook. This will result (after | |
2272 sorting) in a bubbling sort of action. If you want to see that in | |
2273 action after each summary exit, you can add | |
2274 @code{gnus-group-sort-groups-by-rank} or | |
2275 @code{gnus-group-sort-groups-by-score} to the same hook, but that will | |
2276 slow things down somewhat. | |
2277 | |
2278 | |
2279 @node Marking Groups | |
2280 @section Marking Groups | |
2281 @cindex marking groups | |
2282 | |
2283 If you want to perform some command on several groups, and they appear | |
2284 subsequently in the group buffer, you would normally just give a | |
2285 numerical prefix to the command. Most group commands will then do your | |
2286 bidding on those groups. | |
2287 | |
2288 However, if the groups are not in sequential order, you can still | |
2289 perform a command on several groups. You simply mark the groups first | |
2290 with the process mark and then execute the command. | |
2291 | |
2292 @table @kbd | |
2293 | |
2294 @item # | |
2295 @kindex # (Group) | |
2296 @itemx M m | |
2297 @kindex M m (Group) | |
2298 @findex gnus-group-mark-group | |
2299 Set the mark on the current group (@code{gnus-group-mark-group}). | |
2300 | |
2301 @item M-# | |
2302 @kindex M-# (Group) | |
2303 @itemx M u | |
2304 @kindex M u (Group) | |
2305 @findex gnus-group-unmark-group | |
2306 Remove the mark from the current group | |
2307 (@code{gnus-group-unmark-group}). | |
2308 | |
2309 @item M U | |
2310 @kindex M U (Group) | |
2311 @findex gnus-group-unmark-all-groups | |
2312 Remove the mark from all groups (@code{gnus-group-unmark-all-groups}). | |
2313 | |
2314 @item M w | |
2315 @kindex M w (Group) | |
2316 @findex gnus-group-mark-region | |
2317 Mark all groups between point and mark (@code{gnus-group-mark-region}). | |
2318 | |
2319 @item M b | |
2320 @kindex M b (Group) | |
2321 @findex gnus-group-mark-buffer | |
2322 Mark all groups in the buffer (@code{gnus-group-mark-buffer}). | |
2323 | |
2324 @item M r | |
2325 @kindex M r (Group) | |
2326 @findex gnus-group-mark-regexp | |
2327 Mark all groups that match some regular expression | |
2328 (@code{gnus-group-mark-regexp}). | |
2329 @end table | |
2330 | |
2331 Also @pxref{Process/Prefix}. | |
2332 | |
2333 @findex gnus-group-universal-argument | |
2334 If you want to execute some command on all groups that have been marked | |
2335 with the process mark, you can use the @kbd{M-&} | |
2336 (@code{gnus-group-universal-argument}) command. It will prompt you for | |
2337 the command to be executed. | |
2338 | |
2339 | |
2340 @node Foreign Groups | |
2341 @section Foreign Groups | |
2342 @cindex foreign groups | |
2343 | |
2344 Below are some group mode commands for making and editing general foreign | |
2345 groups, as well as commands to ease the creation of a few | |
2346 special-purpose groups. All these commands insert the newly created | |
2347 groups under point---@code{gnus-subscribe-newsgroup-method} is not | |
2348 consulted. | |
2349 | |
2350 @table @kbd | |
2351 | |
2352 @item G m | |
2353 @kindex G m (Group) | |
2354 @findex gnus-group-make-group | |
2355 @cindex making groups | |
2356 Make a new group (@code{gnus-group-make-group}). Gnus will prompt you | |
2357 for a name, a method and possibly an @dfn{address}. For an easier way | |
2358 to subscribe to @sc{nntp} groups, @pxref{Browse Foreign Server}. | |
2359 | |
2360 @item G r | |
2361 @kindex G r (Group) | |
2362 @findex gnus-group-rename-group | |
2363 @cindex renaming groups | |
2364 Rename the current group to something else | |
2365 (@code{gnus-group-rename-group}). This is valid only on some | |
2366 groups---mail groups mostly. This command might very well be quite slow | |
2367 on some backends. | |
2368 | |
2369 @item G c | |
2370 @kindex G c (Group) | |
2371 @cindex customizing | |
2372 @findex gnus-group-customize | |
2373 Customize the group parameters (@code{gnus-group-customize}). | |
2374 | |
2375 @item G e | |
2376 @kindex G e (Group) | |
2377 @findex gnus-group-edit-group-method | |
2378 @cindex renaming groups | |
2379 Enter a buffer where you can edit the select method of the current | |
2380 group (@code{gnus-group-edit-group-method}). | |
2381 | |
2382 @item G p | |
2383 @kindex G p (Group) | |
2384 @findex gnus-group-edit-group-parameters | |
2385 Enter a buffer where you can edit the group parameters | |
2386 (@code{gnus-group-edit-group-parameters}). | |
2387 | |
2388 @item G E | |
2389 @kindex G E (Group) | |
2390 @findex gnus-group-edit-group | |
2391 Enter a buffer where you can edit the group info | |
2392 (@code{gnus-group-edit-group}). | |
2393 | |
2394 @item G d | |
2395 @kindex G d (Group) | |
2396 @findex gnus-group-make-directory-group | |
2397 @cindex nndir | |
2398 Make a directory group (@pxref{Directory Groups}). You will be prompted | |
2399 for a directory name (@code{gnus-group-make-directory-group}). | |
2400 | |
2401 @item G h | |
2402 @kindex G h (Group) | |
2403 @cindex help group | |
2404 @findex gnus-group-make-help-group | |
2405 Make the Gnus help group (@code{gnus-group-make-help-group}). | |
2406 | |
2407 @item G a | |
2408 @kindex G a (Group) | |
2409 @cindex (ding) archive | |
2410 @cindex archive group | |
2411 @findex gnus-group-make-archive-group | |
2412 @vindex gnus-group-archive-directory | |
2413 @vindex gnus-group-recent-archive-directory | |
2414 Make a Gnus archive group (@code{gnus-group-make-archive-group}). By | |
2415 default a group pointing to the most recent articles will be created | |
2416 (@code{gnus-group-recent-archive-directory}), but given a prefix, a full | |
2417 group will be created from @code{gnus-group-archive-directory}. | |
2418 | |
2419 @item G k | |
2420 @kindex G k (Group) | |
2421 @findex gnus-group-make-kiboze-group | |
2422 @cindex nnkiboze | |
2423 Make a kiboze group. You will be prompted for a name, for a regexp to | |
2424 match groups to be ``included'' in the kiboze group, and a series of | |
2425 strings to match on headers (@code{gnus-group-make-kiboze-group}). | |
2426 @xref{Kibozed Groups}. | |
2427 | |
2428 @item G D | |
2429 @kindex G D (Group) | |
2430 @findex gnus-group-enter-directory | |
2431 @cindex nneething | |
2432 Read an arbitrary directory as if it were a newsgroup with the | |
2433 @code{nneething} backend (@code{gnus-group-enter-directory}). | |
2434 @xref{Anything Groups}. | |
2435 | |
2436 @item G f | |
2437 @kindex G f (Group) | |
2438 @findex gnus-group-make-doc-group | |
2439 @cindex ClariNet Briefs | |
2440 @cindex nndoc | |
2441 Make a group based on some file or other | |
2442 (@code{gnus-group-make-doc-group}). If you give a prefix to this | |
2443 command, you will be prompted for a file name and a file type. | |
2444 Currently supported types are @code{babyl}, @code{mbox}, @code{digest}, | |
2445 @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
|
2446 @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
|
2447 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
|
2448 type. @xref{Document Groups}. |
25829 | 2449 |
2450 @item G u | |
2451 @kindex G u (Group) | |
2452 @vindex gnus-useful-groups | |
2453 @findex gnus-group-make-useful-group | |
2454 Create one of the groups mentioned in @code{gnus-useful-groups} | |
2455 (@code{gnus-group-make-useful-group}). | |
2456 | |
2457 @item G w | |
2458 @kindex G w (Group) | |
2459 @findex gnus-group-make-web-group | |
2460 @cindex DejaNews | |
2461 @cindex Alta Vista | |
2462 @cindex InReference | |
2463 @cindex nnweb | |
2464 Make an ephemeral group based on a web search | |
2465 (@code{gnus-group-make-web-group}). If you give a prefix to this | |
2466 command, make a solid group instead. You will be prompted for the | |
2467 search engine type and the search string. Valid search engine types | |
2468 include @code{dejanews}, @code{altavista} and @code{reference}. | |
2469 @xref{Web Searches}. | |
2470 | |
2471 If you use the @code{dejanews} search engine, you can limit the search | |
2472 to a particular group by using a match string like | |
2473 @samp{~g alt.sysadmin.recovery shaving}. | |
2474 | |
2475 @item G DEL | |
2476 @kindex G DEL (Group) | |
2477 @findex gnus-group-delete-group | |
2478 This function will delete the current group | |
2479 (@code{gnus-group-delete-group}). If given a prefix, this function will | |
2480 actually delete all the articles in the group, and forcibly remove the | |
2481 group itself from the face of the Earth. Use a prefix only if you are | |
2482 absolutely sure of what you are doing. This command can't be used on | |
2483 read-only groups (like @code{nntp} group), though. | |
2484 | |
2485 @item G V | |
2486 @kindex G V (Group) | |
2487 @findex gnus-group-make-empty-virtual | |
2488 Make a new, fresh, empty @code{nnvirtual} group | |
2489 (@code{gnus-group-make-empty-virtual}). @xref{Virtual Groups}. | |
2490 | |
2491 @item G v | |
2492 @kindex G v (Group) | |
2493 @findex gnus-group-add-to-virtual | |
2494 Add the current group to an @code{nnvirtual} group | |
2495 (@code{gnus-group-add-to-virtual}). Uses the process/prefix convention. | |
2496 @end table | |
2497 | |
2498 @xref{Select Methods}, for more information on the various select | |
2499 methods. | |
2500 | |
2501 @vindex gnus-activate-foreign-newsgroups | |
2502 If @code{gnus-activate-foreign-newsgroups} is a positive number, | |
2503 Gnus will check all foreign groups with this level or lower at startup. | |
2504 This might take quite a while, especially if you subscribe to lots of | |
2505 groups from different @sc{nntp} servers. Also @pxref{Group Levels}; | |
2506 @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
|
2507 newsgroups. |
25829 | 2508 |
2509 | |
2510 @node Group Parameters | |
2511 @section Group Parameters | |
2512 @cindex group parameters | |
2513 | |
2514 The group parameters store information local to a particular group. | |
2515 Here's an example group parameter list: | |
2516 | |
2517 @example | |
2518 ((to-address . "ding@@gnus.org") | |
2519 (auto-expire . t)) | |
2520 @end example | |
2521 | |
2522 We see that each element consists of a "dotted pair"---the thing before | |
2523 the dot is the key, while the thing after the dot is the value. All the | |
2524 parameters have this form @emph{except} local variable specs, which are | |
2525 not dotted pairs, but proper lists. | |
2526 | |
2527 The following group parameters can be used: | |
2528 | |
2529 @table @code | |
2530 @item to-address | |
2531 @cindex to-address | |
2532 Address used by when doing followups and new posts. | |
2533 | |
2534 @example | |
2535 (to-address . "some@@where.com") | |
2536 @end example | |
2537 | |
2538 This is primarily useful in mail groups that represent closed mailing | |
2539 lists---mailing lists where it's expected that everybody that writes to | |
2540 the mailing list is subscribed to it. Since using this parameter | |
2541 ensures that the mail only goes to the mailing list itself, it means | |
2542 that members won't receive two copies of your followups. | |
2543 | |
2544 Using @code{to-address} will actually work whether the group is foreign | |
2545 or not. Let's say there's a group on the server that is called | |
2546 @samp{fa.4ad-l}. This is a real newsgroup, but the server has gotten | |
2547 the articles from a mail-to-news gateway. Posting directly to this | |
2548 group is therefore impossible---you have to send mail to the mailing | |
2549 list address instead. | |
2550 | |
2551 @item to-list | |
2552 @cindex to-list | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2553 Address used when doing @kbd{a} in that group. |
25829 | 2554 |
2555 @example | |
2556 (to-list . "some@@where.com") | |
2557 @end example | |
2558 | |
2559 It is totally ignored | |
2560 when doing a followup---except that if it is present in a news group, | |
2561 you'll get mail group semantics when doing @kbd{f}. | |
2562 | |
2563 If you do an @kbd{a} command in a mail group and you have neither a | |
2564 @code{to-list} group parameter nor a @code{to-address} group parameter, | |
2565 then a @code{to-list} group parameter will be added automatically upon | |
2566 sending the message if @code{gnus-add-to-list} is set to @code{t}. | |
2567 @vindex gnus-add-to-list | |
2568 | |
2569 If you do an @kbd{a} command in a mail group and you don't have a | |
2570 @code{to-list} group parameter, one will be added automatically upon | |
2571 sending the message. | |
2572 | |
2573 @item visible | |
2574 @cindex visible | |
2575 If the group parameter list has the element @code{(visible . t)}, | |
2576 that group will always be visible in the Group buffer, regardless | |
2577 of whether it has any unread articles. | |
2578 | |
2579 @item broken-reply-to | |
2580 @cindex broken-reply-to | |
2581 Elements like @code{(broken-reply-to . t)} signals that @code{Reply-To} | |
2582 headers in this group are to be ignored. This can be useful if you're | |
2583 reading a mailing list group where the listserv has inserted | |
2584 @code{Reply-To} headers that point back to the listserv itself. This is | |
2585 broken behavior. So there! | |
2586 | |
2587 @item to-group | |
2588 @cindex to-group | |
2589 Elements like @code{(to-group . "some.group.name")} means that all | |
2590 posts in that group will be sent to @code{some.group.name}. | |
2591 | |
2592 @item newsgroup | |
2593 @cindex newsgroup | |
2594 If you have @code{(newsgroup . t)} in the group parameter list, Gnus | |
2595 will treat all responses as if they were responses to news articles. | |
2596 This can be useful if you have a mail group that's really a mirror of a | |
2597 news group. | |
2598 | |
2599 @item gcc-self | |
2600 @cindex gcc-self | |
2601 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
|
2602 composed messages will be @code{Gcc}'d to the current group. If |
25829 | 2603 @code{(gcc-self . none)} is present, no @code{Gcc:} header will be |
2604 generated, if @code{(gcc-self . "string")} is present, this string will | |
2605 be inserted literally as a @code{gcc} header. This parameter takes | |
2606 precedence over any default @code{Gcc} rules as described later | |
2607 (@pxref{Archived Messages}). | |
2608 | |
2609 @item auto-expire | |
2610 @cindex auto-expire | |
2611 If the group parameter has an element that looks like @code{(auto-expire | |
2612 . t)}, all articles read will be marked as expirable. For an | |
2613 alternative approach, @pxref{Expiring Mail}. | |
2614 | |
2615 @item total-expire | |
2616 @cindex total-expire | |
2617 If the group parameter has an element that looks like | |
2618 @code{(total-expire . t)}, all read articles will be put through the | |
2619 expiry process, even if they are not marked as expirable. Use with | |
2620 caution. Unread, ticked and dormant articles are not eligible for | |
2621 expiry. | |
2622 | |
2623 @item expiry-wait | |
2624 @cindex expiry-wait | |
2625 @vindex nnmail-expiry-wait-function | |
2626 If the group parameter has an element that looks like @code{(expiry-wait | |
2627 . 10)}, this value will override any @code{nnmail-expiry-wait} and | |
2628 @code{nnmail-expiry-wait-function} when expiring expirable messages. | |
2629 The value can either be a number of days (not necessarily an integer) or | |
2630 the symbols @code{never} or @code{immediate}. | |
2631 | |
2632 @item score-file | |
2633 @cindex score file group parameter | |
2634 Elements that look like @code{(score-file . "file")} will make | |
2635 @file{file} into the current score file for the group in question. All | |
2636 interactive score entries will be put into this file. | |
2637 | |
2638 @item adapt-file | |
2639 @cindex adapt file group parameter | |
2640 Elements that look like @code{(adapt-file . "file")} will make | |
2641 @file{file} into the current adaptive file for the group in question. | |
2642 All adaptive score entries will be put into this file. | |
2643 | |
2644 @item admin-address | |
2645 When unsubscribing from a mailing list you should never send the | |
2646 unsubscription notice to the mailing list itself. Instead, you'd send | |
2647 messages to the administrative address. This parameter allows you to | |
2648 put the admin address somewhere convenient. | |
2649 | |
2650 @item display | |
2651 Elements that look like @code{(display . MODE)} say which articles to | |
2652 display on entering the group. Valid values are: | |
2653 | |
2654 @table @code | |
2655 @item all | |
2656 Display all articles, both read and unread. | |
2657 | |
2658 @item default | |
2659 Display the default visible articles, which normally includes unread and | |
2660 ticked articles. | |
2661 @end table | |
2662 | |
2663 @item comment | |
2664 Elements that look like @code{(comment . "This is a comment")} | |
2665 are arbitrary comments on the group. They are currently ignored by | |
2666 Gnus, but provide a place for you to store information on particular | |
2667 groups. | |
2668 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2669 @item charset |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2670 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
|
2671 @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
|
2672 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
|
2673 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2674 @item (@var{variable} @var{form}) |
25829 | 2675 You can use the group parameters to set variables local to the group you |
2676 are entering. If you want to turn threading off in @samp{news.answers}, | |
2677 you could put @code{(gnus-show-threads nil)} in the group parameters of | |
2678 that group. @code{gnus-show-threads} will be made into a local variable | |
2679 in the summary buffer you enter, and the form @code{nil} will be | |
2680 @code{eval}ed there. | |
2681 | |
2682 This can also be used as a group-specific hook function, if you'd like. | |
2683 If you want to hear a beep when you enter a group, you could put | |
2684 something like @code{(dummy-variable (ding))} in the parameters of that | |
2685 group. @code{dummy-variable} will be set to the result of the | |
2686 @code{(ding)} form, but who cares? | |
2687 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2688 @item posting-style |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2689 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
|
2690 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
|
2691 @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
|
2692 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
|
2693 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
|
2694 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2695 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
|
2696 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
|
2697 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
|
2698 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2699 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2700 (posting-style |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2701 (name "Funky Name") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2702 (signature "Funky Signature")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2703 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2704 |
25829 | 2705 @end table |
2706 | |
2707 Use the @kbd{G p} command to edit group parameters of a group. You | |
2708 might also be interested in reading about topic parameters (@pxref{Topic | |
2709 Parameters}). | |
2710 | |
2711 | |
2712 @node Listing Groups | |
2713 @section Listing Groups | |
2714 @cindex group listing | |
2715 | |
2716 These commands all list various slices of the groups available. | |
2717 | |
2718 @table @kbd | |
2719 | |
2720 @item l | |
2721 @itemx A s | |
2722 @kindex A s (Group) | |
2723 @kindex l (Group) | |
2724 @findex gnus-group-list-groups | |
2725 List all groups that have unread articles | |
2726 (@code{gnus-group-list-groups}). If the numeric prefix is used, this | |
2727 command will list only groups of level ARG and lower. By default, it | |
2728 only lists groups of level five (i. e., | |
2729 @code{gnus-group-default-list-level}) or lower (i.e., just subscribed | |
2730 groups). | |
2731 | |
2732 @item L | |
2733 @itemx A u | |
2734 @kindex A u (Group) | |
2735 @kindex L (Group) | |
2736 @findex gnus-group-list-all-groups | |
2737 List all groups, whether they have unread articles or not | |
2738 (@code{gnus-group-list-all-groups}). If the numeric prefix is used, | |
2739 this command will list only groups of level ARG and lower. By default, | |
2740 it lists groups of level seven or lower (i.e., just subscribed and | |
2741 unsubscribed groups). | |
2742 | |
2743 @item A l | |
2744 @kindex A l (Group) | |
2745 @findex gnus-group-list-level | |
2746 List all unread groups on a specific level | |
2747 (@code{gnus-group-list-level}). If given a prefix, also list the groups | |
2748 with no unread articles. | |
2749 | |
2750 @item A k | |
2751 @kindex A k (Group) | |
2752 @findex gnus-group-list-killed | |
2753 List all killed groups (@code{gnus-group-list-killed}). If given a | |
2754 prefix argument, really list all groups that are available, but aren't | |
2755 currently (un)subscribed. This could entail reading the active file | |
2756 from the server. | |
2757 | |
2758 @item A z | |
2759 @kindex A z (Group) | |
2760 @findex gnus-group-list-zombies | |
2761 List all zombie groups (@code{gnus-group-list-zombies}). | |
2762 | |
2763 @item A m | |
2764 @kindex A m (Group) | |
2765 @findex gnus-group-list-matching | |
2766 List all unread, subscribed groups with names that match a regexp | |
2767 (@code{gnus-group-list-matching}). | |
2768 | |
2769 @item A M | |
2770 @kindex A M (Group) | |
2771 @findex gnus-group-list-all-matching | |
2772 List groups that match a regexp (@code{gnus-group-list-all-matching}). | |
2773 | |
2774 @item A A | |
2775 @kindex A A (Group) | |
2776 @findex gnus-group-list-active | |
2777 List absolutely all groups in the active file(s) of the | |
2778 server(s) you are connected to (@code{gnus-group-list-active}). This | |
2779 might very well take quite a while. It might actually be a better idea | |
2780 to do a @kbd{A M} to list all matching, and just give @samp{.} as the | |
2781 thing to match on. Also note that this command may list groups that | |
2782 don't exist (yet)---these will be listed as if they were killed groups. | |
2783 Take the output with some grains of salt. | |
2784 | |
2785 @item A a | |
2786 @kindex A a (Group) | |
2787 @findex gnus-group-apropos | |
2788 List all groups that have names that match a regexp | |
2789 (@code{gnus-group-apropos}). | |
2790 | |
2791 @item A d | |
2792 @kindex A d (Group) | |
2793 @findex gnus-group-description-apropos | |
2794 List all groups that have names or descriptions that match a regexp | |
2795 (@code{gnus-group-description-apropos}). | |
2796 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2797 @item A c |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2798 @kindex A c (Group) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2799 @findex gnus-group-list-cached |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2800 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
|
2801 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2802 @item A ? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2803 @kindex A ? (Group) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2804 @findex gnus-group-list-dormant |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2805 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
|
2806 |
25829 | 2807 @end table |
2808 | |
2809 @vindex gnus-permanently-visible-groups | |
2810 @cindex visible group parameter | |
2811 Groups that match the @code{gnus-permanently-visible-groups} regexp will | |
2812 always be shown, whether they have unread articles or not. You can also | |
2813 add the @code{visible} element to the group parameters in question to | |
2814 get the same effect. | |
2815 | |
2816 @vindex gnus-list-groups-with-ticked-articles | |
2817 Groups that have just ticked articles in it are normally listed in the | |
2818 group buffer. If @code{gnus-list-groups-with-ticked-articles} is | |
2819 @code{nil}, these groups will be treated just like totally empty | |
2820 groups. It is @code{t} by default. | |
2821 | |
2822 | |
2823 @node Sorting Groups | |
2824 @section Sorting Groups | |
2825 @cindex sorting groups | |
2826 | |
2827 @kindex C-c C-s (Group) | |
2828 @findex gnus-group-sort-groups | |
2829 @vindex gnus-group-sort-function | |
2830 The @kbd{C-c C-s} (@code{gnus-group-sort-groups}) command sorts the | |
2831 group buffer according to the function(s) given by the | |
2832 @code{gnus-group-sort-function} variable. Available sorting functions | |
2833 include: | |
2834 | |
2835 @table @code | |
2836 | |
2837 @item gnus-group-sort-by-alphabet | |
2838 @findex gnus-group-sort-by-alphabet | |
2839 Sort the group names alphabetically. This is the default. | |
2840 | |
2841 @item gnus-group-sort-by-real-name | |
2842 @findex gnus-group-sort-by-real-name | |
2843 Sort the group alphabetically on the real (unprefixed) group names. | |
2844 | |
2845 @item gnus-group-sort-by-level | |
2846 @findex gnus-group-sort-by-level | |
2847 Sort by group level. | |
2848 | |
2849 @item gnus-group-sort-by-score | |
2850 @findex gnus-group-sort-by-score | |
2851 Sort by group score. @xref{Group Score}. | |
2852 | |
2853 @item gnus-group-sort-by-rank | |
2854 @findex gnus-group-sort-by-rank | |
2855 Sort by group score and then the group level. The level and the score | |
2856 are, when taken together, the group's @dfn{rank}. @xref{Group Score}. | |
2857 | |
2858 @item gnus-group-sort-by-unread | |
2859 @findex gnus-group-sort-by-unread | |
2860 Sort by number of unread articles. | |
2861 | |
2862 @item gnus-group-sort-by-method | |
2863 @findex gnus-group-sort-by-method | |
2864 Sort alphabetically on the select method. | |
2865 | |
2866 | |
2867 @end table | |
2868 | |
2869 @code{gnus-group-sort-function} can also be a list of sorting | |
2870 functions. In that case, the most significant sort key function must be | |
2871 the last one. | |
2872 | |
2873 | |
2874 There are also a number of commands for sorting directly according to | |
2875 some sorting criteria: | |
2876 | |
2877 @table @kbd | |
2878 @item G S a | |
2879 @kindex G S a (Group) | |
2880 @findex gnus-group-sort-groups-by-alphabet | |
2881 Sort the group buffer alphabetically by group name | |
2882 (@code{gnus-group-sort-groups-by-alphabet}). | |
2883 | |
2884 @item G S u | |
2885 @kindex G S u (Group) | |
2886 @findex gnus-group-sort-groups-by-unread | |
2887 Sort the group buffer by the number of unread articles | |
2888 (@code{gnus-group-sort-groups-by-unread}). | |
2889 | |
2890 @item G S l | |
2891 @kindex G S l (Group) | |
2892 @findex gnus-group-sort-groups-by-level | |
2893 Sort the group buffer by group level | |
2894 (@code{gnus-group-sort-groups-by-level}). | |
2895 | |
2896 @item G S v | |
2897 @kindex G S v (Group) | |
2898 @findex gnus-group-sort-groups-by-score | |
2899 Sort the group buffer by group score | |
2900 (@code{gnus-group-sort-groups-by-score}). @xref{Group Score}. | |
2901 | |
2902 @item G S r | |
2903 @kindex G S r (Group) | |
2904 @findex gnus-group-sort-groups-by-rank | |
2905 Sort the group buffer by group rank | |
2906 (@code{gnus-group-sort-groups-by-rank}). @xref{Group Score}. | |
2907 | |
2908 @item G S m | |
2909 @kindex G S m (Group) | |
2910 @findex gnus-group-sort-groups-by-method | |
2911 Sort the group buffer alphabetically by backend name | |
2912 (@code{gnus-group-sort-groups-by-method}). | |
2913 | |
2914 @end table | |
2915 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2916 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
|
2917 (@pxref{Process/Prefix}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2918 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2919 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
|
2920 commands will sort in reverse order. |
25829 | 2921 |
2922 You can also sort a subset of the groups: | |
2923 | |
2924 @table @kbd | |
2925 @item G P a | |
2926 @kindex G P a (Group) | |
2927 @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
|
2928 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
|
2929 (@code{gnus-group-sort-selected-groups-by-alphabet}). |
25829 | 2930 |
2931 @item G P u | |
2932 @kindex G P u (Group) | |
2933 @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
|
2934 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
|
2935 (@code{gnus-group-sort-selected-groups-by-unread}). |
25829 | 2936 |
2937 @item G P l | |
2938 @kindex G P l (Group) | |
2939 @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
|
2940 Sort the groups by group level |
25829 | 2941 (@code{gnus-group-sort-selected-groups-by-level}). |
2942 | |
2943 @item G P v | |
2944 @kindex G P v (Group) | |
2945 @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
|
2946 Sort the groups by group score |
25829 | 2947 (@code{gnus-group-sort-selected-groups-by-score}). @xref{Group Score}. |
2948 | |
2949 @item G P r | |
2950 @kindex G P r (Group) | |
2951 @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
|
2952 Sort the groups by group rank |
25829 | 2953 (@code{gnus-group-sort-selected-groups-by-rank}). @xref{Group Score}. |
2954 | |
2955 @item G P m | |
2956 @kindex G P m (Group) | |
2957 @findex gnus-group-sort-selected-groups-by-method | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2958 Sort the groups alphabetically by backend name |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
2959 (@code{gnus-group-sort-selected-groups-by-method}). |
25829 | 2960 |
2961 @end table | |
2962 | |
2963 | |
2964 | |
2965 @node Group Maintenance | |
2966 @section Group Maintenance | |
2967 @cindex bogus groups | |
2968 | |
2969 @table @kbd | |
2970 @item b | |
2971 @kindex b (Group) | |
2972 @findex gnus-group-check-bogus-groups | |
2973 Find bogus groups and delete them | |
2974 (@code{gnus-group-check-bogus-groups}). | |
2975 | |
2976 @item F | |
2977 @kindex F (Group) | |
2978 @findex gnus-group-find-new-groups | |
2979 Find new groups and process them (@code{gnus-group-find-new-groups}). | |
2980 With 1 @kbd{C-u}, use the @code{ask-server} method to query the server | |
2981 for new groups. With 2 @kbd{C-u}'s, use most complete method possible | |
2982 to query the server for new groups, and subscribe the new groups as | |
2983 zombies. | |
2984 | |
2985 @item C-c C-x | |
2986 @kindex C-c C-x (Group) | |
2987 @findex gnus-group-expire-articles | |
2988 Run all expirable articles in the current group through the expiry | |
2989 process (if any) (@code{gnus-group-expire-articles}). | |
2990 | |
2991 @item C-c M-C-x | |
2992 @kindex C-c M-C-x (Group) | |
2993 @findex gnus-group-expire-all-groups | |
2994 Run all articles in all groups through the expiry process | |
2995 (@code{gnus-group-expire-all-groups}). | |
2996 | |
2997 @end table | |
2998 | |
2999 | |
3000 @node Browse Foreign Server | |
3001 @section Browse Foreign Server | |
3002 @cindex foreign servers | |
3003 @cindex browsing servers | |
3004 | |
3005 @table @kbd | |
3006 @item B | |
3007 @kindex B (Group) | |
3008 @findex gnus-group-browse-foreign-server | |
3009 You will be queried for a select method and a server name. Gnus will | |
3010 then attempt to contact this server and let you browse the groups there | |
3011 (@code{gnus-group-browse-foreign-server}). | |
3012 @end table | |
3013 | |
3014 @findex gnus-browse-mode | |
3015 A new buffer with a list of available groups will appear. This buffer | |
3016 will use the @code{gnus-browse-mode}. This buffer looks a bit (well, | |
3017 a lot) like a normal group buffer. | |
3018 | |
3019 Here's a list of keystrokes available in the browse mode: | |
3020 | |
3021 @table @kbd | |
3022 @item n | |
3023 @kindex n (Browse) | |
3024 @findex gnus-group-next-group | |
3025 Go to the next group (@code{gnus-group-next-group}). | |
3026 | |
3027 @item p | |
3028 @kindex p (Browse) | |
3029 @findex gnus-group-prev-group | |
3030 Go to the previous group (@code{gnus-group-prev-group}). | |
3031 | |
3032 @item SPACE | |
3033 @kindex SPACE (Browse) | |
3034 @findex gnus-browse-read-group | |
3035 Enter the current group and display the first article | |
3036 (@code{gnus-browse-read-group}). | |
3037 | |
3038 @item RET | |
3039 @kindex RET (Browse) | |
3040 @findex gnus-browse-select-group | |
3041 Enter the current group (@code{gnus-browse-select-group}). | |
3042 | |
3043 @item u | |
3044 @kindex u (Browse) | |
3045 @findex gnus-browse-unsubscribe-current-group | |
3046 Unsubscribe to the current group, or, as will be the case here, | |
3047 subscribe to it (@code{gnus-browse-unsubscribe-current-group}). | |
3048 | |
3049 @item l | |
3050 @itemx q | |
3051 @kindex q (Browse) | |
3052 @kindex l (Browse) | |
3053 @findex gnus-browse-exit | |
3054 Exit browse mode (@code{gnus-browse-exit}). | |
3055 | |
3056 @item ? | |
3057 @kindex ? (Browse) | |
3058 @findex gnus-browse-describe-briefly | |
3059 Describe browse mode briefly (well, there's not much to describe, is | |
3060 there) (@code{gnus-browse-describe-briefly}). | |
3061 @end table | |
3062 | |
3063 | |
3064 @node Exiting Gnus | |
3065 @section Exiting Gnus | |
3066 @cindex exiting Gnus | |
3067 | |
3068 Yes, Gnus is ex(c)iting. | |
3069 | |
3070 @table @kbd | |
3071 @item z | |
3072 @kindex z (Group) | |
3073 @findex gnus-group-suspend | |
3074 Suspend Gnus (@code{gnus-group-suspend}). This doesn't really exit Gnus, | |
3075 but it kills all buffers except the Group buffer. I'm not sure why this | |
3076 is a gain, but then who am I to judge? | |
3077 | |
3078 @item q | |
3079 @kindex q (Group) | |
3080 @findex gnus-group-exit | |
3081 @c @icon{gnus-group-exit} | |
3082 Quit Gnus (@code{gnus-group-exit}). | |
3083 | |
3084 @item Q | |
3085 @kindex Q (Group) | |
3086 @findex gnus-group-quit | |
3087 Quit Gnus without saving the @file{.newsrc} files (@code{gnus-group-quit}). | |
3088 The dribble file will be saved, though (@pxref{Auto Save}). | |
3089 @end table | |
3090 | |
3091 @vindex gnus-exit-gnus-hook | |
3092 @vindex gnus-suspend-gnus-hook | |
3093 @code{gnus-suspend-gnus-hook} is called when you suspend Gnus and | |
3094 @code{gnus-exit-gnus-hook} is called when you quit Gnus, while | |
3095 @code{gnus-after-exiting-gnus-hook} is called as the final item when | |
3096 exiting Gnus. | |
3097 | |
3098 @findex gnus-unload | |
3099 @cindex unloading | |
3100 If you wish to completely unload Gnus and all its adherents, you can use | |
3101 the @code{gnus-unload} command. This command is also very handy when | |
3102 trying to customize meta-variables. | |
3103 | |
3104 Note: | |
3105 | |
3106 @quotation | |
3107 Miss Lisa Cannifax, while sitting in English class, felt her feet go | |
3108 numbly heavy and herself fall into a hazy trance as the boy sitting | |
3109 behind her drew repeated lines with his pencil across the back of her | |
3110 plastic chair. | |
3111 @end quotation | |
3112 | |
3113 | |
3114 @node Group Topics | |
3115 @section Group Topics | |
3116 @cindex topics | |
3117 | |
3118 If you read lots and lots of groups, it might be convenient to group | |
3119 them hierarchically according to topics. You put your Emacs groups over | |
3120 here, your sex groups over there, and the rest (what, two groups or so?) | |
3121 you put in some misc section that you never bother with anyway. You can | |
3122 even group the Emacs sex groups as a sub-topic to either the Emacs | |
3123 groups or the sex groups---or both! Go wild! | |
3124 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3125 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3126 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3127 \gnusfigure{Group Topics}{400}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3128 \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
|
3129 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3130 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3131 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3132 |
25829 | 3133 Here's an example: |
3134 | |
3135 @example | |
3136 Gnus | |
3137 Emacs -- I wuw it! | |
3138 3: comp.emacs | |
3139 2: alt.religion.emacs | |
3140 Naughty Emacs | |
3141 452: alt.sex.emacs | |
3142 0: comp.talk.emacs.recovery | |
3143 Misc | |
3144 8: comp.binaries.fractals | |
3145 13: comp.sources.unix | |
3146 @end example | |
3147 | |
3148 @findex gnus-topic-mode | |
3149 @kindex t (Group) | |
3150 To get this @emph{fab} functionality you simply turn on (ooh!) the | |
3151 @code{gnus-topic} minor mode---type @kbd{t} in the group buffer. (This | |
3152 is a toggling command.) | |
3153 | |
3154 Go ahead, just try it. I'll still be here when you get back. La de | |
3155 dum... Nice tune, that... la la la... What, you're back? Yes, and now | |
3156 press @kbd{l}. There. All your groups are now listed under | |
3157 @samp{misc}. Doesn't that make you feel all warm and fuzzy? Hot and | |
3158 bothered? | |
3159 | |
3160 If you want this permanently enabled, you should add that minor mode to | |
3161 the hook for the group mode: | |
3162 | |
3163 @lisp | |
3164 (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) | |
3165 @end lisp | |
3166 | |
3167 @menu | |
3168 * Topic Variables:: How to customize the topics the Lisp Way. | |
3169 * Topic Commands:: Interactive E-Z commands. | |
3170 * Topic Sorting:: Sorting each topic individually. | |
3171 * Topic Topology:: A map of the world. | |
3172 * Topic Parameters:: Parameters that apply to all groups in a topic. | |
3173 @end menu | |
3174 | |
3175 | |
3176 @node Topic Variables | |
3177 @subsection Topic Variables | |
3178 @cindex topic variables | |
3179 | |
3180 Now, if you select a topic, it will fold/unfold that topic, which is | |
3181 really neat, I think. | |
3182 | |
3183 @vindex gnus-topic-line-format | |
3184 The topic lines themselves are created according to the | |
3185 @code{gnus-topic-line-format} variable (@pxref{Formatting Variables}). | |
3186 Valid elements are: | |
3187 | |
3188 @table @samp | |
3189 @item i | |
3190 Indentation. | |
3191 @item n | |
3192 Topic name. | |
3193 @item v | |
3194 Visibility. | |
3195 @item l | |
3196 Level. | |
3197 @item g | |
3198 Number of groups in the topic. | |
3199 @item a | |
3200 Number of unread articles in the topic. | |
3201 @item A | |
3202 Number of unread articles in the topic and all its subtopics. | |
3203 @end table | |
3204 | |
3205 @vindex gnus-topic-indent-level | |
3206 Each sub-topic (and the groups in the sub-topics) will be indented with | |
3207 @code{gnus-topic-indent-level} times the topic level number of spaces. | |
3208 The default is 2. | |
3209 | |
3210 @vindex gnus-topic-mode-hook | |
3211 @code{gnus-topic-mode-hook} is called in topic minor mode buffers. | |
3212 | |
3213 @vindex gnus-topic-display-empty-topics | |
3214 The @code{gnus-topic-display-empty-topics} says whether to display even | |
3215 topics that have no unread articles in them. The default is @code{t}. | |
3216 | |
3217 | |
3218 @node Topic Commands | |
3219 @subsection Topic Commands | |
3220 @cindex topic commands | |
3221 | |
3222 When the topic minor mode is turned on, a new @kbd{T} submap will be | |
3223 available. In addition, a few of the standard keys change their | |
3224 definitions slightly. | |
3225 | |
3226 @table @kbd | |
3227 | |
3228 @item T n | |
3229 @kindex T n (Topic) | |
3230 @findex gnus-topic-create-topic | |
3231 Prompt for a new topic name and create it | |
3232 (@code{gnus-topic-create-topic}). | |
3233 | |
3234 @item T m | |
3235 @kindex T m (Topic) | |
3236 @findex gnus-topic-move-group | |
3237 Move the current group to some other topic | |
3238 (@code{gnus-topic-move-group}). This command uses the process/prefix | |
3239 convention (@pxref{Process/Prefix}). | |
3240 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3241 @item T j |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3242 @kindex T j (Topic) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3243 @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
|
3244 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
|
3245 |
25829 | 3246 @item T c |
3247 @kindex T c (Topic) | |
3248 @findex gnus-topic-copy-group | |
3249 Copy the current group to some other topic | |
3250 (@code{gnus-topic-copy-group}). This command uses the process/prefix | |
3251 convention (@pxref{Process/Prefix}). | |
3252 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3253 @item T h |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3254 @kindex T h (Topic) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3255 @findex gnus-topic-hide-topic |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3256 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
|
3257 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
|
3258 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3259 @item T s |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3260 @kindex T s (Topic) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3261 @findex gnus-topic-show-topic |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3262 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
|
3263 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
|
3264 |
25829 | 3265 @item T D |
3266 @kindex T D (Topic) | |
3267 @findex gnus-topic-remove-group | |
3268 Remove a group from the current topic (@code{gnus-topic-remove-group}). | |
3269 This command is mainly useful if you have the same group in several | |
3270 topics and wish to remove it from one of the topics. You may also | |
3271 remove a group from all topics, but in that case, Gnus will add it to | |
3272 the root topic the next time you start Gnus. In fact, all new groups | |
3273 (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
|
3274 topic. |
25829 | 3275 |
3276 This command uses the process/prefix convention | |
3277 (@pxref{Process/Prefix}). | |
3278 | |
3279 @item T M | |
3280 @kindex T M (Topic) | |
3281 @findex gnus-topic-move-matching | |
3282 Move all groups that match some regular expression to a topic | |
3283 (@code{gnus-topic-move-matching}). | |
3284 | |
3285 @item T C | |
3286 @kindex T C (Topic) | |
3287 @findex gnus-topic-copy-matching | |
3288 Copy all groups that match some regular expression to a topic | |
3289 (@code{gnus-topic-copy-matching}). | |
3290 | |
3291 @item T H | |
3292 @kindex T H (Topic) | |
3293 @findex gnus-topic-toggle-display-empty-topics | |
3294 Toggle hiding empty topics | |
3295 (@code{gnus-topic-toggle-display-empty-topics}). | |
3296 | |
3297 @item T # | |
3298 @kindex T # (Topic) | |
3299 @findex gnus-topic-mark-topic | |
3300 Mark all groups in the current topic with the process mark | |
3301 (@code{gnus-topic-mark-topic}). | |
3302 | |
3303 @item T M-# | |
3304 @kindex T M-# (Topic) | |
3305 @findex gnus-topic-unmark-topic | |
3306 Remove the process mark from all groups in the current topic | |
3307 (@code{gnus-topic-unmark-topic}). | |
3308 | |
3309 @item T TAB | |
3310 @itemx TAB | |
3311 @kindex T TAB (Topic) | |
3312 @kindex TAB (Topic) | |
3313 @findex gnus-topic-indent | |
3314 ``Indent'' the current topic so that it becomes a sub-topic of the | |
3315 previous topic (@code{gnus-topic-indent}). If given a prefix, | |
3316 ``un-indent'' the topic instead. | |
3317 | |
3318 @item M-TAB | |
3319 @kindex M-TAB (Topic) | |
3320 @findex gnus-topic-unindent | |
3321 ``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
|
3322 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
|
3323 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3324 @item RET |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3325 @kindex RET (Topic) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3326 @findex gnus-topic-select-group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3327 @itemx SPACE |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3328 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
|
3329 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
|
3330 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
|
3331 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
|
3332 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
|
3333 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
|
3334 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3335 @item C-c C-x |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3336 @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
|
3337 @findex gnus-topic-expire-articles |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3338 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
|
3339 process (if any) (@code{gnus-topic-expire-articles}). |
25829 | 3340 |
3341 @item C-k | |
3342 @kindex C-k (Topic) | |
3343 @findex gnus-topic-kill-group | |
3344 Kill a group or topic (@code{gnus-topic-kill-group}). All groups in the | |
3345 topic will be removed along with the topic. | |
3346 | |
3347 @item C-y | |
3348 @kindex C-y (Topic) | |
3349 @findex gnus-topic-yank-group | |
3350 Yank the previously killed group or topic | |
3351 (@code{gnus-topic-yank-group}). Note that all topics will be yanked | |
3352 before all groups. | |
3353 | |
3354 @item T r | |
3355 @kindex T r (Topic) | |
3356 @findex gnus-topic-rename | |
3357 Rename a topic (@code{gnus-topic-rename}). | |
3358 | |
3359 @item T DEL | |
3360 @kindex T DEL (Topic) | |
3361 @findex gnus-topic-delete | |
3362 Delete an empty topic (@code{gnus-topic-delete}). | |
3363 | |
3364 @item A T | |
3365 @kindex A T (Topic) | |
3366 @findex gnus-topic-list-active | |
3367 List all groups that Gnus knows about in a topics-ified way | |
3368 (@code{gnus-topic-list-active}). | |
3369 | |
3370 @item G p | |
3371 @kindex G p (Topic) | |
3372 @findex gnus-topic-edit-parameters | |
3373 @cindex group parameters | |
3374 @cindex topic parameters | |
3375 @cindex parameters | |
3376 Edit the topic parameters (@code{gnus-topic-edit-parameters}). | |
3377 @xref{Topic Parameters}. | |
3378 | |
3379 @end table | |
3380 | |
3381 | |
3382 @node Topic Sorting | |
3383 @subsection Topic Sorting | |
3384 @cindex topic sorting | |
3385 | |
3386 You can sort the groups in each topic individually with the following | |
3387 commands: | |
3388 | |
3389 | |
3390 @table @kbd | |
3391 @item T S a | |
3392 @kindex T S a (Topic) | |
3393 @findex gnus-topic-sort-groups-by-alphabet | |
3394 Sort the current topic alphabetically by group name | |
3395 (@code{gnus-topic-sort-groups-by-alphabet}). | |
3396 | |
3397 @item T S u | |
3398 @kindex T S u (Topic) | |
3399 @findex gnus-topic-sort-groups-by-unread | |
3400 Sort the current topic by the number of unread articles | |
3401 (@code{gnus-topic-sort-groups-by-unread}). | |
3402 | |
3403 @item T S l | |
3404 @kindex T S l (Topic) | |
3405 @findex gnus-topic-sort-groups-by-level | |
3406 Sort the current topic by group level | |
3407 (@code{gnus-topic-sort-groups-by-level}). | |
3408 | |
3409 @item T S v | |
3410 @kindex T S v (Topic) | |
3411 @findex gnus-topic-sort-groups-by-score | |
3412 Sort the current topic by group score | |
3413 (@code{gnus-topic-sort-groups-by-score}). @xref{Group Score}. | |
3414 | |
3415 @item T S r | |
3416 @kindex T S r (Topic) | |
3417 @findex gnus-topic-sort-groups-by-rank | |
3418 Sort the current topic by group rank | |
3419 (@code{gnus-topic-sort-groups-by-rank}). @xref{Group Score}. | |
3420 | |
3421 @item T S m | |
3422 @kindex T S m (Topic) | |
3423 @findex gnus-topic-sort-groups-by-method | |
3424 Sort the current topic alphabetically by backend name | |
3425 (@code{gnus-topic-sort-groups-by-method}). | |
3426 | |
3427 @end table | |
3428 | |
3429 @xref{Sorting Groups}, for more information about group sorting. | |
3430 | |
3431 | |
3432 @node Topic Topology | |
3433 @subsection Topic Topology | |
3434 @cindex topic topology | |
3435 @cindex topology | |
3436 | |
3437 So, let's have a look at an example group buffer: | |
3438 | |
3439 @example | |
3440 Gnus | |
3441 Emacs -- I wuw it! | |
3442 3: comp.emacs | |
3443 2: alt.religion.emacs | |
3444 Naughty Emacs | |
3445 452: alt.sex.emacs | |
3446 0: comp.talk.emacs.recovery | |
3447 Misc | |
3448 8: comp.binaries.fractals | |
3449 13: comp.sources.unix | |
3450 @end example | |
3451 | |
3452 So, here we have one top-level topic (@samp{Gnus}), two topics under | |
3453 that, and one sub-topic under one of the sub-topics. (There is always | |
3454 just one (1) top-level topic). This topology can be expressed as | |
3455 follows: | |
3456 | |
3457 @lisp | |
3458 (("Gnus" visible) | |
3459 (("Emacs -- I wuw it!" visible) | |
3460 (("Naughty Emacs" visible))) | |
3461 (("Misc" visible))) | |
3462 @end lisp | |
3463 | |
3464 @vindex gnus-topic-topology | |
3465 This is in fact how the variable @code{gnus-topic-topology} would look | |
3466 for the display above. That variable is saved in the @file{.newsrc.eld} | |
3467 file, and shouldn't be messed with manually---unless you really want | |
3468 to. Since this variable is read from the @file{.newsrc.eld} file, | |
3469 setting it in any other startup files will have no effect. | |
3470 | |
3471 This topology shows what topics are sub-topics of what topics (right), | |
3472 and which topics are visible. Two settings are currently | |
3473 allowed---@code{visible} and @code{invisible}. | |
3474 | |
3475 | |
3476 @node Topic Parameters | |
3477 @subsection Topic Parameters | |
3478 @cindex topic parameters | |
3479 | |
3480 All groups in a topic will inherit group parameters from the parent (and | |
3481 ancestor) topic parameters. All valid group parameters are valid topic | |
3482 parameters (@pxref{Group Parameters}). | |
3483 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3484 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
|
3485 parameters: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3486 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3487 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3488 @item subscribe |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3489 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
|
3490 @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
|
3491 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
|
3492 topic. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3493 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3494 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3495 |
25829 | 3496 Group parameters (of course) override topic parameters, and topic |
3497 parameters in sub-topics override topic parameters in super-topics. You | |
3498 know. Normal inheritance rules. (@dfn{Rules} is here a noun, not a | |
3499 verb, although you may feel free to disagree with me here.) | |
3500 | |
3501 @example | |
3502 Gnus | |
3503 Emacs | |
3504 3: comp.emacs | |
3505 2: alt.religion.emacs | |
3506 452: alt.sex.emacs | |
3507 Relief | |
3508 452: alt.sex.emacs | |
3509 0: comp.talk.emacs.recovery | |
3510 Misc | |
3511 8: comp.binaries.fractals | |
3512 13: comp.sources.unix | |
3513 452: alt.sex.emacs | |
3514 @end example | |
3515 | |
3516 The @samp{Emacs} topic has the topic parameter @code{(score-file | |
3517 . "emacs.SCORE")}; the @samp{Relief} topic has the topic parameter | |
3518 @code{(score-file . "relief.SCORE")}; and the @samp{Misc} topic has the | |
3519 topic parameter @code{(score-file . "emacs.SCORE")}. In addition, | |
3520 @* @samp{alt.religion.emacs} has the group parameter @code{(score-file | |
3521 . "religion.SCORE")}. | |
3522 | |
3523 Now, when you enter @samp{alt.sex.emacs} in the @samp{Relief} topic, you | |
3524 will get the @file{relief.SCORE} home score file. If you enter the same | |
3525 group in the @samp{Emacs} topic, you'll get the @file{emacs.SCORE} home | |
3526 score file. If you enter the group @samp{alt.religion.emacs}, you'll | |
3527 get the @file{religion.SCORE} home score file. | |
3528 | |
3529 This seems rather simple and self-evident, doesn't it? Well, yes. But | |
3530 there are some problems, especially with the @code{total-expiry} | |
3531 parameter. Say you have a mail group in two topics; one with | |
3532 @code{total-expiry} and one without. What happens when you do @kbd{M-x | |
3533 gnus-expire-all-expirable-groups}? Gnus has no way of telling which one | |
3534 of these topics you mean to expire articles from, so anything may | |
3535 happen. In fact, I hereby declare that it is @dfn{undefined} what | |
3536 happens. You just have to be careful if you do stuff like that. | |
3537 | |
3538 | |
3539 @node Misc Group Stuff | |
3540 @section Misc Group Stuff | |
3541 | |
3542 @menu | |
3543 * Scanning New Messages:: Asking Gnus to see whether new messages have arrived. | |
3544 * Group Information:: Information and help on groups and Gnus. | |
3545 * Group Timestamp:: Making Gnus keep track of when you last read a group. | |
3546 * File Commands:: Reading and writing the Gnus files. | |
3547 @end menu | |
3548 | |
3549 @table @kbd | |
3550 | |
3551 @item ^ | |
3552 @kindex ^ (Group) | |
3553 @findex gnus-group-enter-server-mode | |
3554 Enter the server buffer (@code{gnus-group-enter-server-mode}). | |
3555 @xref{The Server Buffer}. | |
3556 | |
3557 @item a | |
3558 @kindex a (Group) | |
3559 @findex gnus-group-post-news | |
3560 Post an article to a group (@code{gnus-group-post-news}). If given a | |
3561 prefix, the current group name will be used as the default. | |
3562 | |
3563 @item m | |
3564 @kindex m (Group) | |
3565 @findex gnus-group-mail | |
3566 Mail a message somewhere (@code{gnus-group-mail}). | |
3567 | |
3568 @end table | |
3569 | |
3570 Variables for the group buffer: | |
3571 | |
3572 @table @code | |
3573 | |
3574 @item gnus-group-mode-hook | |
3575 @vindex gnus-group-mode-hook | |
3576 is called after the group buffer has been | |
3577 created. | |
3578 | |
3579 @item gnus-group-prepare-hook | |
3580 @vindex gnus-group-prepare-hook | |
3581 is called after the group buffer is | |
3582 generated. It may be used to modify the buffer in some strange, | |
3583 unnatural way. | |
3584 | |
3585 @item gnus-group-prepared-hook | |
3586 @vindex gnus-group-prepare-hook | |
3587 is called as the very last thing after the group buffer has been | |
3588 generated. It may be used to move point around, for instance. | |
3589 | |
3590 @item gnus-permanently-visible-groups | |
3591 @vindex gnus-permanently-visible-groups | |
3592 Groups matching this regexp will always be listed in the group buffer, | |
3593 whether they are empty or not. | |
3594 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3595 @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
|
3596 @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
|
3597 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
|
3598 non-ASCII group names. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3599 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3600 For example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3601 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3602 (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
|
3603 '(((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
|
3604 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3605 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3606 @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
|
3607 @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
|
3608 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
|
3609 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
|
3610 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3611 For example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3612 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3613 (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
|
3614 '(("\\.com\\.cn:" . cn-gb-2312))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3615 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3616 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3617 @end table |
25829 | 3618 |
3619 @node Scanning New Messages | |
3620 @subsection Scanning New Messages | |
3621 @cindex new messages | |
3622 @cindex scanning new news | |
3623 | |
3624 @table @kbd | |
3625 | |
3626 @item g | |
3627 @kindex g (Group) | |
3628 @findex gnus-group-get-new-news | |
3629 @c @icon{gnus-group-get-new-news} | |
3630 Check the server(s) for new articles. If the numerical prefix is used, | |
3631 this command will check only groups of level @var{arg} and lower | |
3632 (@code{gnus-group-get-new-news}). If given a non-numerical prefix, this | |
3633 command will force a total re-reading of the active file(s) from the | |
3634 backend(s). | |
3635 | |
3636 @item M-g | |
3637 @kindex M-g (Group) | |
3638 @findex gnus-group-get-new-news-this-group | |
3639 @vindex gnus-goto-next-group-when-activating | |
3640 @c @icon{gnus-group-get-new-news-this-group} | |
3641 Check whether new articles have arrived in the current group | |
3642 (@code{gnus-group-get-new-news-this-group}). | |
3643 @code{gnus-goto-next-group-when-activating} says whether this command is | |
3644 to move point to the next group or not. It is @code{t} by default. | |
3645 | |
3646 @findex gnus-activate-all-groups | |
3647 @cindex activating groups | |
3648 @item C-c M-g | |
3649 @kindex C-c M-g (Group) | |
3650 Activate absolutely all groups (@code{gnus-activate-all-groups}). | |
3651 | |
3652 @item R | |
3653 @kindex R (Group) | |
3654 @cindex restarting | |
3655 @findex gnus-group-restart | |
3656 Restart Gnus (@code{gnus-group-restart}). This saves the @file{.newsrc} | |
3657 file(s), closes the connection to all servers, clears up all run-time | |
3658 Gnus variables, and then starts Gnus all over again. | |
3659 | |
3660 @end table | |
3661 | |
3662 @vindex gnus-get-new-news-hook | |
3663 @code{gnus-get-new-news-hook} is run just before checking for new news. | |
3664 | |
3665 @vindex gnus-after-getting-new-news-hook | |
3666 @code{gnus-after-getting-new-news-hook} is run after checking for new | |
3667 news. | |
3668 | |
3669 | |
3670 @node Group Information | |
3671 @subsection Group Information | |
3672 @cindex group information | |
3673 @cindex information on groups | |
3674 | |
3675 @table @kbd | |
3676 | |
3677 | |
3678 @item H f | |
3679 @kindex H f (Group) | |
3680 @findex gnus-group-fetch-faq | |
3681 @vindex gnus-group-faq-directory | |
3682 @cindex FAQ | |
3683 @cindex ange-ftp | |
3684 Try to fetch the FAQ for the current group | |
3685 (@code{gnus-group-fetch-faq}). Gnus will try to get the FAQ from | |
3686 @code{gnus-group-faq-directory}, which is usually a directory on a | |
3687 remote machine. This variable can also be a list of directories. In | |
3688 that case, giving a prefix to this command will allow you to choose | |
3689 between the various sites. @code{ange-ftp} (or @code{efs}) will be used | |
3690 for fetching the file. | |
3691 | |
3692 If fetching from the first site is unsuccessful, Gnus will attempt to go | |
3693 through @code{gnus-group-faq-directory} and try to open them one by one. | |
3694 | |
3695 @item H d | |
3696 @itemx C-c C-d | |
3697 @c @icon{gnus-group-describe-group} | |
3698 @kindex H d (Group) | |
3699 @kindex C-c C-d (Group) | |
3700 @cindex describing groups | |
3701 @cindex group description | |
3702 @findex gnus-group-describe-group | |
3703 Describe the current group (@code{gnus-group-describe-group}). If given | |
3704 a prefix, force Gnus to re-read the description from the server. | |
3705 | |
3706 @item M-d | |
3707 @kindex M-d (Group) | |
3708 @findex gnus-group-describe-all-groups | |
3709 Describe all groups (@code{gnus-group-describe-all-groups}). If given a | |
3710 prefix, force Gnus to re-read the description file from the server. | |
3711 | |
3712 @item H v | |
3713 @itemx V | |
3714 @kindex V (Group) | |
3715 @kindex H v (Group) | |
3716 @cindex version | |
3717 @findex gnus-version | |
3718 Display current Gnus version numbers (@code{gnus-version}). | |
3719 | |
3720 @item ? | |
3721 @kindex ? (Group) | |
3722 @findex gnus-group-describe-briefly | |
3723 Give a very short help message (@code{gnus-group-describe-briefly}). | |
3724 | |
3725 @item C-c C-i | |
3726 @kindex C-c C-i (Group) | |
3727 @cindex info | |
3728 @cindex manual | |
3729 @findex gnus-info-find-node | |
3730 Go to the Gnus info node (@code{gnus-info-find-node}). | |
3731 @end table | |
3732 | |
3733 | |
3734 @node Group Timestamp | |
3735 @subsection Group Timestamp | |
3736 @cindex timestamps | |
3737 @cindex group timestamps | |
3738 | |
3739 It can be convenient to let Gnus keep track of when you last read a | |
3740 group. To set the ball rolling, you should add | |
3741 @code{gnus-group-set-timestamp} to @code{gnus-select-group-hook}: | |
3742 | |
3743 @lisp | |
3744 (add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp) | |
3745 @end lisp | |
3746 | |
3747 After doing this, each time you enter a group, it'll be recorded. | |
3748 | |
3749 This information can be displayed in various ways---the easiest is to | |
3750 use the @samp{%d} spec in the group line format: | |
3751 | |
3752 @lisp | |
3753 (setq gnus-group-line-format | |
3754 "%M\%S\%p\%P\%5y: %(%-40,40g%) %d\n") | |
3755 @end lisp | |
3756 | |
3757 This will result in lines looking like: | |
3758 | |
3759 @example | |
3760 * 0: mail.ding 19961002T012943 | |
3761 0: custom 19961002T012713 | |
3762 @end example | |
3763 | |
3764 As you can see, the date is displayed in compact ISO 8601 format. This | |
3765 may be a bit too much, so to just display the date, you could say | |
3766 something like: | |
3767 | |
3768 @lisp | |
3769 (setq gnus-group-line-format | |
3770 "%M\%S\%p\%P\%5y: %(%-40,40g%) %6,6~(cut 2)d\n") | |
3771 @end lisp | |
3772 | |
3773 | |
3774 @node File Commands | |
3775 @subsection File Commands | |
3776 @cindex file commands | |
3777 | |
3778 @table @kbd | |
3779 | |
3780 @item r | |
3781 @kindex r (Group) | |
3782 @findex gnus-group-read-init-file | |
3783 @vindex gnus-init-file | |
3784 @cindex reading init file | |
3785 Re-read the init file (@code{gnus-init-file}, which defaults to | |
3786 @file{~/.gnus}) (@code{gnus-group-read-init-file}). | |
3787 | |
3788 @item s | |
3789 @kindex s (Group) | |
3790 @findex gnus-group-save-newsrc | |
3791 @cindex saving .newsrc | |
3792 Save the @file{.newsrc.eld} file (and @file{.newsrc} if wanted) | |
3793 (@code{gnus-group-save-newsrc}). If given a prefix, force saving the | |
3794 file(s) whether Gnus thinks it is necessary or not. | |
3795 | |
3796 @c @item Z | |
3797 @c @kindex Z (Group) | |
3798 @c @findex gnus-group-clear-dribble | |
3799 @c Clear the dribble buffer (@code{gnus-group-clear-dribble}). | |
3800 | |
3801 @end table | |
3802 | |
3803 | |
3804 @node The Summary Buffer | |
3805 @chapter The Summary Buffer | |
3806 @cindex summary buffer | |
3807 | |
3808 A line for each article is displayed in the summary buffer. You can | |
3809 move around, read articles, post articles and reply to articles. | |
3810 | |
3811 The most common way to a summary buffer is to select a group from the | |
3812 group buffer (@pxref{Selecting a Group}). | |
3813 | |
3814 You can have as many summary buffers open as you wish. | |
3815 | |
3816 @menu | |
3817 * Summary Buffer Format:: Deciding how the summary buffer is to look. | |
3818 * Summary Maneuvering:: Moving around the summary buffer. | |
3819 * Choosing Articles:: Reading articles. | |
3820 * Paging the Article:: Scrolling the current article. | |
3821 * Reply Followup and Post:: Posting articles. | |
3822 * Marking Articles:: Marking articles as read, expirable, etc. | |
3823 * Limiting:: You can limit the summary buffer. | |
3824 * Threading:: How threads are made. | |
3825 * Sorting:: How articles and threads are sorted. | |
3826 * Asynchronous Fetching:: Gnus might be able to pre-fetch articles. | |
3827 * Article Caching:: You may store articles in a cache. | |
3828 * Persistent Articles:: Making articles expiry-resistant. | |
3829 * Article Backlog:: Having already read articles hang around. | |
3830 * Saving Articles:: Ways of customizing article saving. | |
3831 * Decoding Articles:: Gnus can treat series of (uu)encoded articles. | |
3832 * 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
|
3833 * 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
|
3834 * Charsets:: Character set issues. |
25829 | 3835 * Article Commands:: Doing various things with the article buffer. |
3836 * Summary Sorting:: Sorting the summary buffer in various ways. | |
3837 * Finding the Parent:: No child support? Get the parent. | |
3838 * Alternative Approaches:: Reading using non-default summaries. | |
3839 * Tree Display:: A more visual display of threads. | |
3840 * Mail Group Commands:: Some commands can only be used in mail groups. | |
3841 * Various Summary Stuff:: What didn't fit anywhere else. | |
3842 * Exiting the Summary Buffer:: Returning to the Group buffer. | |
3843 * Crosspost Handling:: How crossposted articles are dealt with. | |
3844 * Duplicate Suppression:: An alternative when crosspost handling fails. | |
3845 @end menu | |
3846 | |
3847 | |
3848 @node Summary Buffer Format | |
3849 @section Summary Buffer Format | |
3850 @cindex summary buffer format | |
3851 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3852 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3853 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3854 \gnusfigure{The Summary Buffer}{180}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3855 \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
|
3856 \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
|
3857 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3858 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3859 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3860 |
25829 | 3861 @menu |
3862 * 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
|
3863 * To From Newsgroups:: How to not display your own name. |
25829 | 3864 * Summary Buffer Mode Line:: You can say how the mode line should look. |
3865 * Summary Highlighting:: Making the summary buffer all pretty and nice. | |
3866 @end menu | |
3867 | |
3868 @findex mail-extract-address-components | |
3869 @findex gnus-extract-address-components | |
3870 @vindex gnus-extract-address-components | |
3871 Gnus will use the value of the @code{gnus-extract-address-components} | |
3872 variable as a function for getting the name and address parts of a | |
3873 @code{From} header. Two pre-defined functions exist: | |
3874 @code{gnus-extract-address-components}, which is the default, quite | |
3875 fast, and too simplistic solution; and | |
3876 @code{mail-extract-address-components}, which works very nicely, but is | |
3877 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
|
3878 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
|
3879 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3880 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3881 (setq gnus-extract-address-components |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3882 'mail-extract-address-components) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3883 @end lisp |
25829 | 3884 |
3885 @vindex gnus-summary-same-subject | |
3886 @code{gnus-summary-same-subject} is a string indicating that the current | |
3887 article has the same subject as the previous. This string will be used | |
3888 with those specs that require it. The default is @code{""}. | |
3889 | |
3890 | |
3891 @node Summary Buffer Lines | |
3892 @subsection Summary Buffer Lines | |
3893 | |
3894 @vindex gnus-summary-line-format | |
3895 You can change the format of the lines in the summary buffer by changing | |
3896 the @code{gnus-summary-line-format} variable. It works along the same | |
3897 lines as a normal @code{format} string, with some extensions | |
3898 (@pxref{Formatting Variables}). | |
3899 | |
3900 The default string is @samp{%U%R%z%I%(%[%4L: %-20,20n%]%) %s\n}. | |
3901 | |
3902 The following format specification characters are understood: | |
3903 | |
3904 @table @samp | |
3905 @item N | |
3906 Article number. | |
3907 @item S | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3908 Subject string. List identifiers stripped, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3909 @code{gnus-list-identifies}. @xref{Article Hiding}. |
25829 | 3910 @item s |
3911 Subject if the article is the root of the thread or the previous article | |
3912 had a different subject, @code{gnus-summary-same-subject} otherwise. | |
3913 (@code{gnus-summary-same-subject} defaults to @code{""}.) | |
3914 @item F | |
3915 Full @code{From} header. | |
3916 @item n | |
3917 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
|
3918 @item f |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3919 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
|
3920 (@pxref{To From Newsgroups}). |
25829 | 3921 @item a |
3922 The name (from the @code{From} header). This differs from the @code{n} | |
3923 spec in that it uses the function designated by the | |
3924 @code{gnus-extract-address-components} variable, which is slower, but | |
3925 may be more thorough. | |
3926 @item A | |
3927 The address (from the @code{From} header). This works the same way as | |
3928 the @code{a} spec. | |
3929 @item L | |
3930 Number of lines in the article. | |
3931 @item c | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
3932 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
|
3933 methods (like nnfolder). |
25829 | 3934 @item I |
3935 Indentation based on thread level (@pxref{Customizing Threading}). | |
3936 @item T | |
3937 Nothing if the article is a root and lots of spaces if it isn't (it | |
3938 pushes everything after it off the screen). | |
3939 @item [ | |
3940 Opening bracket, which is normally @samp{[}, but can also be @samp{<} | |
3941 for adopted articles (@pxref{Customizing Threading}). | |
3942 @item ] | |
3943 Closing bracket, which is normally @samp{]}, but can also be @samp{>} | |
3944 for adopted articles. | |
3945 @item > | |
3946 One space for each thread level. | |
3947 @item < | |
3948 Twenty minus thread level spaces. | |
3949 @item U | |
3950 Unread. | |
3951 | |
3952 @item R | |
3953 This misleadingly named specifier is the @dfn{secondary mark}. This | |
3954 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
|
3955 or has been saved. |
25829 | 3956 |
3957 @item i | |
3958 Score as a number (@pxref{Scoring}). | |
3959 @item z | |
3960 @vindex gnus-summary-zcore-fuzz | |
3961 Zcore, @samp{+} if above the default level and @samp{-} if below the | |
3962 default level. If the difference between | |
3963 @code{gnus-summary-default-score} and the score is less than | |
3964 @code{gnus-summary-zcore-fuzz}, this spec will not be used. | |
3965 @item V | |
3966 Total thread score. | |
3967 @item x | |
3968 @code{Xref}. | |
3969 @item D | |
3970 @code{Date}. | |
3971 @item d | |
3972 The @code{Date} in @code{DD-MMM} format. | |
3973 @item o | |
3974 The @code{Date} in @var{YYYYMMDD}@code{T}@var{HHMMSS} format. | |
3975 @item M | |
3976 @code{Message-ID}. | |
3977 @item r | |
3978 @code{References}. | |
3979 @item t | |
3980 Number of articles in the current sub-thread. Using this spec will slow | |
3981 down summary buffer generation somewhat. | |
3982 @item e | |
3983 An @samp{=} (@code{gnus-not-empty-thread-mark}) will be displayed if the | |
3984 article has any children. | |
3985 @item P | |
3986 The line number. | |
3987 @item O | |
3988 Download mark. | |
3989 @item u | |
3990 User defined specifier. The next character in the format string should | |
3991 be a letter. Gnus will call the function | |
3992 @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter | |
3993 following @samp{%u}. The function will be passed the current header as | |
3994 argument. The function should return a string, which will be inserted | |
3995 into the summary just like information from any other summary specifier. | |
3996 @end table | |
3997 | |
3998 The @samp{%U} (status), @samp{%R} (replied) and @samp{%z} (zcore) specs | |
3999 have to be handled with care. For reasons of efficiency, Gnus will | |
4000 compute what column these characters will end up in, and ``hard-code'' | |
4001 that. This means that it is invalid to have these specs after a | |
4002 variable-length spec. Well, you might not be arrested, but your summary | |
4003 buffer will look strange, which is bad enough. | |
4004 | |
4005 The smart choice is to have these specs as far to the left as possible. | |
4006 (Isn't that the case with everything, though? But I digress.) | |
4007 | |
4008 This restriction may disappear in later versions of Gnus. | |
4009 | |
4010 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4011 @node To From Newsgroups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4012 @subsection To From Newsgroups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4013 @cindex To |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4014 @cindex Newsgroups |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4015 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4016 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
|
4017 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
|
4018 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
|
4019 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
|
4020 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
|
4021 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4022 @enumerate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4023 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4024 @vindex gnus-extra-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4025 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
|
4026 @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
|
4027 instance: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4028 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4029 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4030 (setq gnus-extra-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4031 '(To Newsgroups X-Newsreader)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4032 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4033 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4034 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
|
4035 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
|
4036 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4037 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4038 @findex gnus-extra-header |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4039 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
|
4040 @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
|
4041 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
|
4042 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4043 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4044 "%~(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
|
4045 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4046 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4047 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4048 @vindex gnus-ignored-from-addresses |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4049 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
|
4050 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
|
4051 @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
|
4052 @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
|
4053 headers are used instead. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4054 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4055 @end enumerate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4056 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4057 @vindex nnmail-extra-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4058 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
|
4059 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
|
4060 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
|
4061 this variable. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4062 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4063 @vindex gnus-summary-line-format |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4064 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
|
4065 @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
|
4066 @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
|
4067 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4068 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
|
4069 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4070 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4071 (setq gnus-extra-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4072 '(To Newsgroups)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4073 (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
|
4074 (setq gnus-summary-line-format |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4075 "%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
|
4076 (setq gnus-ignored-from-addresses |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4077 "Your Name Here") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4078 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4079 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4080 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
|
4081 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
|
4082 nntp admin to add: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4083 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4084 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4085 Newsgroups:full |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4086 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4087 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4088 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
|
4089 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
|
4090 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4091 |
25829 | 4092 @node Summary Buffer Mode Line |
4093 @subsection Summary Buffer Mode Line | |
4094 | |
4095 @vindex gnus-summary-mode-line-format | |
4096 You can also change the format of the summary mode bar (@pxref{Mode Line | |
4097 Formatting}). Set @code{gnus-summary-mode-line-format} to whatever you | |
4098 like. The default is @samp{Gnus: %%b [%A] %Z}. | |
4099 | |
4100 Here are the elements you can play with: | |
4101 | |
4102 @table @samp | |
4103 @item G | |
4104 Group name. | |
4105 @item p | |
4106 Unprefixed group name. | |
4107 @item A | |
4108 Current article number. | |
4109 @item z | |
4110 Current article score. | |
4111 @item V | |
4112 Gnus version. | |
4113 @item U | |
4114 Number of unread articles in this group. | |
4115 @item e | |
4116 Number of unread articles in this group that aren't displayed in the | |
4117 summary buffer. | |
4118 @item Z | |
4119 A string with the number of unread and unselected articles represented | |
4120 either as @samp{<%U(+%e) more>} if there are both unread and unselected | |
4121 articles, and just as @samp{<%U more>} if there are just unread articles | |
4122 and no unselected ones. | |
4123 @item g | |
4124 Shortish group name. For instance, @samp{rec.arts.anime} will be | |
4125 shortened to @samp{r.a.anime}. | |
4126 @item S | |
4127 Subject of the current article. | |
4128 @item u | |
4129 User-defined spec (@pxref{User-Defined Specs}). | |
4130 @item s | |
4131 Name of the current score file (@pxref{Scoring}). | |
4132 @item d | |
4133 Number of dormant articles (@pxref{Unread Articles}). | |
4134 @item t | |
4135 Number of ticked articles (@pxref{Unread Articles}). | |
4136 @item r | |
4137 Number of articles that have been marked as read in this session. | |
4138 @item E | |
4139 Number of articles expunged by the score files. | |
4140 @end table | |
4141 | |
4142 | |
4143 @node Summary Highlighting | |
4144 @subsection Summary Highlighting | |
4145 | |
4146 @table @code | |
4147 | |
4148 @item gnus-visual-mark-article-hook | |
4149 @vindex gnus-visual-mark-article-hook | |
4150 This hook is run after selecting an article. It is meant to be used for | |
4151 highlighting the article in some way. It is not run if | |
4152 @code{gnus-visual} is @code{nil}. | |
4153 | |
4154 @item gnus-summary-update-hook | |
4155 @vindex gnus-summary-update-hook | |
4156 This hook is called when a summary line is changed. It is not run if | |
4157 @code{gnus-visual} is @code{nil}. | |
4158 | |
4159 @item gnus-summary-selected-face | |
4160 @vindex gnus-summary-selected-face | |
4161 This is the face (or @dfn{font} as some people call it) used to | |
4162 highlight the current article in the summary buffer. | |
4163 | |
4164 @item gnus-summary-highlight | |
4165 @vindex gnus-summary-highlight | |
4166 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
|
4167 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
|
4168 . @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
|
4169 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
|
4170 to something like |
25829 | 4171 @lisp |
4172 (((eq mark gnus-ticked-mark) . italic) | |
4173 ((> score default) . bold)) | |
4174 @end lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4175 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
|
4176 @var{face} will be applied to the line. |
25829 | 4177 @end table |
4178 | |
4179 | |
4180 @node Summary Maneuvering | |
4181 @section Summary Maneuvering | |
4182 @cindex summary movement | |
4183 | |
4184 All the straight movement commands understand the numeric prefix and | |
4185 behave pretty much as you'd expect. | |
4186 | |
4187 None of these commands select articles. | |
4188 | |
4189 @table @kbd | |
4190 @item G M-n | |
4191 @itemx M-n | |
4192 @kindex M-n (Summary) | |
4193 @kindex G M-n (Summary) | |
4194 @findex gnus-summary-next-unread-subject | |
4195 Go to the next summary line of an unread article | |
4196 (@code{gnus-summary-next-unread-subject}). | |
4197 | |
4198 @item G M-p | |
4199 @itemx M-p | |
4200 @kindex M-p (Summary) | |
4201 @kindex G M-p (Summary) | |
4202 @findex gnus-summary-prev-unread-subject | |
4203 Go to the previous summary line of an unread article | |
4204 (@code{gnus-summary-prev-unread-subject}). | |
4205 | |
4206 @item G j | |
4207 @itemx j | |
4208 @kindex j (Summary) | |
4209 @kindex G j (Summary) | |
4210 @findex gnus-summary-goto-article | |
4211 Ask for an article number or @code{Message-ID}, and then go to that | |
4212 article (@code{gnus-summary-goto-article}). | |
4213 | |
4214 @item G g | |
4215 @kindex G g (Summary) | |
4216 @findex gnus-summary-goto-subject | |
4217 Ask for an article number and then go to the summary line of that article | |
4218 without displaying the article (@code{gnus-summary-goto-subject}). | |
4219 @end table | |
4220 | |
4221 If Gnus asks you to press a key to confirm going to the next group, you | |
4222 can use the @kbd{C-n} and @kbd{C-p} keys to move around the group | |
4223 buffer, searching for the next group to read without actually returning | |
4224 to the group buffer. | |
4225 | |
4226 Variables related to summary movement: | |
4227 | |
4228 @table @code | |
4229 | |
4230 @vindex gnus-auto-select-next | |
4231 @item gnus-auto-select-next | |
4232 If you issue one of the movement commands (like @kbd{n}) and there are | |
4233 no more unread articles after the current one, Gnus will offer to go to | |
4234 the next group. If this variable is @code{t} and the next group is | |
4235 empty, Gnus will exit summary mode and return to the group buffer. If | |
4236 this variable is neither @code{t} nor @code{nil}, Gnus will select the | |
4237 next group, no matter whether it has any unread articles or not. As a | |
4238 special case, if this variable is @code{quietly}, Gnus will select the | |
4239 next group without asking for confirmation. If this variable is | |
4240 @code{almost-quietly}, the same will happen only if you are located on | |
4241 the last article in the group. Finally, if this variable is | |
4242 @code{slightly-quietly}, the @kbd{Z n} command will go to the next group | |
4243 without confirmation. Also @pxref{Group Levels}. | |
4244 | |
4245 @item gnus-auto-select-same | |
4246 @vindex gnus-auto-select-same | |
4247 If non-@code{nil}, all the movement commands will try to go to the next | |
4248 article with the same subject as the current. (@dfn{Same} here might | |
4249 mean @dfn{roughly equal}. See @code{gnus-summary-gather-subject-limit} | |
4250 for details (@pxref{Customizing Threading}).) If there are no more | |
4251 articles with the same subject, go to the first unread article. | |
4252 | |
4253 This variable is not particularly useful if you use a threaded display. | |
4254 | |
4255 @item gnus-summary-check-current | |
4256 @vindex gnus-summary-check-current | |
4257 If non-@code{nil}, all the ``unread'' movement commands will not proceed | |
4258 to the next (or previous) article if the current article is unread. | |
4259 Instead, they will choose the current article. | |
4260 | |
4261 @item gnus-auto-center-summary | |
4262 @vindex gnus-auto-center-summary | |
4263 If non-@code{nil}, Gnus will keep the point in the summary buffer | |
4264 centered at all times. This makes things quite tidy, but if you have a | |
4265 slow network connection, or simply do not like this un-Emacsism, you can | |
4266 set this variable to @code{nil} to get the normal Emacs scrolling | |
4267 action. This will also inhibit horizontal re-centering of the summary | |
4268 buffer, which might make it more inconvenient to read extremely long | |
4269 threads. | |
4270 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4271 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
|
4272 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
|
4273 |
25829 | 4274 @end table |
4275 | |
4276 | |
4277 @node Choosing Articles | |
4278 @section Choosing Articles | |
4279 @cindex selecting articles | |
4280 | |
4281 @menu | |
4282 * Choosing Commands:: Commands for choosing articles. | |
4283 * Choosing Variables:: Variables that influence these commands. | |
4284 @end menu | |
4285 | |
4286 | |
4287 @node Choosing Commands | |
4288 @subsection Choosing Commands | |
4289 | |
4290 None of the following movement commands understand the numeric prefix, | |
4291 and they all select and display an article. | |
4292 | |
4293 @table @kbd | |
4294 @item SPACE | |
4295 @kindex SPACE (Summary) | |
4296 @findex gnus-summary-next-page | |
4297 Select the current article, or, if that one's read already, the next | |
4298 unread article (@code{gnus-summary-next-page}). | |
4299 | |
4300 @item G n | |
4301 @itemx n | |
4302 @kindex n (Summary) | |
4303 @kindex G n (Summary) | |
4304 @findex gnus-summary-next-unread-article | |
4305 @c @icon{gnus-summary-next-unread} | |
4306 Go to next unread article (@code{gnus-summary-next-unread-article}). | |
4307 | |
4308 @item G p | |
4309 @itemx p | |
4310 @kindex p (Summary) | |
4311 @findex gnus-summary-prev-unread-article | |
4312 @c @icon{gnus-summary-prev-unread} | |
4313 Go to previous unread article (@code{gnus-summary-prev-unread-article}). | |
4314 | |
4315 @item G N | |
4316 @itemx N | |
4317 @kindex N (Summary) | |
4318 @kindex G N (Summary) | |
4319 @findex gnus-summary-next-article | |
4320 Go to the next article (@code{gnus-summary-next-article}). | |
4321 | |
4322 @item G P | |
4323 @itemx P | |
4324 @kindex P (Summary) | |
4325 @kindex G P (Summary) | |
4326 @findex gnus-summary-prev-article | |
4327 Go to the previous article (@code{gnus-summary-prev-article}). | |
4328 | |
4329 @item G C-n | |
4330 @kindex G C-n (Summary) | |
4331 @findex gnus-summary-next-same-subject | |
4332 Go to the next article with the same subject | |
4333 (@code{gnus-summary-next-same-subject}). | |
4334 | |
4335 @item G C-p | |
4336 @kindex G C-p (Summary) | |
4337 @findex gnus-summary-prev-same-subject | |
4338 Go to the previous article with the same subject | |
4339 (@code{gnus-summary-prev-same-subject}). | |
4340 | |
4341 @item G f | |
4342 @itemx . | |
4343 @kindex G f (Summary) | |
4344 @kindex . (Summary) | |
4345 @findex gnus-summary-first-unread-article | |
4346 Go to the first unread article | |
4347 (@code{gnus-summary-first-unread-article}). | |
4348 | |
4349 @item G b | |
4350 @itemx , | |
4351 @kindex G b (Summary) | |
4352 @kindex , (Summary) | |
4353 @findex gnus-summary-best-unread-article | |
4354 Go to the article with the highest score | |
4355 (@code{gnus-summary-best-unread-article}). | |
4356 | |
4357 @item G l | |
4358 @itemx l | |
4359 @kindex l (Summary) | |
4360 @kindex G l (Summary) | |
4361 @findex gnus-summary-goto-last-article | |
4362 Go to the previous article read (@code{gnus-summary-goto-last-article}). | |
4363 | |
4364 @item G o | |
4365 @kindex G o (Summary) | |
4366 @findex gnus-summary-pop-article | |
4367 @cindex history | |
4368 @cindex article history | |
4369 Pop an article off the summary history and go to this article | |
4370 (@code{gnus-summary-pop-article}). This command differs from the | |
4371 command above in that you can pop as many previous articles off the | |
4372 history as you like, while @kbd{l} toggles the two last read articles. | |
4373 For a somewhat related issue (if you use these commands a lot), | |
4374 @pxref{Article Backlog}. | |
4375 @end table | |
4376 | |
4377 | |
4378 @node Choosing Variables | |
4379 @subsection Choosing Variables | |
4380 | |
4381 Some variables relevant for moving and selecting articles: | |
4382 | |
4383 @table @code | |
4384 @item gnus-auto-extend-newsgroup | |
4385 @vindex gnus-auto-extend-newsgroup | |
4386 All the movement commands will try to go to the previous (or next) | |
4387 article, even if that article isn't displayed in the Summary buffer if | |
4388 this variable is non-@code{nil}. Gnus will then fetch the article from | |
4389 the server and display it in the article buffer. | |
4390 | |
4391 @item gnus-select-article-hook | |
4392 @vindex gnus-select-article-hook | |
4393 This hook is called whenever an article is selected. By default it | |
4394 exposes any threads hidden under the selected article. | |
4395 | |
4396 @item gnus-mark-article-hook | |
4397 @vindex gnus-mark-article-hook | |
4398 @findex gnus-summary-mark-unread-as-read | |
4399 @findex gnus-summary-mark-read-and-unread-as-read | |
4400 @findex gnus-unread-mark | |
4401 This hook is called whenever an article is selected. It is intended to | |
4402 be used for marking articles as read. The default value is | |
4403 @code{gnus-summary-mark-read-and-unread-as-read}, and will change the | |
4404 mark of almost any article you read to @code{gnus-unread-mark}. The | |
4405 only articles not affected by this function are ticked, dormant, and | |
4406 expirable articles. If you'd instead like to just have unread articles | |
4407 marked as read, you can use @code{gnus-summary-mark-unread-as-read} | |
4408 instead. It will leave marks like @code{gnus-low-score-mark}, | |
4409 @code{gnus-del-mark} (and so on) alone. | |
4410 | |
4411 @end table | |
4412 | |
4413 | |
4414 @node Paging the Article | |
4415 @section Scrolling the Article | |
4416 @cindex article scrolling | |
4417 | |
4418 @table @kbd | |
4419 | |
4420 @item SPACE | |
4421 @kindex SPACE (Summary) | |
4422 @findex gnus-summary-next-page | |
4423 Pressing @kbd{SPACE} will scroll the current article forward one page, | |
4424 or, if you have come to the end of the current article, will choose the | |
4425 next article (@code{gnus-summary-next-page}). | |
4426 | |
4427 @item DEL | |
4428 @kindex DEL (Summary) | |
4429 @findex gnus-summary-prev-page | |
4430 Scroll the current article back one page (@code{gnus-summary-prev-page}). | |
4431 | |
4432 @item RET | |
4433 @kindex RET (Summary) | |
4434 @findex gnus-summary-scroll-up | |
4435 Scroll the current article one line forward | |
4436 (@code{gnus-summary-scroll-up}). | |
4437 | |
4438 @item M-RET | |
4439 @kindex M-RET (Summary) | |
4440 @findex gnus-summary-scroll-down | |
4441 Scroll the current article one line backward | |
4442 (@code{gnus-summary-scroll-down}). | |
4443 | |
4444 @item A g | |
4445 @itemx g | |
4446 @kindex A g (Summary) | |
4447 @kindex g (Summary) | |
4448 @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
|
4449 @vindex gnus-summary-show-article-charset-alist |
25829 | 4450 (Re)fetch the current article (@code{gnus-summary-show-article}). If |
4451 given a prefix, fetch the current article, but don't run any of the | |
4452 article treatment functions. This will give you a ``raw'' article, just | |
4453 the way it came from the server. | |
4454 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4455 If given a numerical prefix, you can do semi-manual charset stuff. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4456 @kbd{C-u 0 g cn-gb-2312 RET} will decode the message as if it were |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4457 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
|
4458 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4459 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4460 (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
|
4461 '((1 . cn-gb-2312) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4462 (2 . big5))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4463 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4464 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4465 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
|
4466 |
25829 | 4467 @item A < |
4468 @itemx < | |
4469 @kindex < (Summary) | |
4470 @kindex A < (Summary) | |
4471 @findex gnus-summary-beginning-of-article | |
4472 Scroll to the beginning of the article | |
4473 (@code{gnus-summary-beginning-of-article}). | |
4474 | |
4475 @item A > | |
4476 @itemx > | |
4477 @kindex > (Summary) | |
4478 @kindex A > (Summary) | |
4479 @findex gnus-summary-end-of-article | |
4480 Scroll to the end of the article (@code{gnus-summary-end-of-article}). | |
4481 | |
4482 @item A s | |
4483 @itemx s | |
4484 @kindex A s (Summary) | |
4485 @kindex s (Summary) | |
4486 @findex gnus-summary-isearch-article | |
4487 Perform an isearch in the article buffer | |
4488 (@code{gnus-summary-isearch-article}). | |
4489 | |
4490 @item h | |
4491 @kindex h (Summary) | |
4492 @findex gnus-summary-select-article-buffer | |
4493 Select the article buffer (@code{gnus-summary-select-article-buffer}). | |
4494 | |
4495 @end table | |
4496 | |
4497 | |
4498 @node Reply Followup and Post | |
4499 @section Reply, Followup and Post | |
4500 | |
4501 @menu | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4502 * Summary Mail Commands:: Sending mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4503 * Summary Post Commands:: Sending news. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4504 * 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
|
4505 * Canceling and Superseding:: ``Whoops, I shouldn't have called him that.'' |
25829 | 4506 @end menu |
4507 | |
4508 | |
4509 @node Summary Mail Commands | |
4510 @subsection Summary Mail Commands | |
4511 @cindex mail | |
4512 @cindex composing mail | |
4513 | |
4514 Commands for composing a mail message: | |
4515 | |
4516 @table @kbd | |
4517 | |
4518 @item S r | |
4519 @itemx r | |
4520 @kindex S r (Summary) | |
4521 @kindex r (Summary) | |
4522 @findex gnus-summary-reply | |
4523 @c @icon{gnus-summary-mail-reply} | |
4524 @c @icon{gnus-summary-reply} | |
4525 Mail a reply to the author of the current article | |
4526 (@code{gnus-summary-reply}). | |
4527 | |
4528 @item S R | |
4529 @itemx R | |
4530 @kindex R (Summary) | |
4531 @kindex S R (Summary) | |
4532 @findex gnus-summary-reply-with-original | |
4533 @c @icon{gnus-summary-reply-with-original} | |
4534 Mail a reply to the author of the current article and include the | |
4535 original message (@code{gnus-summary-reply-with-original}). This | |
4536 command uses the process/prefix convention. | |
4537 | |
4538 @item S w | |
4539 @kindex S w (Summary) | |
4540 @findex gnus-summary-wide-reply | |
4541 Mail a wide reply to the author of the current article | |
4542 (@code{gnus-summary-wide-reply}). A @dfn{wide reply} is a reply that | |
4543 goes out to all people listed in the @code{To}, @code{From} (or | |
4544 @code{Reply-to}) and @code{Cc} headers. | |
4545 | |
4546 @item S W | |
4547 @kindex S W (Summary) | |
4548 @findex gnus-summary-wide-reply-with-original | |
4549 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
|
4550 message (@code{gnus-summary-wide-reply-with-original}). This command uses |
25829 | 4551 the process/prefix convention. |
4552 | |
4553 @item S o m | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4554 @itemx C-c C-f |
25829 | 4555 @kindex S o m (Summary) |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4556 @kindex C-c C-f (Summary) |
25829 | 4557 @findex gnus-summary-mail-forward |
4558 @c @icon{gnus-summary-mail-forward} | |
4559 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
|
4560 (@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
|
4561 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
|
4562 and (@code{message-forward-show-mml}); if the prefix is 1, decode the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4563 message and forward directly inline; if the prefix is 2, foward message |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4564 as an rfc822 MIME section; if the prefix is 3, decode message and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4565 forward as an rfc822 MIME section; if the prefix is 4, foward message |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4566 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
|
4567 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
|
4568 default, the message is decoded and forwarded as an rfc822 MIME section. |
25829 | 4569 |
4570 @item S m | |
4571 @itemx m | |
4572 @kindex m (Summary) | |
4573 @kindex S m (Summary) | |
4574 @findex gnus-summary-mail-other-window | |
4575 @c @icon{gnus-summary-mail-originate} | |
4576 Send a mail to some other person | |
4577 (@code{gnus-summary-mail-other-window}). | |
4578 | |
4579 @item S D b | |
4580 @kindex S D b (Summary) | |
4581 @findex gnus-summary-resend-bounced-mail | |
4582 @cindex bouncing mail | |
4583 If you have sent a mail, but the mail was bounced back to you for some | |
4584 reason (wrong address, transient failure), you can use this command to | |
4585 resend that bounced mail (@code{gnus-summary-resend-bounced-mail}). You | |
4586 will be popped into a mail buffer where you can edit the headers before | |
4587 sending the mail off again. If you give a prefix to this command, and | |
4588 the bounced mail is a reply to some other mail, Gnus will try to fetch | |
4589 that mail and display it for easy perusal of its headers. This might | |
4590 very well fail, though. | |
4591 | |
4592 @item S D r | |
4593 @kindex S D r (Summary) | |
4594 @findex gnus-summary-resend-message | |
4595 Not to be confused with the previous command, | |
4596 @code{gnus-summary-resend-message} will prompt you for an address to | |
4597 send the current message off to, and then send it to that place. The | |
4598 headers of the message won't be altered---but lots of headers that say | |
4599 @code{Resent-To}, @code{Resent-From} and so on will be added. This | |
4600 means that you actually send a mail to someone that has a @code{To} | |
4601 header that (probably) points to yourself. This will confuse people. | |
4602 So, natcherly you'll only do that if you're really eVIl. | |
4603 | |
4604 This command is mainly used if you have several accounts and want to | |
4605 ship a mail to a different account of yours. (If you're both | |
4606 @code{root} and @code{postmaster} and get a mail for @code{postmaster} | |
4607 to the @code{root} account, you may want to resend it to | |
4608 @code{postmaster}. Ordnung muß sein! | |
4609 | |
4610 This command understands the process/prefix convention | |
4611 (@pxref{Process/Prefix}). | |
4612 | |
4613 @item S O m | |
4614 @kindex S O m (Summary) | |
4615 @findex gnus-uu-digest-mail-forward | |
4616 Digest the current series (@pxref{Decoding Articles}) and forward the | |
4617 result using mail (@code{gnus-uu-digest-mail-forward}). This command | |
4618 uses the process/prefix convention (@pxref{Process/Prefix}). | |
4619 | |
4620 @item S M-c | |
4621 @kindex S M-c (Summary) | |
4622 @findex gnus-summary-mail-crosspost-complaint | |
4623 @cindex crossposting | |
4624 @cindex excessive crossposting | |
4625 Send a complaint about excessive crossposting to the author of the | |
4626 current article (@code{gnus-summary-mail-crosspost-complaint}). | |
4627 | |
4628 @findex gnus-crosspost-complaint | |
4629 This command is provided as a way to fight back against the current | |
4630 crossposting pandemic that's sweeping Usenet. It will compose a reply | |
4631 using the @code{gnus-crosspost-complaint} variable as a preamble. This | |
4632 command understands the process/prefix convention | |
4633 (@pxref{Process/Prefix}) and will prompt you before sending each mail. | |
4634 | |
4635 @end table | |
4636 | |
4637 Also @pxref{(message)Header Commands} for more information. | |
4638 | |
4639 | |
4640 @node Summary Post Commands | |
4641 @subsection Summary Post Commands | |
4642 @cindex post | |
4643 @cindex composing news | |
4644 | |
4645 Commands for posting a news article: | |
4646 | |
4647 @table @kbd | |
4648 @item S p | |
4649 @itemx a | |
4650 @kindex a (Summary) | |
4651 @kindex S p (Summary) | |
4652 @findex gnus-summary-post-news | |
4653 @c @icon{gnus-summary-post-news} | |
4654 Post an article to the current group | |
4655 (@code{gnus-summary-post-news}). | |
4656 | |
4657 @item S f | |
4658 @itemx f | |
4659 @kindex f (Summary) | |
4660 @kindex S f (Summary) | |
4661 @findex gnus-summary-followup | |
4662 @c @icon{gnus-summary-followup} | |
4663 Post a followup to the current article (@code{gnus-summary-followup}). | |
4664 | |
4665 @item S F | |
4666 @itemx F | |
4667 @kindex S F (Summary) | |
4668 @kindex F (Summary) | |
4669 @c @icon{gnus-summary-followup-with-original} | |
4670 @findex gnus-summary-followup-with-original | |
4671 Post a followup to the current article and include the original message | |
4672 (@code{gnus-summary-followup-with-original}). This command uses the | |
4673 process/prefix convention. | |
4674 | |
4675 @item S n | |
4676 @kindex S n (Summary) | |
4677 @findex gnus-summary-followup-to-mail | |
4678 Post a followup to the current article via news, even if you got the | |
4679 message through mail (@code{gnus-summary-followup-to-mail}). | |
4680 | |
4681 @item S N | |
4682 @kindex S N (Summary) | |
4683 @findex gnus-summary-followup-to-mail-with-original | |
4684 Post a followup to the current article via news, even if you got the | |
4685 message through mail and include the original message | |
4686 (@code{gnus-summary-followup-to-mail-with-original}). This command uses | |
4687 the process/prefix convention. | |
4688 | |
4689 @item S o p | |
4690 @kindex S o p (Summary) | |
4691 @findex gnus-summary-post-forward | |
4692 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
|
4693 (@code{gnus-summary-post-forward}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4694 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
|
4695 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
|
4696 (@code{message-forward-show-mml}); if the prefix is 1, decode the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4697 message and forward directly inline; if the prefix is 2, foward message |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4698 as an rfc822 MIME section; if the prefix is 3, decode message and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4699 forward as an rfc822 MIME section; if the prefix is 4, foward message |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4700 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
|
4701 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
|
4702 default, the message is decoded and forwarded as an rfc822 MIME section. |
25829 | 4703 |
4704 @item S O p | |
4705 @kindex S O p (Summary) | |
4706 @findex gnus-uu-digest-post-forward | |
4707 @cindex digests | |
4708 @cindex making digests | |
4709 Digest the current series and forward the result to a newsgroup | |
4710 (@code{gnus-uu-digest-mail-forward}). This command uses the | |
4711 process/prefix convention. | |
4712 | |
4713 @item S u | |
4714 @kindex S u (Summary) | |
4715 @findex gnus-uu-post-news | |
4716 @c @icon{gnus-uu-post-news} | |
4717 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
|
4718 (@code{gnus-uu-post-news}). (@pxref{Uuencoding and Posting}). |
25829 | 4719 @end table |
4720 | |
4721 Also @pxref{(message)Header Commands} for more information. | |
4722 | |
4723 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4724 @node Summary Message Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4725 @subsection Summary Message Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4726 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4727 @table @kbd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4728 @item S y |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4729 @kindex S y (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4730 @findex gnus-summary-yank-message |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4731 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
|
4732 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
|
4733 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
|
4734 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
|
4735 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4736 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4737 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4738 |
25829 | 4739 @node Canceling and Superseding |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4740 @subsection Canceling Articles |
25829 | 4741 @cindex canceling articles |
4742 @cindex superseding articles | |
4743 | |
4744 Have you ever written something, and then decided that you really, | |
4745 really, really wish you hadn't posted that? | |
4746 | |
4747 Well, you can't cancel mail, but you can cancel posts. | |
4748 | |
4749 @findex gnus-summary-cancel-article | |
4750 @kindex C (Summary) | |
4751 @c @icon{gnus-summary-cancel-article} | |
4752 Find the article you wish to cancel (you can only cancel your own | |
4753 articles, so don't try any funny stuff). Then press @kbd{C} or @kbd{S | |
4754 c} (@code{gnus-summary-cancel-article}). Your article will be | |
4755 canceled---machines all over the world will be deleting your article. | |
4756 This command uses the process/prefix convention (@pxref{Process/Prefix}). | |
4757 | |
4758 Be aware, however, that not all sites honor cancels, so your article may | |
4759 live on here and there, while most sites will delete the article in | |
4760 question. | |
4761 | |
4762 Gnus will use the ``current'' select method when canceling. If you | |
4763 want to use the standard posting method, use the @samp{a} symbolic | |
4764 prefix (@pxref{Symbolic Prefixes}). | |
4765 | |
4766 If you discover that you have made some mistakes and want to do some | |
4767 corrections, you can post a @dfn{superseding} article that will replace | |
4768 your original article. | |
4769 | |
4770 @findex gnus-summary-supersede-article | |
4771 @kindex S (Summary) | |
4772 Go to the original article and press @kbd{S s} | |
4773 (@code{gnus-summary-supersede-article}). You will be put in a buffer | |
4774 where you can edit the article all you want before sending it off the | |
4775 usual way. | |
4776 | |
4777 The same goes for superseding as for canceling, only more so: Some | |
4778 sites do not honor superseding. On those sites, it will appear that you | |
4779 have posted almost the same article twice. | |
4780 | |
4781 If you have just posted the article, and change your mind right away, | |
4782 there is a trick you can use to cancel/supersede the article without | |
4783 waiting for the article to appear on your site first. You simply return | |
4784 to the post buffer (which is called @code{*sent ...*}). There you will | |
4785 find the article you just posted, with all the headers intact. Change | |
4786 the @code{Message-ID} header to a @code{Cancel} or @code{Supersedes} | |
4787 header by substituting one of those words for the word | |
4788 @code{Message-ID}. Then just press @kbd{C-c C-c} to send the article as | |
4789 you would do normally. The previous article will be | |
4790 canceled/superseded. | |
4791 | |
4792 Just remember, kids: There is no 'c' in 'supersede'. | |
4793 | |
4794 | |
4795 @node Marking Articles | |
4796 @section Marking Articles | |
4797 @cindex article marking | |
4798 @cindex article ticking | |
4799 @cindex marks | |
4800 | |
4801 There are several marks you can set on an article. | |
4802 | |
4803 You have marks that decide the @dfn{readedness} (whoo, neato-keano | |
4804 neologism ohoy!) of the article. Alphabetic marks generally mean | |
4805 @dfn{read}, while non-alphabetic characters generally mean @dfn{unread}. | |
4806 | |
4807 In addition, you also have marks that do not affect readedness. | |
4808 | |
4809 @menu | |
4810 * Unread Articles:: Marks for unread articles. | |
4811 * Read Articles:: Marks for read articles. | |
4812 * Other Marks:: Marks that do not affect readedness. | |
4813 @end menu | |
4814 | |
4815 @ifinfo | |
4816 There's a plethora of commands for manipulating these marks: | |
4817 @end ifinfo | |
4818 | |
4819 @menu | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
4820 * 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
|
4821 * 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
|
4822 * Setting Process Marks:: How to mark articles for later processing. |
25829 | 4823 @end menu |
4824 | |
4825 | |
4826 @node Unread Articles | |
4827 @subsection Unread Articles | |
4828 | |
4829 The following marks mark articles as (kinda) unread, in one form or | |
4830 other. | |
4831 | |
4832 @table @samp | |
4833 @item ! | |
4834 @vindex gnus-ticked-mark | |
4835 Marked as ticked (@code{gnus-ticked-mark}). | |
4836 | |
4837 @dfn{Ticked articles} are articles that will remain visible always. If | |
4838 you see an article that you find interesting, or you want to put off | |
4839 reading it, or replying to it, until sometime later, you'd typically | |
4840 tick it. However, articles can be expired, so if you want to keep an | |
4841 article forever, you'll have to make it persistent (@pxref{Persistent | |
4842 Articles}). | |
4843 | |
4844 @item ? | |
4845 @vindex gnus-dormant-mark | |
4846 Marked as dormant (@code{gnus-dormant-mark}). | |
4847 | |
4848 @dfn{Dormant articles} will only appear in the summary buffer if there | |
4849 are followups to it. If you want to see them even if they don't have | |
4850 followups, you can use the @kbd{/ D} command (@pxref{Limiting}). | |
4851 | |
4852 @item SPACE | |
4853 @vindex gnus-unread-mark | |
4854 Marked as unread (@code{gnus-unread-mark}). | |
4855 | |
4856 @dfn{Unread articles} are articles that haven't been read at all yet. | |
4857 @end table | |
4858 | |
4859 | |
4860 @node Read Articles | |
4861 @subsection Read Articles | |
4862 @cindex expirable mark | |
4863 | |
4864 All the following marks mark articles as read. | |
4865 | |
4866 @table @samp | |
4867 | |
4868 @item r | |
4869 @vindex gnus-del-mark | |
4870 These are articles that the user has marked as read with the @kbd{d} | |
4871 command manually, more or less (@code{gnus-del-mark}). | |
4872 | |
4873 @item R | |
4874 @vindex gnus-read-mark | |
4875 Articles that have actually been read (@code{gnus-read-mark}). | |
4876 | |
4877 @item O | |
4878 @vindex gnus-ancient-mark | |
4879 Articles that were marked as read in previous sessions and are now | |
4880 @dfn{old} (@code{gnus-ancient-mark}). | |
4881 | |
4882 @item K | |
4883 @vindex gnus-killed-mark | |
4884 Marked as killed (@code{gnus-killed-mark}). | |
4885 | |
4886 @item X | |
4887 @vindex gnus-kill-file-mark | |
4888 Marked as killed by kill files (@code{gnus-kill-file-mark}). | |
4889 | |
4890 @item Y | |
4891 @vindex gnus-low-score-mark | |
4892 Marked as read by having too low a score (@code{gnus-low-score-mark}). | |
4893 | |
4894 @item C | |
4895 @vindex gnus-catchup-mark | |
4896 Marked as read by a catchup (@code{gnus-catchup-mark}). | |
4897 | |
4898 @item G | |
4899 @vindex gnus-canceled-mark | |
4900 Canceled article (@code{gnus-canceled-mark}) | |
4901 | |
4902 @item F | |
4903 @vindex gnus-souped-mark | |
26290 | 4904 @sc{soup}ed article (@code{gnus-souped-mark}). @xref{SOUP}. |
25829 | 4905 |
4906 @item Q | |
4907 @vindex gnus-sparse-mark | |
4908 Sparsely reffed article (@code{gnus-sparse-mark}). @xref{Customizing | |
4909 Threading}. | |
4910 | |
4911 @item M | |
4912 @vindex gnus-duplicate-mark | |
4913 Article marked as read by duplicate suppression | |
4914 (@code{gnus-duplicated-mark}). @xref{Duplicate Suppression}. | |
4915 | |
4916 @end table | |
4917 | |
4918 All these marks just mean that the article is marked as read, really. | |
4919 They are interpreted differently when doing adaptive scoring, though. | |
4920 | |
4921 One more special mark, though: | |
4922 | |
4923 @table @samp | |
4924 @item E | |
4925 @vindex gnus-expirable-mark | |
4926 Marked as expirable (@code{gnus-expirable-mark}). | |
4927 | |
4928 Marking articles as @dfn{expirable} (or have them marked as such | |
4929 automatically) doesn't make much sense in normal groups---a user doesn't | |
4930 control expiring of news articles, but in mail groups, for instance, | |
4931 articles marked as @dfn{expirable} can be deleted by Gnus at | |
4932 any time. | |
4933 @end table | |
4934 | |
4935 | |
4936 @node Other Marks | |
4937 @subsection Other Marks | |
4938 @cindex process mark | |
4939 @cindex bookmarks | |
4940 | |
4941 There are some marks that have nothing to do with whether the article is | |
4942 read or not. | |
4943 | |
4944 @itemize @bullet | |
4945 | |
4946 @item | |
4947 You can set a bookmark in the current article. Say you are reading a | |
4948 long thesis on cats' urinary tracts, and have to go home for dinner | |
4949 before you've finished reading the thesis. You can then set a bookmark | |
4950 in the article, and Gnus will jump to this bookmark the next time it | |
4951 encounters the article. @xref{Setting Marks}. | |
4952 | |
4953 @item | |
4954 @vindex gnus-replied-mark | |
4955 All articles that you have replied to or made a followup to (i.e., have | |
4956 answered) will be marked with an @samp{A} in the second column | |
4957 (@code{gnus-replied-mark}). | |
4958 | |
4959 @item | |
4960 @vindex gnus-cached-mark | |
4961 Articles stored in the article cache will be marked with an @samp{*} in | |
4962 the second column (@code{gnus-cached-mark}). @xref{Article Caching}. | |
4963 | |
4964 @item | |
4965 @vindex gnus-saved-mark | |
4966 Articles ``saved'' (in some manner or other; not necessarily | |
4967 religiously) are marked with an @samp{S} in the second column | |
4968 (@code{gnus-saved-mark}). | |
4969 | |
4970 @item | |
4971 @vindex gnus-not-empty-thread-mark | |
4972 @vindex gnus-empty-thread-mark | |
4973 If the @samp{%e} spec is used, the presence of threads or not will be | |
4974 marked with @code{gnus-not-empty-thread-mark} and | |
4975 @code{gnus-empty-thread-mark} in the third column, respectively. | |
4976 | |
4977 @item | |
4978 @vindex gnus-process-mark | |
4979 Finally we have the @dfn{process mark} (@code{gnus-process-mark}). A | |
4980 variety of commands react to the presence of the process mark. For | |
4981 instance, @kbd{X u} (@code{gnus-uu-decode-uu}) will uudecode and view | |
4982 all articles that have been marked with the process mark. Articles | |
4983 marked with the process mark have a @samp{#} in the second column. | |
4984 | |
4985 @end itemize | |
4986 | |
4987 You might have noticed that most of these ``non-readedness'' marks | |
4988 appear in the second column by default. So if you have a cached, saved, | |
4989 replied article that you have process-marked, what will that look like? | |
4990 | |
4991 Nothing much. The precedence rules go as follows: process -> cache -> | |
4992 replied -> saved. So if the article is in the cache and is replied, | |
4993 you'll only see the cache mark and not the replied mark. | |
4994 | |
4995 | |
4996 @node Setting Marks | |
4997 @subsection Setting Marks | |
4998 @cindex setting marks | |
4999 | |
5000 All the marking commands understand the numeric prefix. | |
5001 | |
5002 @table @kbd | |
5003 @item M c | |
5004 @itemx M-u | |
5005 @kindex M c (Summary) | |
5006 @kindex M-u (Summary) | |
5007 @findex gnus-summary-clear-mark-forward | |
5008 @cindex mark as unread | |
5009 Clear all readedness-marks from the current article | |
5010 (@code{gnus-summary-clear-mark-forward}). In other words, mark the | |
5011 article as unread. | |
5012 | |
5013 @item M t | |
5014 @itemx ! | |
5015 @kindex ! (Summary) | |
5016 @kindex M t (Summary) | |
5017 @findex gnus-summary-tick-article-forward | |
5018 Tick the current article (@code{gnus-summary-tick-article-forward}). | |
5019 @xref{Article Caching}. | |
5020 | |
5021 @item M ? | |
5022 @itemx ? | |
5023 @kindex ? (Summary) | |
5024 @kindex M ? (Summary) | |
5025 @findex gnus-summary-mark-as-dormant | |
5026 Mark the current article as dormant | |
5027 (@code{gnus-summary-mark-as-dormant}). @xref{Article Caching}. | |
5028 | |
5029 @item M d | |
5030 @itemx d | |
5031 @kindex M d (Summary) | |
5032 @kindex d (Summary) | |
5033 @findex gnus-summary-mark-as-read-forward | |
5034 Mark the current article as read | |
5035 (@code{gnus-summary-mark-as-read-forward}). | |
5036 | |
5037 @item D | |
5038 @kindex D (Summary) | |
5039 @findex gnus-summary-mark-as-read-backward | |
5040 Mark the current article as read and move point to the previous line | |
5041 (@code{gnus-summary-mark-as-read-backward}). | |
5042 | |
5043 @item M k | |
5044 @itemx k | |
5045 @kindex k (Summary) | |
5046 @kindex M k (Summary) | |
5047 @findex gnus-summary-kill-same-subject-and-select | |
5048 Mark all articles that have the same subject as the current one as read, | |
5049 and then select the next unread article | |
5050 (@code{gnus-summary-kill-same-subject-and-select}). | |
5051 | |
5052 @item M K | |
5053 @itemx C-k | |
5054 @kindex M K (Summary) | |
5055 @kindex C-k (Summary) | |
5056 @findex gnus-summary-kill-same-subject | |
5057 Mark all articles that have the same subject as the current one as read | |
5058 (@code{gnus-summary-kill-same-subject}). | |
5059 | |
5060 @item M C | |
5061 @kindex M C (Summary) | |
5062 @findex gnus-summary-catchup | |
5063 @c @icon{gnus-summary-catchup} | |
5064 Mark all unread articles as read (@code{gnus-summary-catchup}). | |
5065 | |
5066 @item M C-c | |
5067 @kindex M C-c (Summary) | |
5068 @findex gnus-summary-catchup-all | |
5069 Mark all articles in the group as read---even the ticked and dormant | |
5070 articles (@code{gnus-summary-catchup-all}). | |
5071 | |
5072 @item M H | |
5073 @kindex M H (Summary) | |
5074 @findex gnus-summary-catchup-to-here | |
5075 Catchup the current group to point | |
5076 (@code{gnus-summary-catchup-to-here}). | |
5077 | |
5078 @item C-w | |
5079 @kindex C-w (Summary) | |
5080 @findex gnus-summary-mark-region-as-read | |
5081 Mark all articles between point and mark as read | |
5082 (@code{gnus-summary-mark-region-as-read}). | |
5083 | |
5084 @item M V k | |
5085 @kindex M V k (Summary) | |
5086 @findex gnus-summary-kill-below | |
5087 Kill all articles with scores below the default score (or below the | |
5088 numeric prefix) (@code{gnus-summary-kill-below}). | |
5089 | |
5090 @item M e | |
5091 @itemx E | |
5092 @kindex M e (Summary) | |
5093 @kindex E (Summary) | |
5094 @findex gnus-summary-mark-as-expirable | |
5095 Mark the current article as expirable | |
5096 (@code{gnus-summary-mark-as-expirable}). | |
5097 | |
5098 @item M b | |
5099 @kindex M b (Summary) | |
5100 @findex gnus-summary-set-bookmark | |
5101 Set a bookmark in the current article | |
5102 (@code{gnus-summary-set-bookmark}). | |
5103 | |
5104 @item M B | |
5105 @kindex M B (Summary) | |
5106 @findex gnus-summary-remove-bookmark | |
5107 Remove the bookmark from the current article | |
5108 (@code{gnus-summary-remove-bookmark}). | |
5109 | |
5110 @item M V c | |
5111 @kindex M V c (Summary) | |
5112 @findex gnus-summary-clear-above | |
5113 Clear all marks from articles with scores over the default score (or | |
5114 over the numeric prefix) (@code{gnus-summary-clear-above}). | |
5115 | |
5116 @item M V u | |
5117 @kindex M V u (Summary) | |
5118 @findex gnus-summary-tick-above | |
5119 Tick all articles with scores over the default score (or over the | |
5120 numeric prefix) (@code{gnus-summary-tick-above}). | |
5121 | |
5122 @item M V m | |
5123 @kindex M V m (Summary) | |
5124 @findex gnus-summary-mark-above | |
5125 Prompt for a mark, and mark all articles with scores over the default | |
5126 score (or over the numeric prefix) with this mark | |
5127 (@code{gnus-summary-clear-above}). | |
5128 @end table | |
5129 | |
5130 @vindex gnus-summary-goto-unread | |
5131 The @code{gnus-summary-goto-unread} variable controls what action should | |
5132 be taken after setting a mark. If non-@code{nil}, point will move to | |
5133 the next/previous unread article. If @code{nil}, point will just move | |
5134 one line up or down. As a special case, if this variable is | |
5135 @code{never}, all the marking commands as well as other commands (like | |
5136 @kbd{SPACE}) will move to the next article, whether it is unread or not. | |
5137 The default is @code{t}. | |
5138 | |
5139 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5140 @node Generic Marking Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5141 @subsection Generic Marking Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5142 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5143 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
|
5144 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
|
5145 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
|
5146 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
|
5147 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
|
5148 well. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5149 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5150 Multiply these five behaviours with five different marking commands, and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5151 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
|
5152 command should do. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5153 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5154 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
|
5155 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
|
5156 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
|
5157 to list in this manual. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5158 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5159 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
|
5160 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
|
5161 @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
|
5162 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
|
5163 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5164 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5165 (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
|
5166 (defun my-alter-summary-map () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5167 (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
|
5168 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5169 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5170 or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5171 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5172 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5173 (defun my-alter-summary-map () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5174 (local-set-key "!" "MM!n")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5175 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5176 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5177 |
25829 | 5178 @node Setting Process Marks |
5179 @subsection Setting Process Marks | |
5180 @cindex setting process marks | |
5181 | |
5182 @table @kbd | |
5183 | |
5184 @item M P p | |
5185 @itemx # | |
5186 @kindex # (Summary) | |
5187 @kindex M P p (Summary) | |
5188 @findex gnus-summary-mark-as-processable | |
5189 Mark the current article with the process mark | |
5190 (@code{gnus-summary-mark-as-processable}). | |
5191 @findex gnus-summary-unmark-as-processable | |
5192 | |
5193 @item M P u | |
5194 @itemx M-# | |
5195 @kindex M P u (Summary) | |
5196 @kindex M-# (Summary) | |
5197 Remove the process mark, if any, from the current article | |
5198 (@code{gnus-summary-unmark-as-processable}). | |
5199 | |
5200 @item M P U | |
5201 @kindex M P U (Summary) | |
5202 @findex gnus-summary-unmark-all-processable | |
5203 Remove the process mark from all articles | |
5204 (@code{gnus-summary-unmark-all-processable}). | |
5205 | |
5206 @item M P i | |
5207 @kindex M P i (Summary) | |
5208 @findex gnus-uu-invert-processable | |
5209 Invert the list of process marked articles | |
5210 (@code{gnus-uu-invert-processable}). | |
5211 | |
5212 @item M P R | |
5213 @kindex M P R (Summary) | |
5214 @findex gnus-uu-mark-by-regexp | |
5215 Mark articles that have a @code{Subject} header that matches a regular | |
5216 expression (@code{gnus-uu-mark-by-regexp}). | |
5217 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5218 @item M P G |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5219 @kindex M P G (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5220 @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
|
5221 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
|
5222 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
|
5223 |
25829 | 5224 @item M P r |
5225 @kindex M P r (Summary) | |
5226 @findex gnus-uu-mark-region | |
5227 Mark articles in region (@code{gnus-uu-mark-region}). | |
5228 | |
5229 @item M P t | |
5230 @kindex M P t (Summary) | |
5231 @findex gnus-uu-mark-thread | |
5232 Mark all articles in the current (sub)thread | |
5233 (@code{gnus-uu-mark-thread}). | |
5234 | |
5235 @item M P T | |
5236 @kindex M P T (Summary) | |
5237 @findex gnus-uu-unmark-thread | |
5238 Unmark all articles in the current (sub)thread | |
5239 (@code{gnus-uu-unmark-thread}). | |
5240 | |
5241 @item M P v | |
5242 @kindex M P v (Summary) | |
5243 @findex gnus-uu-mark-over | |
5244 Mark all articles that have a score above the prefix argument | |
5245 (@code{gnus-uu-mark-over}). | |
5246 | |
5247 @item M P s | |
5248 @kindex M P s (Summary) | |
5249 @findex gnus-uu-mark-series | |
5250 Mark all articles in the current series (@code{gnus-uu-mark-series}). | |
5251 | |
5252 @item M P S | |
5253 @kindex M P S (Summary) | |
5254 @findex gnus-uu-mark-sparse | |
5255 Mark all series that have already had some articles marked | |
5256 (@code{gnus-uu-mark-sparse}). | |
5257 | |
5258 @item M P a | |
5259 @kindex M P a (Summary) | |
5260 @findex gnus-uu-mark-all | |
5261 Mark all articles in series order (@code{gnus-uu-mark-series}). | |
5262 | |
5263 @item M P b | |
5264 @kindex M P b (Summary) | |
5265 @findex gnus-uu-mark-buffer | |
5266 Mark all articles in the buffer in the order they appear | |
5267 (@code{gnus-uu-mark-buffer}). | |
5268 | |
5269 @item M P k | |
5270 @kindex M P k (Summary) | |
5271 @findex gnus-summary-kill-process-mark | |
5272 Push the current process mark set onto the stack and unmark all articles | |
5273 (@code{gnus-summary-kill-process-mark}). | |
5274 | |
5275 @item M P y | |
5276 @kindex M P y (Summary) | |
5277 @findex gnus-summary-yank-process-mark | |
5278 Pop the previous process mark set from the stack and restore it | |
5279 (@code{gnus-summary-yank-process-mark}). | |
5280 | |
5281 @item M P w | |
5282 @kindex M P w (Summary) | |
5283 @findex gnus-summary-save-process-mark | |
5284 Push the current process mark set onto the stack | |
5285 (@code{gnus-summary-save-process-mark}). | |
5286 | |
5287 @end table | |
5288 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5289 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
|
5290 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
|
5291 |
25829 | 5292 |
5293 @node Limiting | |
5294 @section Limiting | |
5295 @cindex limiting | |
5296 | |
5297 It can be convenient to limit the summary buffer to just show some | |
5298 subset of the articles currently in the group. The effect most limit | |
5299 commands have is to remove a few (or many) articles from the summary | |
5300 buffer. | |
5301 | |
5302 All limiting commands work on subsets of the articles already fetched | |
5303 from the servers. None of these commands query the server for | |
5304 additional articles. | |
5305 | |
5306 @table @kbd | |
5307 | |
5308 @item / / | |
5309 @itemx / s | |
5310 @kindex / / (Summary) | |
5311 @findex gnus-summary-limit-to-subject | |
5312 Limit the summary buffer to articles that match some subject | |
5313 (@code{gnus-summary-limit-to-subject}). | |
5314 | |
5315 @item / a | |
5316 @kindex / a (Summary) | |
5317 @findex gnus-summary-limit-to-author | |
5318 Limit the summary buffer to articles that match some author | |
5319 (@code{gnus-summary-limit-to-author}). | |
5320 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5321 @item / x |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5322 @kindex / x (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5323 @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
|
5324 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
|
5325 headers (@pxref{To From Newsgroups}) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5326 (@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
|
5327 |
25829 | 5328 @item / u |
5329 @itemx x | |
5330 @kindex / u (Summary) | |
5331 @kindex x (Summary) | |
5332 @findex gnus-summary-limit-to-unread | |
5333 Limit the summary buffer to articles not marked as read | |
5334 (@code{gnus-summary-limit-to-unread}). If given a prefix, limit the | |
5335 buffer to articles strictly unread. This means that ticked and | |
5336 dormant articles will also be excluded. | |
5337 | |
5338 @item / m | |
5339 @kindex / m (Summary) | |
5340 @findex gnus-summary-limit-to-marks | |
5341 Ask for a mark and then limit to all articles that have been marked | |
5342 with that mark (@code{gnus-summary-limit-to-marks}). | |
5343 | |
5344 @item / t | |
5345 @kindex / t (Summary) | |
5346 @findex gnus-summary-limit-to-age | |
5347 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
|
5348 (@code{gnus-summary-limit-to-age}). If given a prefix, limit to |
25829 | 5349 articles younger than that number of days. |
5350 | |
5351 @item / n | |
5352 @kindex / n (Summary) | |
5353 @findex gnus-summary-limit-to-articles | |
5354 Limit the summary buffer to the current article | |
5355 (@code{gnus-summary-limit-to-articles}). Uses the process/prefix | |
5356 convention (@pxref{Process/Prefix}). | |
5357 | |
5358 @item / w | |
5359 @kindex / w (Summary) | |
5360 @findex gnus-summary-pop-limit | |
5361 Pop the previous limit off the stack and restore it | |
5362 (@code{gnus-summary-pop-limit}). If given a prefix, pop all limits off | |
5363 the stack. | |
5364 | |
5365 @item / v | |
5366 @kindex / v (Summary) | |
5367 @findex gnus-summary-limit-to-score | |
5368 Limit the summary buffer to articles that have a score at or above some | |
5369 score (@code{gnus-summary-limit-to-score}). | |
5370 | |
5371 @item / E | |
5372 @itemx M S | |
5373 @kindex M S (Summary) | |
5374 @kindex / E (Summary) | |
5375 @findex gnus-summary-limit-include-expunged | |
5376 Include all expunged articles in the limit | |
5377 (@code{gnus-summary-limit-include-expunged}). | |
5378 | |
5379 @item / D | |
5380 @kindex / D (Summary) | |
5381 @findex gnus-summary-limit-include-dormant | |
5382 Include all dormant articles in the limit | |
5383 (@code{gnus-summary-limit-include-dormant}). | |
5384 | |
5385 @item / * | |
5386 @kindex / * (Summary) | |
5387 @findex gnus-summary-limit-include-cached | |
5388 Include all cached articles in the limit | |
5389 (@code{gnus-summary-limit-include-cached}). | |
5390 | |
5391 @item / d | |
5392 @kindex / d (Summary) | |
5393 @findex gnus-summary-limit-exclude-dormant | |
5394 Exclude all dormant articles from the limit | |
5395 (@code{gnus-summary-limit-exclude-dormant}). | |
5396 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5397 @item / M |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5398 @kindex / M (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5399 @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
|
5400 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
|
5401 |
25829 | 5402 @item / T |
5403 @kindex / T (Summary) | |
5404 @findex gnus-summary-limit-include-thread | |
5405 Include all the articles in the current thread in the limit. | |
5406 | |
5407 @item / c | |
5408 @kindex / c (Summary) | |
5409 @findex gnus-summary-limit-exclude-childless-dormant | |
5410 Exclude all dormant articles that have no children from the limit | |
5411 (@code{gnus-summary-limit-exclude-childless-dormant}). | |
5412 | |
5413 @item / C | |
5414 @kindex / C (Summary) | |
5415 @findex gnus-summary-limit-mark-excluded-as-read | |
5416 Mark all excluded unread articles as read | |
5417 (@code{gnus-summary-limit-mark-excluded-as-read}). If given a prefix, | |
5418 also mark excluded ticked and dormant articles as read. | |
5419 | |
5420 @end table | |
5421 | |
5422 | |
5423 @node Threading | |
5424 @section Threading | |
5425 @cindex threading | |
5426 @cindex article threading | |
5427 | |
5428 Gnus threads articles by default. @dfn{To thread} is to put responses | |
5429 to articles directly after the articles they respond to---in a | |
5430 hierarchical fashion. | |
5431 | |
5432 Threading is done by looking at the @code{References} headers of the | |
5433 articles. In a perfect world, this would be enough to build pretty | |
5434 trees, but unfortunately, the @code{References} header is often broken | |
5435 or simply missing. Weird news propagation excarcerbates the problem, | |
5436 so one has to employ other heuristics to get pleasing results. A | |
5437 plethora of approaches exists, as detailed in horrible detail in | |
5438 @pxref{Customizing Threading}. | |
5439 | |
5440 First, a quick overview of the concepts: | |
5441 | |
5442 @table @dfn | |
5443 @item root | |
5444 The top-most article in a thread; the first article in the thread. | |
5445 | |
5446 @item thread | |
5447 A tree-like article structure. | |
5448 | |
5449 @item sub-thread | |
5450 A small(er) section of this tree-like structure. | |
5451 | |
5452 @item loose threads | |
5453 Threads often lose their roots due to article expiry, or due to the root | |
5454 already having been read in a previous session, and not displayed in the | |
5455 summary buffer. We then typically have many sub-threads that really | |
5456 belong to one thread, but are without connecting roots. These are | |
5457 called loose threads. | |
5458 | |
5459 @item thread gathering | |
5460 An attempt to gather loose threads into bigger threads. | |
5461 | |
5462 @item sparse threads | |
5463 A thread where the missing articles have been ``guessed'' at, and are | |
5464 displayed as empty lines in the summary buffer. | |
5465 | |
5466 @end table | |
5467 | |
5468 | |
5469 @menu | |
5470 * Customizing Threading:: Variables you can change to affect the threading. | |
5471 * Thread Commands:: Thread based commands in the summary buffer. | |
5472 @end menu | |
5473 | |
5474 | |
5475 @node Customizing Threading | |
5476 @subsection Customizing Threading | |
5477 @cindex customizing threading | |
5478 | |
5479 @menu | |
5480 * Loose Threads:: How Gnus gathers loose threads into bigger threads. | |
5481 * Filling In Threads:: Making the threads displayed look fuller. | |
5482 * More Threading:: Even more variables for fiddling with threads. | |
5483 * Low-Level Threading:: You thought it was over... but you were wrong! | |
5484 @end menu | |
5485 | |
5486 | |
5487 @node Loose Threads | |
5488 @subsubsection Loose Threads | |
5489 @cindex < | |
5490 @cindex > | |
5491 @cindex loose threads | |
5492 | |
5493 @table @code | |
5494 @item gnus-summary-make-false-root | |
5495 @vindex gnus-summary-make-false-root | |
5496 If non-@code{nil}, Gnus will gather all loose subtrees into one big tree | |
5497 and create a dummy root at the top. (Wait a minute. Root at the top? | |
5498 Yup.) Loose subtrees occur when the real root has expired, or you've | |
5499 read or killed the root in a previous session. | |
5500 | |
5501 When there is no real root of a thread, Gnus will have to fudge | |
5502 something. This variable says what fudging method Gnus should use. | |
5503 There are four possible values: | |
5504 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5505 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5506 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5507 \gnusfigure{The Summary Buffer}{390}{ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5508 \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
|
5509 \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
|
5510 \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
|
5511 \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
|
5512 } |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5513 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5514 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5515 |
25829 | 5516 @cindex adopting articles |
5517 | |
5518 @table @code | |
5519 | |
5520 @item adopt | |
5521 Gnus will make the first of the orphaned articles the parent. This | |
5522 parent will adopt all the other articles. The adopted articles will be | |
5523 marked as such by pointy brackets (@samp{<>}) instead of the standard | |
5524 square brackets (@samp{[]}). This is the default method. | |
5525 | |
5526 @item dummy | |
5527 @vindex gnus-summary-dummy-line-format | |
5528 Gnus will create a dummy summary line that will pretend to be the | |
5529 parent. This dummy line does not correspond to any real article, so | |
5530 selecting it will just select the first real article after the dummy | |
5531 article. @code{gnus-summary-dummy-line-format} is used to specify the | |
5532 format of the dummy roots. It accepts only one format spec: @samp{S}, | |
5533 which is the subject of the article. @xref{Formatting Variables}. | |
5534 | |
5535 @item empty | |
5536 Gnus won't actually make any article the parent, but simply leave the | |
5537 subject field of all orphans except the first empty. (Actually, it will | |
5538 use @code{gnus-summary-same-subject} as the subject (@pxref{Summary | |
5539 Buffer Format}).) | |
5540 | |
5541 @item none | |
5542 Don't make any article parent at all. Just gather the threads and | |
5543 display them after one another. | |
5544 | |
5545 @item nil | |
5546 Don't gather loose threads. | |
5547 @end table | |
5548 | |
5549 @item gnus-summary-gather-subject-limit | |
5550 @vindex gnus-summary-gather-subject-limit | |
5551 Loose threads are gathered by comparing subjects of articles. If this | |
5552 variable is @code{nil}, Gnus requires an exact match between the | |
5553 subjects of the loose threads before gathering them into one big | |
5554 super-thread. This might be too strict a requirement, what with the | |
5555 presence of stupid newsreaders that chop off long subject lines. If | |
5556 you think so, set this variable to, say, 20 to require that only the | |
5557 first 20 characters of the subjects have to match. If you set this | |
5558 variable to a really low number, you'll find that Gnus will gather | |
5559 everything in sight into one thread, which isn't very helpful. | |
5560 | |
5561 @cindex fuzzy article gathering | |
5562 If you set this variable to the special value @code{fuzzy}, Gnus will | |
5563 use a fuzzy string comparison algorithm on the subjects (@pxref{Fuzzy | |
5564 Matching}). | |
5565 | |
5566 @item gnus-simplify-subject-fuzzy-regexp | |
5567 @vindex gnus-simplify-subject-fuzzy-regexp | |
5568 This can either be a regular expression or list of regular expressions | |
5569 that match strings that will be removed from subjects if fuzzy subject | |
5570 simplification is used. | |
5571 | |
5572 @item gnus-simplify-ignored-prefixes | |
5573 @vindex gnus-simplify-ignored-prefixes | |
5574 If you set @code{gnus-summary-gather-subject-limit} to something as low | |
5575 as 10, you might consider setting this variable to something sensible: | |
5576 | |
5577 @c Written by Michael Ernst <mernst@cs.rice.edu> | |
5578 @lisp | |
5579 (setq gnus-simplify-ignored-prefixes | |
5580 (concat | |
5581 "\\`\\[?\\(" | |
5582 (mapconcat | |
5583 'identity | |
5584 '("looking" | |
5585 "wanted" "followup" "summary\\( of\\)?" | |
5586 "help" "query" "problem" "question" | |
5587 "answer" "reference" "announce" | |
5588 "How can I" "How to" "Comparison of" | |
5589 ;; ... | |
5590 ) | |
5591 "\\|") | |
5592 "\\)\\s *\\(" | |
5593 (mapconcat 'identity | |
5594 '("for" "for reference" "with" "about") | |
5595 "\\|") | |
5596 "\\)?\\]?:?[ \t]*")) | |
5597 @end lisp | |
5598 | |
5599 All words that match this regexp will be removed before comparing two | |
5600 subjects. | |
5601 | |
5602 @item gnus-simplify-subject-functions | |
5603 @vindex gnus-simplify-subject-functions | |
5604 If non-@code{nil}, this variable overrides | |
5605 @code{gnus-summary-gather-subject-limit}. This variable should be a | |
5606 list of functions to apply to the @code{Subject} string iteratively to | |
5607 arrive at the simplified version of the string. | |
5608 | |
5609 Useful functions to put in this list include: | |
5610 | |
5611 @table @code | |
5612 @item gnus-simplify-subject-re | |
5613 @findex gnus-simplify-subject-re | |
5614 Strip the leading @samp{Re:}. | |
5615 | |
5616 @item gnus-simplify-subject-fuzzy | |
5617 @findex gnus-simplify-subject-fuzzy | |
5618 Simplify fuzzily. | |
5619 | |
5620 @item gnus-simplify-whitespace | |
5621 @findex gnus-simplify-whitespace | |
5622 Remove excessive whitespace. | |
5623 @end table | |
5624 | |
5625 You may also write your own functions, of course. | |
5626 | |
5627 | |
5628 @item gnus-summary-gather-exclude-subject | |
5629 @vindex gnus-summary-gather-exclude-subject | |
5630 Since loose thread gathering is done on subjects only, that might lead | |
5631 to many false hits, especially with certain common subjects like | |
5632 @samp{} and @samp{(none)}. To make the situation slightly better, | |
5633 you can use the regexp @code{gnus-summary-gather-exclude-subject} to say | |
5634 what subjects should be excluded from the gathering process.@* | |
5635 The default is @samp{^ *$\\|^(none)$}. | |
5636 | |
5637 @item gnus-summary-thread-gathering-function | |
5638 @vindex gnus-summary-thread-gathering-function | |
5639 Gnus gathers threads by looking at @code{Subject} headers. This means | |
5640 that totally unrelated articles may end up in the same ``thread'', which | |
5641 is confusing. An alternate approach is to look at all the | |
5642 @code{Message-ID}s in all the @code{References} headers to find matches. | |
5643 This will ensure that no gathered threads ever include unrelated | |
5644 articles, but it also means that people who have posted with broken | |
5645 newsreaders won't be gathered properly. The choice is yours---plague or | |
5646 cholera: | |
5647 | |
5648 @table @code | |
5649 @item gnus-gather-threads-by-subject | |
5650 @findex gnus-gather-threads-by-subject | |
5651 This function is the default gathering function and looks at | |
5652 @code{Subject}s exclusively. | |
5653 | |
5654 @item gnus-gather-threads-by-references | |
5655 @findex gnus-gather-threads-by-references | |
5656 This function looks at @code{References} headers exclusively. | |
5657 @end table | |
5658 | |
5659 If you want to test gathering by @code{References}, you could say | |
5660 something like: | |
5661 | |
5662 @lisp | |
5663 (setq gnus-summary-thread-gathering-function | |
5664 'gnus-gather-threads-by-references) | |
5665 @end lisp | |
5666 | |
5667 @end table | |
5668 | |
5669 | |
5670 @node Filling In Threads | |
5671 @subsubsection Filling In Threads | |
5672 | |
5673 @table @code | |
5674 @item gnus-fetch-old-headers | |
5675 @vindex gnus-fetch-old-headers | |
5676 If non-@code{nil}, Gnus will attempt to build old threads by fetching | |
5677 more old headers---headers to articles marked as read. If you | |
5678 would like to display as few summary lines as possible, but still | |
5679 connect as many loose threads as possible, you should set this variable | |
5680 to @code{some} or a number. If you set it to a number, no more than | |
5681 that number of extra old headers will be fetched. In either case, | |
5682 fetching old headers only works if the backend you are using carries | |
5683 overview files---this would normally be @code{nntp}, @code{nnspool} and | |
5684 @code{nnml}. Also remember that if the root of the thread has been | |
5685 expired by the server, there's not much Gnus can do about that. | |
5686 | |
5687 This variable can also be set to @code{invisible}. This won't have any | |
5688 visible effects, but is useful if you use the @kbd{A T} command a lot | |
5689 (@pxref{Finding the Parent}). | |
5690 | |
5691 @item gnus-build-sparse-threads | |
5692 @vindex gnus-build-sparse-threads | |
5693 Fetching old headers can be slow. A low-rent similar effect can be | |
5694 gotten by setting this variable to @code{some}. Gnus will then look at | |
5695 the complete @code{References} headers of all articles and try to string | |
5696 together articles that belong in the same thread. This will leave | |
5697 @dfn{gaps} in the threading display where Gnus guesses that an article | |
5698 is missing from the thread. (These gaps appear like normal summary | |
5699 lines. If you select a gap, Gnus will try to fetch the article in | |
5700 question.) If this variable is @code{t}, Gnus will display all these | |
5701 ``gaps'' without regard for whether they are useful for completing the | |
5702 thread or not. Finally, if this variable is @code{more}, Gnus won't cut | |
5703 off sparse leaf nodes that don't lead anywhere. This variable is | |
5704 @code{nil} by default. | |
5705 | |
5706 @end table | |
5707 | |
5708 | |
5709 @node More Threading | |
5710 @subsubsection More Threading | |
5711 | |
5712 @table @code | |
5713 @item gnus-show-threads | |
5714 @vindex gnus-show-threads | |
5715 If this variable is @code{nil}, no threading will be done, and all of | |
5716 the rest of the variables here will have no effect. Turning threading | |
5717 off will speed group selection up a bit, but it is sure to make reading | |
5718 slower and more awkward. | |
5719 | |
5720 @item gnus-thread-hide-subtree | |
5721 @vindex gnus-thread-hide-subtree | |
5722 If non-@code{nil}, all threads will be hidden when the summary buffer is | |
5723 generated. | |
5724 | |
5725 @item gnus-thread-expunge-below | |
5726 @vindex gnus-thread-expunge-below | |
5727 All threads that have a total score (as defined by | |
5728 @code{gnus-thread-score-function}) less than this number will be | |
5729 expunged. This variable is @code{nil} by default, which means that no | |
5730 threads are expunged. | |
5731 | |
5732 @item gnus-thread-hide-killed | |
5733 @vindex gnus-thread-hide-killed | |
5734 if you kill a thread and this variable is non-@code{nil}, the subtree | |
5735 will be hidden. | |
5736 | |
5737 @item gnus-thread-ignore-subject | |
5738 @vindex gnus-thread-ignore-subject | |
5739 Sometimes somebody changes the subject in the middle of a thread. If | |
5740 this variable is non-@code{nil}, the subject change is ignored. If it | |
5741 is @code{nil}, which is the default, a change in the subject will result | |
5742 in a new thread. | |
5743 | |
5744 @item gnus-thread-indent-level | |
5745 @vindex gnus-thread-indent-level | |
5746 This is a number that says how much each sub-thread should be indented. | |
5747 The default is 4. | |
5748 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5749 @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
|
5750 @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
|
5751 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
|
5752 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
|
5753 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
|
5754 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
|
5755 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
|
5756 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
|
5757 (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
|
5758 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
|
5759 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
|
5760 |
25829 | 5761 @end table |
5762 | |
5763 | |
5764 @node Low-Level Threading | |
5765 @subsubsection Low-Level Threading | |
5766 | |
5767 @table @code | |
5768 | |
5769 @item gnus-parse-headers-hook | |
5770 @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
|
5771 Hook run before parsing any headers. |
25829 | 5772 |
5773 @item gnus-alter-header-function | |
5774 @vindex gnus-alter-header-function | |
5775 If non-@code{nil}, this function will be called to allow alteration of | |
5776 article header structures. The function is called with one parameter, | |
5777 the article header vector, which it may alter in any way. For instance, | |
5778 if you have a mail-to-news gateway which alters the @code{Message-ID}s | |
5779 in systematic ways (by adding prefixes and such), you can use this | |
5780 variable to un-scramble the @code{Message-ID}s so that they are more | |
5781 meaningful. Here's one example: | |
5782 | |
5783 @lisp | |
5784 (setq gnus-alter-header-function 'my-alter-message-id) | |
5785 | |
5786 (defun my-alter-message-id (header) | |
5787 (let ((id (mail-header-id header))) | |
5788 (when (string-match | |
5789 "\\(<[^<>@@]*\\)\\.?cygnus\\..*@@\\([^<>@@]*>\\)" id) | |
5790 (mail-header-set-id | |
5791 (concat (match-string 1 id) "@@" (match-string 2 id)) | |
5792 header)))) | |
5793 @end lisp | |
5794 | |
5795 @end table | |
5796 | |
5797 | |
5798 @node Thread Commands | |
5799 @subsection Thread Commands | |
5800 @cindex thread commands | |
5801 | |
5802 @table @kbd | |
5803 | |
5804 @item T k | |
5805 @itemx M-C-k | |
5806 @kindex T k (Summary) | |
5807 @kindex M-C-k (Summary) | |
5808 @findex gnus-summary-kill-thread | |
5809 Mark all articles in the current (sub-)thread as read | |
5810 (@code{gnus-summary-kill-thread}). If the prefix argument is positive, | |
5811 remove all marks instead. If the prefix argument is negative, tick | |
5812 articles instead. | |
5813 | |
5814 @item T l | |
5815 @itemx M-C-l | |
5816 @kindex T l (Summary) | |
5817 @kindex M-C-l (Summary) | |
5818 @findex gnus-summary-lower-thread | |
5819 Lower the score of the current (sub-)thread | |
5820 (@code{gnus-summary-lower-thread}). | |
5821 | |
5822 @item T i | |
5823 @kindex T i (Summary) | |
5824 @findex gnus-summary-raise-thread | |
5825 Increase the score of the current (sub-)thread | |
5826 (@code{gnus-summary-raise-thread}). | |
5827 | |
5828 @item T # | |
5829 @kindex T # (Summary) | |
5830 @findex gnus-uu-mark-thread | |
5831 Set the process mark on the current (sub-)thread | |
5832 (@code{gnus-uu-mark-thread}). | |
5833 | |
5834 @item T M-# | |
5835 @kindex T M-# (Summary) | |
5836 @findex gnus-uu-unmark-thread | |
5837 Remove the process mark from the current (sub-)thread | |
5838 (@code{gnus-uu-unmark-thread}). | |
5839 | |
5840 @item T T | |
5841 @kindex T T (Summary) | |
5842 @findex gnus-summary-toggle-threads | |
5843 Toggle threading (@code{gnus-summary-toggle-threads}). | |
5844 | |
5845 @item T s | |
5846 @kindex T s (Summary) | |
5847 @findex gnus-summary-show-thread | |
5848 Expose the (sub-)thread hidden under the current article, if any | |
5849 (@code{gnus-summary-show-thread}). | |
5850 | |
5851 @item T h | |
5852 @kindex T h (Summary) | |
5853 @findex gnus-summary-hide-thread | |
5854 Hide the current (sub-)thread (@code{gnus-summary-hide-thread}). | |
5855 | |
5856 @item T S | |
5857 @kindex T S (Summary) | |
5858 @findex gnus-summary-show-all-threads | |
5859 Expose all hidden threads (@code{gnus-summary-show-all-threads}). | |
5860 | |
5861 @item T H | |
5862 @kindex T H (Summary) | |
5863 @findex gnus-summary-hide-all-threads | |
5864 Hide all threads (@code{gnus-summary-hide-all-threads}). | |
5865 | |
5866 @item T t | |
5867 @kindex T t (Summary) | |
5868 @findex gnus-summary-rethread-current | |
5869 Re-thread the current article's thread | |
5870 (@code{gnus-summary-rethread-current}). This works even when the | |
5871 summary buffer is otherwise unthreaded. | |
5872 | |
5873 @item T ^ | |
5874 @kindex T ^ (Summary) | |
5875 @findex gnus-summary-reparent-thread | |
5876 Make the current article the child of the marked (or previous) article | |
5877 (@code{gnus-summary-reparent-thread}). | |
5878 | |
5879 @end table | |
5880 | |
5881 The following commands are thread movement commands. They all | |
5882 understand the numeric prefix. | |
5883 | |
5884 @table @kbd | |
5885 | |
5886 @item T n | |
5887 @kindex T n (Summary) | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5888 @itemx M-C-n |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5889 @kindex M-C-n (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5890 @itemx M-down |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5891 @kindex M-down (Summary) |
25829 | 5892 @findex gnus-summary-next-thread |
5893 Go to the next thread (@code{gnus-summary-next-thread}). | |
5894 | |
5895 @item T p | |
5896 @kindex T p (Summary) | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5897 @itemx M-C-p |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5898 @kindex M-C-p (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5899 @itemx M-up |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5900 @kindex M-up (Summary) |
25829 | 5901 @findex gnus-summary-prev-thread |
5902 Go to the previous thread (@code{gnus-summary-prev-thread}). | |
5903 | |
5904 @item T d | |
5905 @kindex T d (Summary) | |
5906 @findex gnus-summary-down-thread | |
5907 Descend the thread (@code{gnus-summary-down-thread}). | |
5908 | |
5909 @item T u | |
5910 @kindex T u (Summary) | |
5911 @findex gnus-summary-up-thread | |
5912 Ascend the thread (@code{gnus-summary-up-thread}). | |
5913 | |
5914 @item T o | |
5915 @kindex T o (Summary) | |
5916 @findex gnus-summary-top-thread | |
5917 Go to the top of the thread (@code{gnus-summary-top-thread}). | |
5918 @end table | |
5919 | |
5920 @vindex gnus-thread-operation-ignore-subject | |
5921 If you ignore subject while threading, you'll naturally end up with | |
5922 threads that have several different subjects in them. If you then issue | |
5923 a command like `T k' (@code{gnus-summary-kill-thread}) you might not | |
5924 wish to kill the entire thread, but just those parts of the thread that | |
5925 have the same subject as the current article. If you like this idea, | |
5926 you can fiddle with @code{gnus-thread-operation-ignore-subject}. If it | |
5927 is non-@code{nil} (which it is by default), subjects will be ignored | |
5928 when doing thread commands. If this variable is @code{nil}, articles in | |
5929 the same thread with different subjects will not be included in the | |
5930 operation in question. If this variable is @code{fuzzy}, only articles | |
5931 that have subjects fuzzily equal will be included (@pxref{Fuzzy | |
5932 Matching}). | |
5933 | |
5934 | |
5935 @node Sorting | |
5936 @section Sorting | |
5937 | |
5938 @findex gnus-thread-sort-by-total-score | |
5939 @findex gnus-thread-sort-by-date | |
5940 @findex gnus-thread-sort-by-score | |
5941 @findex gnus-thread-sort-by-subject | |
5942 @findex gnus-thread-sort-by-author | |
5943 @findex gnus-thread-sort-by-number | |
5944 @vindex gnus-thread-sort-functions | |
5945 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
|
5946 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
|
5947 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
|
5948 @code{(not some-function)} elements. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5949 |
25829 | 5950 By default, sorting is done on article numbers. Ready-made sorting |
5951 predicate functions include @code{gnus-thread-sort-by-number}, | |
5952 @code{gnus-thread-sort-by-author}, @code{gnus-thread-sort-by-subject}, | |
5953 @code{gnus-thread-sort-by-date}, @code{gnus-thread-sort-by-score}, and | |
5954 @code{gnus-thread-sort-by-total-score}. | |
5955 | |
5956 Each function takes two threads and returns non-@code{nil} if the first | |
5957 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
|
5958 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
|
5959 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5960 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
|
5961 last function in the list. You should probably always include |
25829 | 5962 @code{gnus-thread-sort-by-number} in the list of sorting |
5963 functions---preferably first. This will ensure that threads that are | |
5964 equal with respect to the other sort criteria will be displayed in | |
5965 ascending article order. | |
5966 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
5967 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
|
5968 by number, you could do something like: |
25829 | 5969 |
5970 @lisp | |
5971 (setq gnus-thread-sort-functions | |
5972 '(gnus-thread-sort-by-number | |
5973 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
|
5974 (not gnus-thread-sort-by-total-score))) |
25829 | 5975 @end lisp |
5976 | |
5977 The threads that have highest score will be displayed first in the | |
5978 summary buffer. When threads have the same score, they will be sorted | |
5979 alphabetically. The threads that have the same score and the same | |
5980 subject will be sorted by number, which is (normally) the sequence in | |
5981 which the articles arrived. | |
5982 | |
5983 If you want to sort by score and then reverse arrival order, you could | |
5984 say something like: | |
5985 | |
5986 @lisp | |
5987 (setq gnus-thread-sort-functions | |
5988 '((lambda (t1 t2) | |
5989 (not (gnus-thread-sort-by-number t1 t2))) | |
5990 gnus-thread-sort-by-score)) | |
5991 @end lisp | |
5992 | |
5993 @vindex gnus-thread-score-function | |
5994 The function in the @code{gnus-thread-score-function} variable (default | |
5995 @code{+}) is used for calculating the total score of a thread. Useful | |
5996 functions might be @code{max}, @code{min}, or squared means, or whatever | |
5997 tickles your fancy. | |
5998 | |
5999 @findex gnus-article-sort-functions | |
6000 @findex gnus-article-sort-by-date | |
6001 @findex gnus-article-sort-by-score | |
6002 @findex gnus-article-sort-by-subject | |
6003 @findex gnus-article-sort-by-author | |
6004 @findex gnus-article-sort-by-number | |
6005 If you are using an unthreaded display for some strange reason or other, | |
6006 you have to fiddle with the @code{gnus-article-sort-functions} variable. | |
6007 It is very similar to the @code{gnus-thread-sort-functions}, except that | |
6008 it uses slightly different functions for article comparison. Available | |
6009 sorting predicate functions are @code{gnus-article-sort-by-number}, | |
6010 @code{gnus-article-sort-by-author}, @code{gnus-article-sort-by-subject}, | |
6011 @code{gnus-article-sort-by-date}, and @code{gnus-article-sort-by-score}. | |
6012 | |
6013 If you want to sort an unthreaded summary display by subject, you could | |
6014 say something like: | |
6015 | |
6016 @lisp | |
6017 (setq gnus-article-sort-functions | |
6018 '(gnus-article-sort-by-number | |
6019 gnus-article-sort-by-subject)) | |
6020 @end lisp | |
6021 | |
6022 | |
6023 | |
6024 @node Asynchronous Fetching | |
6025 @section Asynchronous Article Fetching | |
6026 @cindex asynchronous article fetching | |
6027 @cindex article pre-fetch | |
6028 @cindex pre-fetch | |
6029 | |
6030 If you read your news from an @sc{nntp} server that's far away, the | |
6031 network latencies may make reading articles a chore. You have to wait | |
6032 for a while after pressing @kbd{n} to go to the next article before the | |
6033 article appears. Why can't Gnus just go ahead and fetch the article | |
6034 while you are reading the previous one? Why not, indeed. | |
6035 | |
6036 First, some caveats. There are some pitfalls to using asynchronous | |
6037 article fetching, especially the way Gnus does it. | |
6038 | |
6039 Let's say you are reading article 1, which is short, and article 2 is | |
6040 quite long, and you are not interested in reading that. Gnus does not | |
6041 know this, so it goes ahead and fetches article 2. You decide to read | |
6042 article 3, but since Gnus is in the process of fetching article 2, the | |
6043 connection is blocked. | |
6044 | |
6045 To avoid these situations, Gnus will open two (count 'em two) | |
6046 connections to the server. Some people may think this isn't a very nice | |
6047 thing to do, but I don't see any real alternatives. Setting up that | |
6048 extra connection takes some time, so Gnus startup will be slower. | |
6049 | |
6050 Gnus will fetch more articles than you will read. This will mean that | |
6051 the link between your machine and the @sc{nntp} server will become more | |
6052 loaded than if you didn't use article pre-fetch. The server itself will | |
6053 also become more loaded---both with the extra article requests, and the | |
6054 extra connection. | |
6055 | |
6056 Ok, so now you know that you shouldn't really use this thing... unless | |
6057 you really want to. | |
6058 | |
6059 @vindex gnus-asynchronous | |
6060 Here's how: Set @code{gnus-asynchronous} to @code{t}. The rest should | |
6061 happen automatically. | |
6062 | |
6063 @vindex gnus-use-article-prefetch | |
6064 You can control how many articles are to be pre-fetched by setting | |
6065 @code{gnus-use-article-prefetch}. This is 30 by default, which means | |
6066 that when you read an article in the group, the backend will pre-fetch | |
6067 the next 30 articles. If this variable is @code{t}, the backend will | |
6068 pre-fetch all the articles it can without bound. If it is | |
6069 @code{nil}, no pre-fetching will be done. | |
6070 | |
6071 @vindex gnus-async-prefetch-article-p | |
6072 @findex gnus-async-read-p | |
6073 There are probably some articles that you don't want to pre-fetch---read | |
6074 articles, for instance. The @code{gnus-async-prefetch-article-p} variable controls whether an article is to be pre-fetched. This function should | |
6075 return non-@code{nil} when the article in question is to be | |
6076 pre-fetched. The default is @code{gnus-async-read-p}, which returns | |
6077 @code{nil} on read articles. The function is called with an article | |
6078 data structure as the only parameter. | |
6079 | |
6080 If, for instance, you wish to pre-fetch only unread articles shorter than 100 lines, you could say something like: | |
6081 | |
6082 @lisp | |
6083 (defun my-async-short-unread-p (data) | |
6084 "Return non-nil for short, unread articles." | |
6085 (and (gnus-data-unread-p data) | |
6086 (< (mail-header-lines (gnus-data-header data)) | |
6087 100))) | |
6088 | |
6089 (setq gnus-async-prefetch-article-p 'my-async-short-unread-p) | |
6090 @end lisp | |
6091 | |
6092 These functions will be called many, many times, so they should | |
6093 preferably be short and sweet to avoid slowing down Gnus too much. | |
6094 It's probably a good idea to byte-compile things like this. | |
6095 | |
6096 @vindex gnus-prefetched-article-deletion-strategy | |
6097 Articles have to be removed from the asynch buffer sooner or later. The | |
6098 @code{gnus-prefetched-article-deletion-strategy} says when to remove | |
6099 articles. This is a list that may contain the following elements: | |
6100 | |
6101 @table @code | |
6102 @item read | |
6103 Remove articles when they are read. | |
6104 | |
6105 @item exit | |
6106 Remove articles when exiting the group. | |
6107 @end table | |
6108 | |
6109 The default value is @code{(read exit)}. | |
6110 | |
6111 @c @vindex gnus-use-header-prefetch | |
6112 @c If @code{gnus-use-header-prefetch} is non-@code{nil}, prefetch articles | |
6113 @c from the next group. | |
6114 | |
6115 | |
6116 @node Article Caching | |
6117 @section Article Caching | |
6118 @cindex article caching | |
6119 @cindex caching | |
6120 | |
6121 If you have an @emph{extremely} slow @sc{nntp} connection, you may | |
6122 consider turning article caching on. Each article will then be stored | |
6123 locally under your home directory. As you may surmise, this could | |
6124 potentially use @emph{huge} amounts of disk space, as well as eat up all | |
6125 your inodes so fast it will make your head swim. In vodka. | |
6126 | |
6127 Used carefully, though, it could be just an easier way to save articles. | |
6128 | |
6129 @vindex gnus-use-long-file-name | |
6130 @vindex gnus-cache-directory | |
6131 @vindex gnus-use-cache | |
6132 To turn caching on, set @code{gnus-use-cache} to @code{t}. By default, | |
6133 all articles ticked or marked as dormant will then be copied | |
6134 over to your local cache (@code{gnus-cache-directory}). Whether this | |
6135 cache is flat or hierarchal is controlled by the | |
6136 @code{gnus-use-long-file-name} variable, as usual. | |
6137 | |
6138 When re-selecting a ticked or dormant article, it will be fetched from the | |
6139 cache instead of from the server. As articles in your cache will never | |
6140 expire, this might serve as a method of saving articles while still | |
6141 keeping them where they belong. Just mark all articles you want to save | |
6142 as dormant, and don't worry. | |
6143 | |
6144 When an article is marked as read, is it removed from the cache. | |
6145 | |
6146 @vindex gnus-cache-remove-articles | |
6147 @vindex gnus-cache-enter-articles | |
6148 The entering/removal of articles from the cache is controlled by the | |
6149 @code{gnus-cache-enter-articles} and @code{gnus-cache-remove-articles} | |
6150 variables. Both are lists of symbols. The first is @code{(ticked | |
6151 dormant)} by default, meaning that ticked and dormant articles will be | |
6152 put in the cache. The latter is @code{(read)} by default, meaning that | |
6153 articles marked as read are removed from the cache. Possibly | |
6154 symbols in these two lists are @code{ticked}, @code{dormant}, | |
6155 @code{unread} and @code{read}. | |
6156 | |
6157 @findex gnus-jog-cache | |
6158 So where does the massive article-fetching and storing come into the | |
6159 picture? The @code{gnus-jog-cache} command will go through all | |
6160 subscribed newsgroups, request all unread articles, score them, and | |
6161 store them in the cache. You should only ever, ever ever ever, use this | |
6162 command if 1) your connection to the @sc{nntp} server is really, really, | |
6163 really slow and 2) you have a really, really, really huge disk. | |
6164 Seriously. One way to cut down on the number of articles downloaded is | |
6165 to score unwanted articles down and have them marked as read. They will | |
6166 not then be downloaded by this command. | |
6167 | |
6168 @vindex gnus-uncacheable-groups | |
6169 @vindex gnus-cacheable-groups | |
6170 It is likely that you do not want caching on all groups. For instance, | |
6171 if your @code{nnml} mail is located under your home directory, it makes no | |
6172 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
|
6173 feel that it's neat to use twice as much space. |
25829 | 6174 |
6175 To limit the caching, you could set @code{gnus-cacheable-groups} to a | |
6176 regexp of groups to cache, @samp{^nntp} for instance, or set the | |
6177 @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
|
6178 Both variables are @code{nil} by default. If a group matches both |
25829 | 6179 variables, the group is not cached. |
6180 | |
6181 @findex gnus-cache-generate-nov-databases | |
6182 @findex gnus-cache-generate-active | |
6183 @vindex gnus-cache-active-file | |
6184 The cache stores information on what articles it contains in its active | |
6185 file (@code{gnus-cache-active-file}). If this file (or any other parts | |
6186 of the cache) becomes all messed up for some reason or other, Gnus | |
6187 offers two functions that will try to set things right. @kbd{M-x | |
6188 gnus-cache-generate-nov-databases} will (re)build all the @sc{nov} | |
6189 files, and @kbd{gnus-cache-generate-active} will (re)generate the active | |
6190 file. | |
6191 | |
6192 | |
6193 @node Persistent Articles | |
6194 @section Persistent Articles | |
6195 @cindex persistent articles | |
6196 | |
6197 Closely related to article caching, we have @dfn{persistent articles}. | |
6198 In fact, it's just a different way of looking at caching, and much more | |
6199 useful in my opinion. | |
6200 | |
6201 Say you're reading a newsgroup, and you happen on to some valuable gem | |
6202 that you want to keep and treasure forever. You'd normally just save it | |
6203 (using one of the many saving commands) in some file. The problem with | |
6204 that is that it's just, well, yucky. Ideally you'd prefer just having | |
6205 the article remain in the group where you found it forever; untouched by | |
6206 the expiry going on at the news server. | |
6207 | |
6208 This is what a @dfn{persistent article} is---an article that just won't | |
6209 be deleted. It's implemented using the normal cache functions, but | |
6210 you use two explicit commands for managing persistent articles: | |
6211 | |
6212 @table @kbd | |
6213 | |
6214 @item * | |
6215 @kindex * (Summary) | |
6216 @findex gnus-cache-enter-article | |
6217 Make the current article persistent (@code{gnus-cache-enter-article}). | |
6218 | |
6219 @item M-* | |
6220 @kindex M-* (Summary) | |
6221 @findex gnus-cache-remove-article | |
6222 Remove the current article from the persistent articles | |
6223 (@code{gnus-cache-remove-article}). This will normally delete the | |
6224 article. | |
6225 @end table | |
6226 | |
6227 Both these commands understand the process/prefix convention. | |
6228 | |
6229 To avoid having all ticked articles (and stuff) entered into the cache, | |
6230 you should set @code{gnus-use-cache} to @code{passive} if you're just | |
6231 interested in persistent articles: | |
6232 | |
6233 @lisp | |
6234 (setq gnus-use-cache 'passive) | |
6235 @end lisp | |
6236 | |
6237 | |
6238 @node Article Backlog | |
6239 @section Article Backlog | |
6240 @cindex backlog | |
6241 @cindex article backlog | |
6242 | |
6243 If you have a slow connection, but the idea of using caching seems | |
6244 unappealing to you (and it is, really), you can help the situation some | |
6245 by switching on the @dfn{backlog}. This is where Gnus will buffer | |
6246 already read articles so that it doesn't have to re-fetch articles | |
6247 you've already read. This only helps if you are in the habit of | |
6248 re-selecting articles you've recently read, of course. If you never do | |
6249 that, turning the backlog on will slow Gnus down a little bit, and | |
6250 increase memory usage some. | |
6251 | |
6252 @vindex gnus-keep-backlog | |
6253 If you set @code{gnus-keep-backlog} to a number @var{n}, Gnus will store | |
6254 at most @var{n} old articles in a buffer for later re-fetching. If this | |
6255 variable is non-@code{nil} and is not a number, Gnus will store | |
6256 @emph{all} read articles, which means that your Emacs will grow without | |
6257 bound before exploding and taking your machine down with you. I put | |
6258 that in there just to keep y'all on your toes. | |
6259 | |
6260 This variable is @code{nil} by default. | |
6261 | |
6262 | |
6263 @node Saving Articles | |
6264 @section Saving Articles | |
6265 @cindex saving articles | |
6266 | |
6267 Gnus can save articles in a number of ways. Below is the documentation | |
6268 for saving articles in a fairly straight-forward fashion (i.e., little | |
6269 processing of the article is done before it is saved). For a different | |
6270 approach (uudecoding, unsharing) you should use @code{gnus-uu} | |
6271 (@pxref{Decoding Articles}). | |
6272 | |
6273 @vindex gnus-save-all-headers | |
6274 If @code{gnus-save-all-headers} is non-@code{nil}, Gnus will not delete | |
6275 unwanted headers before saving the article. | |
6276 | |
6277 @vindex gnus-saved-headers | |
6278 If the preceding variable is @code{nil}, all headers that match the | |
6279 @code{gnus-saved-headers} regexp will be kept, while the rest will be | |
6280 deleted before saving. | |
6281 | |
6282 @table @kbd | |
6283 | |
6284 @item O o | |
6285 @itemx o | |
6286 @kindex O o (Summary) | |
6287 @kindex o (Summary) | |
6288 @findex gnus-summary-save-article | |
6289 @c @icon{gnus-summary-save-article} | |
6290 Save the current article using the default article saver | |
6291 (@code{gnus-summary-save-article}). | |
6292 | |
6293 @item O m | |
6294 @kindex O m (Summary) | |
6295 @findex gnus-summary-save-article-mail | |
6296 Save the current article in mail format | |
6297 (@code{gnus-summary-save-article-mail}). | |
6298 | |
6299 @item O r | |
6300 @kindex O r (Summary) | |
6301 @findex gnus-summary-save-article-rmail | |
6302 Save the current article in rmail format | |
6303 (@code{gnus-summary-save-article-rmail}). | |
6304 | |
6305 @item O f | |
6306 @kindex O f (Summary) | |
6307 @findex gnus-summary-save-article-file | |
6308 @c @icon{gnus-summary-save-article-file} | |
6309 Save the current article in plain file format | |
6310 (@code{gnus-summary-save-article-file}). | |
6311 | |
6312 @item O F | |
6313 @kindex O F (Summary) | |
6314 @findex gnus-summary-write-article-file | |
6315 Write the current article in plain file format, overwriting any previous | |
6316 file contents (@code{gnus-summary-write-article-file}). | |
6317 | |
6318 @item O b | |
6319 @kindex O b (Summary) | |
6320 @findex gnus-summary-save-article-body-file | |
6321 Save the current article body in plain file format | |
6322 (@code{gnus-summary-save-article-body-file}). | |
6323 | |
6324 @item O h | |
6325 @kindex O h (Summary) | |
6326 @findex gnus-summary-save-article-folder | |
6327 Save the current article in mh folder format | |
6328 (@code{gnus-summary-save-article-folder}). | |
6329 | |
6330 @item O v | |
6331 @kindex O v (Summary) | |
6332 @findex gnus-summary-save-article-vm | |
6333 Save the current article in a VM folder | |
6334 (@code{gnus-summary-save-article-vm}). | |
6335 | |
6336 @item O p | |
6337 @kindex O p (Summary) | |
6338 @findex gnus-summary-pipe-output | |
6339 Save the current article in a pipe. Uhm, like, what I mean is---Pipe | |
6340 the current article to a process (@code{gnus-summary-pipe-output}). | |
6341 @end table | |
6342 | |
6343 @vindex gnus-prompt-before-saving | |
6344 All these commands use the process/prefix convention | |
6345 (@pxref{Process/Prefix}). If you save bunches of articles using these | |
6346 functions, you might get tired of being prompted for files to save each | |
6347 and every article in. The prompting action is controlled by | |
6348 the @code{gnus-prompt-before-saving} variable, which is @code{always} by | |
6349 default, giving you that excessive prompting action you know and | |
6350 loathe. If you set this variable to @code{t} instead, you'll be prompted | |
6351 just once for each series of articles you save. If you like to really | |
6352 have Gnus do all your thinking for you, you can even set this variable | |
6353 to @code{nil}, which means that you will never be prompted for files to | |
6354 save articles in. Gnus will simply save all the articles in the default | |
6355 files. | |
6356 | |
6357 | |
6358 @vindex gnus-default-article-saver | |
6359 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
|
6360 Gnus do what you want it to. You can use any of the six ready-made |
25829 | 6361 functions below, or you can create your own. |
6362 | |
6363 @table @code | |
6364 | |
6365 @item gnus-summary-save-in-rmail | |
6366 @findex gnus-summary-save-in-rmail | |
6367 @vindex gnus-rmail-save-name | |
6368 @findex gnus-plain-save-name | |
6369 This is the default format, @dfn{babyl}. Uses the function in the | |
6370 @code{gnus-rmail-save-name} variable to get a file name to save the | |
6371 article in. The default is @code{gnus-plain-save-name}. | |
6372 | |
6373 @item gnus-summary-save-in-mail | |
6374 @findex gnus-summary-save-in-mail | |
6375 @vindex gnus-mail-save-name | |
6376 Save in a Unix mail (mbox) file. Uses the function in the | |
6377 @code{gnus-mail-save-name} variable to get a file name to save the | |
6378 article in. The default is @code{gnus-plain-save-name}. | |
6379 | |
6380 @item gnus-summary-save-in-file | |
6381 @findex gnus-summary-save-in-file | |
6382 @vindex gnus-file-save-name | |
6383 @findex gnus-numeric-save-name | |
6384 Append the article straight to an ordinary file. Uses the function in | |
6385 the @code{gnus-file-save-name} variable to get a file name to save the | |
6386 article in. The default is @code{gnus-numeric-save-name}. | |
6387 | |
6388 @item gnus-summary-save-body-in-file | |
6389 @findex gnus-summary-save-body-in-file | |
6390 Append the article body to an ordinary file. Uses the function in the | |
6391 @code{gnus-file-save-name} variable to get a file name to save the | |
6392 article in. The default is @code{gnus-numeric-save-name}. | |
6393 | |
6394 @item gnus-summary-save-in-folder | |
6395 @findex gnus-summary-save-in-folder | |
6396 @findex gnus-folder-save-name | |
6397 @findex gnus-Folder-save-name | |
6398 @vindex gnus-folder-save-name | |
6399 @cindex rcvstore | |
6400 @cindex MH folders | |
6401 Save the article to an MH folder using @code{rcvstore} from the MH | |
6402 library. Uses the function in the @code{gnus-folder-save-name} variable | |
6403 to get a file name to save the article in. The default is | |
6404 @code{gnus-folder-save-name}, but you can also use | |
6405 @code{gnus-Folder-save-name}, which creates capitalized names. | |
6406 | |
6407 @item gnus-summary-save-in-vm | |
6408 @findex gnus-summary-save-in-vm | |
6409 Save the article in a VM folder. You have to have the VM mail | |
6410 reader to use this setting. | |
6411 @end table | |
6412 | |
6413 @vindex gnus-article-save-directory | |
6414 All of these functions, except for the last one, will save the article | |
6415 in the @code{gnus-article-save-directory}, which is initialized from the | |
6416 @code{SAVEDIR} environment variable. This is @file{~/News/} by | |
6417 default. | |
6418 | |
6419 As you can see above, the functions use different functions to find a | |
6420 suitable name of a file to save the article in. Below is a list of | |
6421 available functions that generate names: | |
6422 | |
6423 @table @code | |
6424 | |
6425 @item gnus-Numeric-save-name | |
6426 @findex gnus-Numeric-save-name | |
6427 File names like @file{~/News/Alt.andrea-dworkin/45}. | |
6428 | |
6429 @item gnus-numeric-save-name | |
6430 @findex gnus-numeric-save-name | |
6431 File names like @file{~/News/alt.andrea-dworkin/45}. | |
6432 | |
6433 @item gnus-Plain-save-name | |
6434 @findex gnus-Plain-save-name | |
6435 File names like @file{~/News/Alt.andrea-dworkin}. | |
6436 | |
6437 @item gnus-plain-save-name | |
6438 @findex gnus-plain-save-name | |
6439 File names like @file{~/News/alt.andrea-dworkin}. | |
6440 @end table | |
6441 | |
6442 @vindex gnus-split-methods | |
6443 You can have Gnus suggest where to save articles by plonking a regexp into | |
6444 the @code{gnus-split-methods} alist. For instance, if you would like to | |
6445 save articles related to Gnus in the file @file{gnus-stuff}, and articles | |
6446 related to VM in @code{vm-stuff}, you could set this variable to something | |
6447 like: | |
6448 | |
6449 @lisp | |
6450 (("^Subject:.*gnus\\|^Newsgroups:.*gnus" "gnus-stuff") | |
6451 ("^Subject:.*vm\\|^Xref:.*vm" "vm-stuff") | |
6452 (my-choosing-function "../other-dir/my-stuff") | |
6453 ((equal gnus-newsgroup-name "mail.misc") "mail-stuff")) | |
6454 @end lisp | |
6455 | |
6456 We see that this is a list where each element is a list that has two | |
6457 elements---the @dfn{match} and the @dfn{file}. The match can either be | |
6458 a string (in which case it is used as a regexp to match on the article | |
6459 head); it can be a symbol (which will be called as a function with the | |
6460 group name as a parameter); or it can be a list (which will be | |
6461 @code{eval}ed). If any of these actions have a non-@code{nil} result, | |
6462 the @dfn{file} will be used as a default prompt. In addition, the | |
6463 result of the operation itself will be used if the function or form | |
6464 called returns a string or a list of strings. | |
6465 | |
6466 You basically end up with a list of file names that might be used when | |
6467 saving the current article. (All ``matches'' will be used.) You will | |
6468 then be prompted for what you really want to use as a name, with file | |
6469 name completion over the results from applying this variable. | |
6470 | |
6471 This variable is @code{((gnus-article-archive-name))} by default, which | |
6472 means that Gnus will look at the articles it saves for an | |
6473 @code{Archive-name} line and use that as a suggestion for the file | |
6474 name. | |
6475 | |
6476 Here's an example function to clean up file names somewhat. If you have | |
6477 lots of mail groups called things like | |
6478 @samp{nnml:mail.whatever}, you may want to chop off the beginning of | |
6479 these group names before creating the file name to save to. The | |
6480 following will do just that: | |
6481 | |
6482 @lisp | |
6483 (defun my-save-name (group) | |
6484 (when (string-match "^nnml:mail." group) | |
6485 (substring group (match-end 0)))) | |
6486 | |
6487 (setq gnus-split-methods | |
6488 '((gnus-article-archive-name) | |
6489 (my-save-name))) | |
6490 @end lisp | |
6491 | |
6492 | |
6493 @vindex gnus-use-long-file-name | |
6494 Finally, you have the @code{gnus-use-long-file-name} variable. If it is | |
6495 @code{nil}, all the preceding functions will replace all periods | |
6496 (@samp{.}) in the group names with slashes (@samp{/})---which means that | |
6497 the functions will generate hierarchies of directories instead of having | |
6498 all the files in the top level directory | |
6499 (@file{~/News/alt/andrea-dworkin} instead of | |
6500 @file{~/News/alt.andrea-dworkin}.) This variable is @code{t} by default | |
6501 on most systems. However, for historical reasons, this is @code{nil} on | |
6502 Xenix and usg-unix-v machines by default. | |
6503 | |
6504 This function also affects kill and score file names. If this variable | |
6505 is a list, and the list contains the element @code{not-score}, long file | |
6506 names will not be used for score files, if it contains the element | |
6507 @code{not-save}, long file names will not be used for saving, and if it | |
6508 contains the element @code{not-kill}, long file names will not be used | |
6509 for kill files. | |
6510 | |
6511 If you'd like to save articles in a hierarchy that looks something like | |
6512 a spool, you could | |
6513 | |
6514 @lisp | |
6515 (setq gnus-use-long-file-name '(not-save)) ; to get a hierarchy | |
6516 (setq gnus-default-article-saver 'gnus-summary-save-in-file) ; no encoding | |
6517 @end lisp | |
6518 | |
6519 Then just save with @kbd{o}. You'd then read this hierarchy with | |
6520 ephemeral @code{nneething} groups---@kbd{G D} in the group buffer, and | |
6521 the top level directory as the argument (@file{~/News/}). Then just walk | |
6522 around to the groups/directories with @code{nneething}. | |
6523 | |
6524 | |
6525 @node Decoding Articles | |
6526 @section Decoding Articles | |
6527 @cindex decoding articles | |
6528 | |
6529 Sometime users post articles (or series of articles) that have been | |
6530 encoded in some way or other. Gnus can decode them for you. | |
6531 | |
6532 @menu | |
6533 * Uuencoded Articles:: Uudecode articles. | |
6534 * Shell Archives:: Unshar articles. | |
6535 * PostScript Files:: Split PostScript. | |
6536 * Other Files:: Plain save and binhex. | |
6537 * Decoding Variables:: Variables for a happy decoding. | |
6538 * Viewing Files:: You want to look at the result of the decoding? | |
6539 @end menu | |
6540 | |
6541 @cindex series | |
6542 @cindex article series | |
6543 All these functions use the process/prefix convention | |
6544 (@pxref{Process/Prefix}) for finding out what articles to work on, with | |
6545 the extension that a ``single article'' means ``a single series''. Gnus | |
6546 can find out by itself what articles belong to a series, decode all the | |
6547 articles and unpack/view/save the resulting file(s). | |
6548 | |
6549 Gnus guesses what articles are in the series according to the following | |
6550 simplish rule: The subjects must be (nearly) identical, except for the | |
6551 last two numbers of the line. (Spaces are largely ignored, however.) | |
6552 | |
6553 For example: If you choose a subject called @samp{cat.gif (2/3)}, Gnus | |
6554 will find all the articles that match the regexp @samp{^cat.gif | |
6555 ([0-9]+/[0-9]+).*$}. | |
6556 | |
6557 Subjects that are non-standard, like @samp{cat.gif (2/3) Part 6 of a | |
6558 series}, will not be properly recognized by any of the automatic viewing | |
6559 commands, and you have to mark the articles manually with @kbd{#}. | |
6560 | |
6561 | |
6562 @node Uuencoded Articles | |
6563 @subsection Uuencoded Articles | |
6564 @cindex uudecode | |
6565 @cindex uuencoded articles | |
6566 | |
6567 @table @kbd | |
6568 | |
6569 @item X u | |
6570 @kindex X u (Summary) | |
6571 @findex gnus-uu-decode-uu | |
6572 @c @icon{gnus-uu-decode-uu} | |
6573 Uudecodes the current series (@code{gnus-uu-decode-uu}). | |
6574 | |
6575 @item X U | |
6576 @kindex X U (Summary) | |
6577 @findex gnus-uu-decode-uu-and-save | |
6578 Uudecodes and saves the current series | |
6579 (@code{gnus-uu-decode-uu-and-save}). | |
6580 | |
6581 @item X v u | |
6582 @kindex X v u (Summary) | |
6583 @findex gnus-uu-decode-uu-view | |
6584 Uudecodes and views the current series (@code{gnus-uu-decode-uu-view}). | |
6585 | |
6586 @item X v U | |
6587 @kindex X v U (Summary) | |
6588 @findex gnus-uu-decode-uu-and-save-view | |
6589 Uudecodes, views and saves the current series | |
6590 (@code{gnus-uu-decode-uu-and-save-view}). | |
6591 | |
6592 @end table | |
6593 | |
6594 Remember that these all react to the presence of articles marked with | |
6595 the process mark. If, for instance, you'd like to decode and save an | |
6596 entire newsgroup, you'd typically do @kbd{M P a} | |
6597 (@code{gnus-uu-mark-all}) and then @kbd{X U} | |
6598 (@code{gnus-uu-decode-uu-and-save}). | |
6599 | |
6600 All this is very much different from how @code{gnus-uu} worked with | |
6601 @sc{gnus 4.1}, where you had explicit keystrokes for everything under | |
6602 the sun. This version of @code{gnus-uu} generally assumes that you mark | |
6603 articles in some way (@pxref{Setting Process Marks}) and then press | |
6604 @kbd{X u}. | |
6605 | |
6606 @vindex gnus-uu-notify-files | |
6607 Note: When trying to decode articles that have names matching | |
6608 @code{gnus-uu-notify-files}, which is hard-coded to | |
6609 @samp{[Cc][Ii][Nn][Dd][Yy][0-9]+.\\(gif\\|jpg\\)}, @code{gnus-uu} will | |
6610 automatically post an article on @samp{comp.unix.wizards} saying that | |
6611 you have just viewed the file in question. This feature can't be turned | |
6612 off. | |
6613 | |
6614 | |
6615 @node Shell Archives | |
6616 @subsection Shell Archives | |
6617 @cindex unshar | |
6618 @cindex shell archives | |
6619 @cindex shared articles | |
6620 | |
6621 Shell archives (``shar files'') used to be a popular way to distribute | |
6622 sources, but it isn't used all that much today. In any case, we have | |
6623 some commands to deal with these: | |
6624 | |
6625 @table @kbd | |
6626 | |
6627 @item X s | |
6628 @kindex X s (Summary) | |
6629 @findex gnus-uu-decode-unshar | |
6630 Unshars the current series (@code{gnus-uu-decode-unshar}). | |
6631 | |
6632 @item X S | |
6633 @kindex X S (Summary) | |
6634 @findex gnus-uu-decode-unshar-and-save | |
6635 Unshars and saves the current series (@code{gnus-uu-decode-unshar-and-save}). | |
6636 | |
6637 @item X v s | |
6638 @kindex X v s (Summary) | |
6639 @findex gnus-uu-decode-unshar-view | |
6640 Unshars and views the current series (@code{gnus-uu-decode-unshar-view}). | |
6641 | |
6642 @item X v S | |
6643 @kindex X v S (Summary) | |
6644 @findex gnus-uu-decode-unshar-and-save-view | |
6645 Unshars, views and saves the current series | |
6646 (@code{gnus-uu-decode-unshar-and-save-view}). | |
6647 @end table | |
6648 | |
6649 | |
6650 @node PostScript Files | |
6651 @subsection PostScript Files | |
6652 @cindex PostScript | |
6653 | |
6654 @table @kbd | |
6655 | |
6656 @item X p | |
6657 @kindex X p (Summary) | |
6658 @findex gnus-uu-decode-postscript | |
6659 Unpack the current PostScript series (@code{gnus-uu-decode-postscript}). | |
6660 | |
6661 @item X P | |
6662 @kindex X P (Summary) | |
6663 @findex gnus-uu-decode-postscript-and-save | |
6664 Unpack and save the current PostScript series | |
6665 (@code{gnus-uu-decode-postscript-and-save}). | |
6666 | |
6667 @item X v p | |
6668 @kindex X v p (Summary) | |
6669 @findex gnus-uu-decode-postscript-view | |
6670 View the current PostScript series | |
6671 (@code{gnus-uu-decode-postscript-view}). | |
6672 | |
6673 @item X v P | |
6674 @kindex X v P (Summary) | |
6675 @findex gnus-uu-decode-postscript-and-save-view | |
6676 View and save the current PostScript series | |
6677 (@code{gnus-uu-decode-postscript-and-save-view}). | |
6678 @end table | |
6679 | |
6680 | |
6681 @node Other Files | |
6682 @subsection Other Files | |
6683 | |
6684 @table @kbd | |
6685 @item X o | |
6686 @kindex X o (Summary) | |
6687 @findex gnus-uu-decode-save | |
6688 Save the current series | |
6689 (@code{gnus-uu-decode-save}). | |
6690 | |
6691 @item X b | |
6692 @kindex X b (Summary) | |
6693 @findex gnus-uu-decode-binhex | |
6694 Unbinhex the current series (@code{gnus-uu-decode-binhex}). This | |
6695 doesn't really work yet. | |
6696 @end table | |
6697 | |
6698 | |
6699 @node Decoding Variables | |
6700 @subsection Decoding Variables | |
6701 | |
6702 Adjective, not verb. | |
6703 | |
6704 @menu | |
6705 * Rule Variables:: Variables that say how a file is to be viewed. | |
6706 * Other Decode Variables:: Other decode variables. | |
6707 * Uuencoding and Posting:: Variables for customizing uuencoding. | |
6708 @end menu | |
6709 | |
6710 | |
6711 @node Rule Variables | |
6712 @subsubsection Rule Variables | |
6713 @cindex rule variables | |
6714 | |
6715 Gnus uses @dfn{rule variables} to decide how to view a file. All these | |
6716 variables are of the form | |
6717 | |
6718 @lisp | |
6719 (list '(regexp1 command2) | |
6720 '(regexp2 command2) | |
6721 ...) | |
6722 @end lisp | |
6723 | |
6724 @table @code | |
6725 | |
6726 @item gnus-uu-user-view-rules | |
6727 @vindex gnus-uu-user-view-rules | |
6728 @cindex sox | |
6729 This variable is consulted first when viewing files. If you wish to use, | |
6730 for instance, @code{sox} to convert an @samp{.au} sound file, you could | |
6731 say something like: | |
6732 @lisp | |
6733 (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
|
6734 (list '("\\\\.au$" "sox %s -t .aiff > /dev/audio"))) |
25829 | 6735 @end lisp |
6736 | |
6737 @item gnus-uu-user-view-rules-end | |
6738 @vindex gnus-uu-user-view-rules-end | |
6739 This variable is consulted if Gnus couldn't make any matches from the | |
6740 user and default view rules. | |
6741 | |
6742 @item gnus-uu-user-archive-rules | |
6743 @vindex gnus-uu-user-archive-rules | |
6744 This variable can be used to say what commands should be used to unpack | |
6745 archives. | |
6746 @end table | |
6747 | |
6748 | |
6749 @node Other Decode Variables | |
6750 @subsubsection Other Decode Variables | |
6751 | |
6752 @table @code | |
6753 @vindex gnus-uu-grabbed-file-functions | |
6754 | |
6755 @item gnus-uu-grabbed-file-functions | |
6756 All functions in this list will be called right after each file has been | |
6757 successfully decoded---so that you can move or view files right away, | |
6758 and don't have to wait for all files to be decoded before you can do | |
6759 anything. Ready-made functions you can put in this list are: | |
6760 | |
6761 @table @code | |
6762 | |
6763 @item gnus-uu-grab-view | |
6764 @findex gnus-uu-grab-view | |
6765 View the file. | |
6766 | |
6767 @item gnus-uu-grab-move | |
6768 @findex gnus-uu-grab-move | |
6769 Move the file (if you're using a saving function.) | |
6770 @end table | |
6771 | |
6772 @item gnus-uu-be-dangerous | |
6773 @vindex gnus-uu-be-dangerous | |
6774 Specifies what to do if unusual situations arise during decoding. If | |
6775 @code{nil}, be as conservative as possible. If @code{t}, ignore things | |
6776 that didn't work, and overwrite existing files. Otherwise, ask each | |
6777 time. | |
6778 | |
6779 @item gnus-uu-ignore-files-by-name | |
6780 @vindex gnus-uu-ignore-files-by-name | |
6781 Files with name matching this regular expression won't be viewed. | |
6782 | |
6783 @item gnus-uu-ignore-files-by-type | |
6784 @vindex gnus-uu-ignore-files-by-type | |
6785 Files with a @sc{mime} type matching this variable won't be viewed. | |
6786 Note that Gnus tries to guess what type the file is based on the name. | |
6787 @code{gnus-uu} is not a @sc{mime} package (yet), so this is slightly | |
6788 kludgey. | |
6789 | |
6790 @item gnus-uu-tmp-dir | |
6791 @vindex gnus-uu-tmp-dir | |
6792 Where @code{gnus-uu} does its work. | |
6793 | |
6794 @item gnus-uu-do-not-unpack-archives | |
6795 @vindex gnus-uu-do-not-unpack-archives | |
6796 Non-@code{nil} means that @code{gnus-uu} won't peek inside archives | |
6797 looking for files to display. | |
6798 | |
6799 @item gnus-uu-view-and-save | |
6800 @vindex gnus-uu-view-and-save | |
6801 Non-@code{nil} means that the user will always be asked to save a file | |
6802 after viewing it. | |
6803 | |
6804 @item gnus-uu-ignore-default-view-rules | |
6805 @vindex gnus-uu-ignore-default-view-rules | |
6806 Non-@code{nil} means that @code{gnus-uu} will ignore the default viewing | |
6807 rules. | |
6808 | |
6809 @item gnus-uu-ignore-default-archive-rules | |
6810 @vindex gnus-uu-ignore-default-archive-rules | |
6811 Non-@code{nil} means that @code{gnus-uu} will ignore the default archive | |
6812 unpacking commands. | |
6813 | |
6814 @item gnus-uu-kill-carriage-return | |
6815 @vindex gnus-uu-kill-carriage-return | |
6816 Non-@code{nil} means that @code{gnus-uu} will strip all carriage returns | |
6817 from articles. | |
6818 | |
6819 @item gnus-uu-unmark-articles-not-decoded | |
6820 @vindex gnus-uu-unmark-articles-not-decoded | |
6821 Non-@code{nil} means that @code{gnus-uu} will mark unsuccessfully | |
6822 decoded articles as unread. | |
6823 | |
6824 @item gnus-uu-correct-stripped-uucode | |
6825 @vindex gnus-uu-correct-stripped-uucode | |
6826 Non-@code{nil} means that @code{gnus-uu} will @emph{try} to fix | |
6827 uuencoded files that have had trailing spaces deleted. | |
6828 | |
6829 @item gnus-uu-pre-uudecode-hook | |
6830 @vindex gnus-uu-pre-uudecode-hook | |
6831 Hook run before sending a message to @code{uudecode}. | |
6832 | |
6833 @item gnus-uu-view-with-metamail | |
6834 @vindex gnus-uu-view-with-metamail | |
6835 @cindex metamail | |
6836 Non-@code{nil} means that @code{gnus-uu} will ignore the viewing | |
6837 commands defined by the rule variables and just fudge a @sc{mime} | |
6838 content type based on the file name. The result will be fed to | |
6839 @code{metamail} for viewing. | |
6840 | |
6841 @item gnus-uu-save-in-digest | |
6842 @vindex gnus-uu-save-in-digest | |
6843 Non-@code{nil} means that @code{gnus-uu}, when asked to save without | |
6844 decoding, will save in digests. If this variable is @code{nil}, | |
6845 @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
|
6846 embellishments. The digesting almost conforms to RFC 1153---no easy way |
25829 | 6847 to specify any meaningful volume and issue numbers were found, so I |
6848 simply dropped them. | |
6849 | |
6850 @end table | |
6851 | |
6852 | |
6853 @node Uuencoding and Posting | |
6854 @subsubsection Uuencoding and Posting | |
6855 | |
6856 @table @code | |
6857 | |
6858 @item gnus-uu-post-include-before-composing | |
6859 @vindex gnus-uu-post-include-before-composing | |
6860 Non-@code{nil} means that @code{gnus-uu} will ask for a file to encode | |
6861 before you compose the article. If this variable is @code{t}, you can | |
6862 either include an encoded file with @kbd{C-c C-i} or have one included | |
6863 for you when you post the article. | |
6864 | |
6865 @item gnus-uu-post-length | |
6866 @vindex gnus-uu-post-length | |
6867 Maximum length of an article. The encoded file will be split into how | |
6868 many articles it takes to post the entire file. | |
6869 | |
6870 @item gnus-uu-post-threaded | |
6871 @vindex gnus-uu-post-threaded | |
6872 Non-@code{nil} means that @code{gnus-uu} will post the encoded file in a | |
6873 thread. This may not be smart, as no other decoder I have seen is able | |
6874 to follow threads when collecting uuencoded articles. (Well, I have | |
6875 seen one package that does that---@code{gnus-uu}, but somehow, I don't | |
6876 think that counts...) Default is @code{nil}. | |
6877 | |
6878 @item gnus-uu-post-separate-description | |
6879 @vindex gnus-uu-post-separate-description | |
6880 Non-@code{nil} means that the description will be posted in a separate | |
6881 article. The first article will typically be numbered (0/x). If this | |
6882 variable is @code{nil}, the description the user enters will be included | |
6883 at the beginning of the first article, which will be numbered (1/x). | |
6884 Default is @code{t}. | |
6885 | |
6886 @end table | |
6887 | |
6888 | |
6889 @node Viewing Files | |
6890 @subsection Viewing Files | |
6891 @cindex viewing files | |
6892 @cindex pseudo-articles | |
6893 | |
6894 After decoding, if the file is some sort of archive, Gnus will attempt | |
6895 to unpack the archive and see if any of the files in the archive can be | |
6896 viewed. For instance, if you have a gzipped tar file @file{pics.tar.gz} | |
6897 containing the files @file{pic1.jpg} and @file{pic2.gif}, Gnus will | |
6898 uncompress and de-tar the main file, and then view the two pictures. | |
6899 This unpacking process is recursive, so if the archive contains archives | |
6900 of archives, it'll all be unpacked. | |
6901 | |
6902 Finally, Gnus will normally insert a @dfn{pseudo-article} for each | |
6903 extracted file into the summary buffer. If you go to these | |
6904 ``articles'', you will be prompted for a command to run (usually Gnus | |
6905 will make a suggestion), and then the command will be run. | |
6906 | |
6907 @vindex gnus-view-pseudo-asynchronously | |
6908 If @code{gnus-view-pseudo-asynchronously} is @code{nil}, Emacs will wait | |
6909 until the viewing is done before proceeding. | |
6910 | |
6911 @vindex gnus-view-pseudos | |
6912 If @code{gnus-view-pseudos} is @code{automatic}, Gnus will not insert | |
6913 the pseudo-articles into the summary buffer, but view them | |
6914 immediately. If this variable is @code{not-confirm}, the user won't even | |
6915 be asked for a confirmation before viewing is done. | |
6916 | |
6917 @vindex gnus-view-pseudos-separately | |
6918 If @code{gnus-view-pseudos-separately} is non-@code{nil}, one | |
6919 pseudo-article will be created for each file to be viewed. If | |
6920 @code{nil}, all files that use the same viewing command will be given as | |
6921 a list of parameters to that command. | |
6922 | |
6923 @vindex gnus-insert-pseudo-articles | |
6924 If @code{gnus-insert-pseudo-articles} is non-@code{nil}, insert | |
6925 pseudo-articles when decoding. It is @code{t} by default. | |
6926 | |
6927 So; there you are, reading your @emph{pseudo-articles} in your | |
6928 @emph{virtual newsgroup} from the @emph{virtual server}; and you think: | |
6929 Why isn't anything real anymore? How did we get here? | |
6930 | |
6931 | |
6932 @node Article Treatment | |
6933 @section Article Treatment | |
6934 | |
6935 Reading through this huge manual, you may have quite forgotten that the | |
6936 object of newsreaders is to actually, like, read what people have | |
6937 written. Reading articles. Unfortunately, people are quite bad at | |
6938 writing, so there are tons of functions and variables to make reading | |
6939 these articles easier. | |
6940 | |
6941 @menu | |
6942 * Article Highlighting:: You want to make the article look like fruit salad. | |
6943 * Article Fontisizing:: Making emphasized text look nice. | |
6944 * Article Hiding:: You also want to make certain info go away. | |
6945 * Article Washing:: Lots of way-neat functions to make life better. | |
6946 * Article Buttons:: Click on URLs, Message-IDs, addresses and the like. | |
6947 * Article Date:: Grumble, UT! | |
6948 * 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
|
6949 * Article Miscellania:: Various other stuff. |
25829 | 6950 @end menu |
6951 | |
6952 | |
6953 @node Article Highlighting | |
6954 @subsection Article Highlighting | |
6955 @cindex highlighting | |
6956 | |
6957 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
|
6958 you want it to look like technicolor fruit salad. |
25829 | 6959 |
6960 @table @kbd | |
6961 | |
6962 @item W H a | |
6963 @kindex W H a (Summary) | |
6964 @findex gnus-article-highlight | |
6965 @findex gnus-article-maybe-highlight | |
6966 Do much highlighting of the current article | |
6967 (@code{gnus-article-highlight}). This function highlights header, cited | |
6968 text, the signature, and adds buttons to the body and the head. | |
6969 | |
6970 @item W H h | |
6971 @kindex W H h (Summary) | |
6972 @findex gnus-article-highlight-headers | |
6973 @vindex gnus-header-face-alist | |
6974 Highlight the headers (@code{gnus-article-highlight-headers}). The | |
6975 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
|
6976 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
|
6977 @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
|
6978 @var{regexp} is a regular expression for matching the |
25829 | 6979 header, @var{name} is the face used for highlighting the header name |
6980 (@pxref{Faces and Fonts}) and @var{content} is the face for highlighting | |
6981 the header value. The first match made will be used. Note that | |
6982 @var{regexp} shouldn't have @samp{^} prepended---Gnus will add one. | |
6983 | |
6984 @item W H c | |
6985 @kindex W H c (Summary) | |
6986 @findex gnus-article-highlight-citation | |
6987 Highlight cited text (@code{gnus-article-highlight-citation}). | |
6988 | |
6989 Some variables to customize the citation highlights: | |
6990 | |
6991 @table @code | |
6992 @vindex gnus-cite-parse-max-size | |
6993 | |
6994 @item gnus-cite-parse-max-size | |
6995 If the article size if bigger than this variable (which is 25000 by | |
6996 default), no citation highlighting will be performed. | |
6997 | |
6998 @item gnus-cite-prefix-regexp | |
6999 @vindex gnus-cite-prefix-regexp | |
7000 Regexp matching the longest possible citation prefix on a line. | |
7001 | |
7002 @item gnus-cite-max-prefix | |
7003 @vindex gnus-cite-max-prefix | |
7004 Maximum possible length for a citation prefix (default 20). | |
7005 | |
7006 @item gnus-cite-face-list | |
7007 @vindex gnus-cite-face-list | |
7008 List of faces used for highlighting citations (@pxref{Faces and Fonts}). | |
7009 When there are citations from multiple articles in the same message, | |
7010 Gnus will try to give each citation from each article its own face. | |
7011 This should make it easier to see who wrote what. | |
7012 | |
7013 @item gnus-supercite-regexp | |
7014 @vindex gnus-supercite-regexp | |
7015 Regexp matching normal Supercite attribution lines. | |
7016 | |
7017 @item gnus-supercite-secondary-regexp | |
7018 @vindex gnus-supercite-secondary-regexp | |
7019 Regexp matching mangled Supercite attribution lines. | |
7020 | |
7021 @item gnus-cite-minimum-match-count | |
7022 @vindex gnus-cite-minimum-match-count | |
7023 Minimum number of identical prefixes we have to see before we believe | |
7024 that it's a citation. | |
7025 | |
7026 @item gnus-cite-attribution-prefix | |
7027 @vindex gnus-cite-attribution-prefix | |
7028 Regexp matching the beginning of an attribution line. | |
7029 | |
7030 @item gnus-cite-attribution-suffix | |
7031 @vindex gnus-cite-attribution-suffix | |
7032 Regexp matching the end of an attribution line. | |
7033 | |
7034 @item gnus-cite-attribution-face | |
7035 @vindex gnus-cite-attribution-face | |
7036 Face used for attribution lines. It is merged with the face for the | |
7037 cited text belonging to the attribution. | |
7038 | |
7039 @end table | |
7040 | |
7041 | |
7042 @item W H s | |
7043 @kindex W H s (Summary) | |
7044 @vindex gnus-signature-separator | |
7045 @vindex gnus-signature-face | |
7046 @findex gnus-article-highlight-signature | |
7047 Highlight the signature (@code{gnus-article-highlight-signature}). | |
7048 Everything after @code{gnus-signature-separator} (@pxref{Article | |
7049 Signature}) in an article will be considered a signature and will be | |
7050 highlighted with @code{gnus-signature-face}, which is @code{italic} by | |
7051 default. | |
7052 | |
7053 @end table | |
7054 | |
7055 @xref{Customizing Articles}, for how to highlight articles automatically. | |
7056 | |
7057 | |
7058 @node Article Fontisizing | |
7059 @subsection Article Fontisizing | |
7060 @cindex emphasis | |
7061 @cindex article emphasis | |
7062 | |
7063 @findex gnus-article-emphasize | |
7064 @kindex W e (Summary) | |
7065 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
|
7066 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
|
7067 this look nicer by running the article through the @kbd{W e} |
25829 | 7068 (@code{gnus-article-emphasize}) command. |
7069 | |
7070 @vindex gnus-emphasis-alist | |
7071 How the emphasis is computed is controlled by the | |
7072 @code{gnus-emphasis-alist} variable. This is an alist where the first | |
7073 element is a regular expression to be matched. The second is a number | |
7074 that says what regular expression grouping is used to find the entire | |
7075 emphasized word. The third is a number that says what regexp grouping | |
7076 should be displayed and highlighted. (The text between these two | |
7077 groupings will be hidden.) The fourth is the face used for | |
7078 highlighting. | |
7079 | |
7080 @lisp | |
7081 (setq gnus-article-emphasis | |
7082 '(("_\\(\\w+\\)_" 0 1 gnus-emphasis-underline) | |
7083 ("\\*\\(\\w+\\)\\*" 0 1 gnus-emphasis-bold))) | |
7084 @end lisp | |
7085 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7086 @cindex slash |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7087 @cindex asterisk |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7088 @cindex underline |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7089 @cindex / |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7090 @cindex * |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7091 |
25829 | 7092 @vindex gnus-emphasis-underline |
7093 @vindex gnus-emphasis-bold | |
7094 @vindex gnus-emphasis-italic | |
7095 @vindex gnus-emphasis-underline-bold | |
7096 @vindex gnus-emphasis-underline-italic | |
7097 @vindex gnus-emphasis-bold-italic | |
7098 @vindex gnus-emphasis-underline-bold-italic | |
7099 By default, there are seven rules, and they use the following faces: | |
7100 @code{gnus-emphasis-bold}, @code{gnus-emphasis-italic}, | |
7101 @code{gnus-emphasis-underline}, @code{gnus-emphasis-bold-italic}, | |
7102 @code{gnus-emphasis-underline-italic}, | |
7103 @code{gnus-emphasis-underline-bold}, and | |
7104 @code{gnus-emphasis-underline-bold-italic}. | |
7105 | |
7106 If you want to change these faces, you can either use @kbd{M-x | |
7107 customize}, or you can use @code{copy-face}. For instance, if you want | |
7108 to make @code{gnus-emphasis-italic} use a red face instead, you could | |
7109 say something like: | |
7110 | |
7111 @lisp | |
7112 (copy-face 'red 'gnus-emphasis-italic) | |
7113 @end lisp | |
7114 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7115 @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
|
7116 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7117 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
|
7118 @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
|
7119 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
|
7120 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
|
7121 |
25829 | 7122 @xref{Customizing Articles}, for how to fontize articles automatically. |
7123 | |
7124 | |
7125 @node Article Hiding | |
7126 @subsection Article Hiding | |
7127 @cindex article hiding | |
7128 | |
7129 Or rather, hiding certain things in each article. There usually is much | |
7130 too much cruft in most articles. | |
7131 | |
7132 @table @kbd | |
7133 | |
7134 @item W W a | |
7135 @kindex W W a (Summary) | |
7136 @findex gnus-article-hide | |
7137 Do quite a lot of hiding on the article buffer | |
7138 (@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
|
7139 headers, PGP, cited text and the signature. |
25829 | 7140 |
7141 @item W W h | |
7142 @kindex W W h (Summary) | |
7143 @findex gnus-article-hide-headers | |
7144 Hide headers (@code{gnus-article-hide-headers}). @xref{Hiding | |
7145 Headers}. | |
7146 | |
7147 @item W W b | |
7148 @kindex W W b (Summary) | |
7149 @findex gnus-article-hide-boring-headers | |
7150 Hide headers that aren't particularly interesting | |
7151 (@code{gnus-article-hide-boring-headers}). @xref{Hiding Headers}. | |
7152 | |
7153 @item W W s | |
7154 @kindex W W s (Summary) | |
7155 @findex gnus-article-hide-signature | |
7156 Hide signature (@code{gnus-article-hide-signature}). @xref{Article | |
7157 Signature}. | |
7158 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7159 @item W W l |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7160 @kindex W W l (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7161 @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
|
7162 @vindex gnus-list-identifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7163 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
|
7164 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
|
7165 @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
|
7166 @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
|
7167 may not contain @code{\\(..\\)}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7168 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7169 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7170 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7171 @item gnus-list-identifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7172 @vindex gnus-list-identifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7173 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
|
7174 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
|
7175 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7176 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7177 |
25829 | 7178 @item W W p |
7179 @kindex W W p (Summary) | |
7180 @findex gnus-article-hide-pgp | |
7181 @vindex gnus-article-hide-pgp-hook | |
7182 Hide @sc{pgp} signatures (@code{gnus-article-hide-pgp}). The | |
7183 @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
|
7184 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
|
7185 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
|
7186 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7187 ;;; Hide pgp cruft if any. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7188 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7189 (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
|
7190 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7191 ;;; 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
|
7192 ;;; 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
|
7193 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7194 (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
|
7195 (lambda () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7196 (save-excursion |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7197 (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
|
7198 (mc-verify)))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7199 @end lisp |
25829 | 7200 |
7201 @item W W P | |
7202 @kindex W W P (Summary) | |
7203 @findex gnus-article-hide-pem | |
7204 Hide @sc{pem} (privacy enhanced messages) cruft | |
7205 (@code{gnus-article-hide-pem}). | |
7206 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7207 @item W W B |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7208 @kindex W W B (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7209 @findex gnus-article-strip-banner |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7210 @cindex banner |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7211 @cindex OneList |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7212 @cindex stripping advertisments |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7213 @cindex advertisments |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7214 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
|
7215 (@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
|
7216 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
|
7217 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
|
7218 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
|
7219 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
|
7220 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
|
7221 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
|
7222 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
|
7223 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
|
7224 used. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7225 |
25829 | 7226 @item W W c |
7227 @kindex W W c (Summary) | |
7228 @findex gnus-article-hide-citation | |
7229 Hide citation (@code{gnus-article-hide-citation}). Some variables for | |
7230 customizing the hiding: | |
7231 | |
7232 @table @code | |
7233 | |
7234 @item gnus-cited-opened-text-button-line-format | |
7235 @itemx gnus-cited-closed-text-button-line-format | |
7236 @vindex gnus-cited-closed-text-button-line-format | |
7237 @vindex gnus-cited-opened-text-button-line-format | |
7238 Gnus adds buttons to show where the cited text has been hidden, and to | |
7239 allow toggle hiding the text. The format of the variable is specified | |
7240 by these format-like variable (@pxref{Formatting Variables}). These | |
7241 specs are valid: | |
7242 | |
7243 @table @samp | |
7244 @item b | |
7245 Starting point of the hidden text. | |
7246 @item e | |
7247 Ending point of the hidden text. | |
7248 @item l | |
7249 Number of characters in the hidden region. | |
7250 @item n | |
7251 Number of lines of hidden text. | |
7252 @end table | |
7253 | |
7254 @item gnus-cited-lines-visible | |
7255 @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
|
7256 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
|
7257 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
|
7258 and bottom of the text, respectively, to remain visible. |
25829 | 7259 |
7260 @end table | |
7261 | |
7262 @item W W C-c | |
7263 @kindex W W C-c (Summary) | |
7264 @findex gnus-article-hide-citation-maybe | |
7265 | |
7266 Hide citation (@code{gnus-article-hide-citation-maybe}) depending on the | |
7267 following two variables: | |
7268 | |
7269 @table @code | |
7270 @item gnus-cite-hide-percentage | |
7271 @vindex gnus-cite-hide-percentage | |
7272 If the cited text is of a bigger percentage than this variable (default | |
7273 50), hide the cited text. | |
7274 | |
7275 @item gnus-cite-hide-absolute | |
7276 @vindex gnus-cite-hide-absolute | |
7277 The cited text must have at least this length (default 10) before it | |
7278 is hidden. | |
7279 @end table | |
7280 | |
7281 @item W W C | |
7282 @kindex W W C (Summary) | |
7283 @findex gnus-article-hide-citation-in-followups | |
7284 Hide cited text in articles that aren't roots | |
7285 (@code{gnus-article-hide-citation-in-followups}). This isn't very | |
7286 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
|
7287 have happen automatically (@pxref{Customizing Articles}). |
25829 | 7288 |
7289 @end table | |
7290 | |
7291 All these ``hiding'' commands are toggles, but if you give a negative | |
7292 prefix to these commands, they will show what they have previously | |
7293 hidden. If you give a positive prefix, they will always hide. | |
7294 | |
7295 Also @pxref{Article Highlighting} for further variables for | |
7296 citation customization. | |
7297 | |
7298 @xref{Customizing Articles}, for how to hide article elements | |
7299 automatically. | |
7300 | |
7301 | |
7302 @node Article Washing | |
7303 @subsection Article Washing | |
7304 @cindex washing | |
7305 @cindex article washing | |
7306 | |
7307 We call this ``article washing'' for a really good reason. Namely, the | |
7308 @kbd{A} key was taken, so we had to use the @kbd{W} key instead. | |
7309 | |
7310 @dfn{Washing} is defined by us as ``changing something from something to | |
7311 something else'', but normally results in something looking better. | |
7312 Cleaner, perhaps. | |
7313 | |
7314 @table @kbd | |
7315 | |
7316 @item W l | |
7317 @kindex W l (Summary) | |
7318 @findex gnus-summary-stop-page-breaking | |
7319 Remove page breaks from the current article | |
7320 (@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
|
7321 delimiters. |
25829 | 7322 |
7323 @item W r | |
7324 @kindex W r (Summary) | |
7325 @findex gnus-summary-caesar-message | |
7326 @c @icon{gnus-summary-caesar-message} | |
7327 Do a Caesar rotate (rot13) on the article buffer | |
7328 (@code{gnus-summary-caesar-message}). | |
7329 Unreadable articles that tell you to read them with Caesar rotate or rot13. | |
7330 (Typically offensive jokes and such.) | |
7331 | |
7332 It's commonly called ``rot13'' because each letter is rotated 13 | |
7333 positions in the alphabet, e. g. @samp{B} (letter #2) -> @samp{O} (letter | |
7334 #15). It is sometimes referred to as ``Caesar rotate'' because Caesar | |
7335 is rumored to have employed this form of, uh, somewhat weak encryption. | |
7336 | |
7337 @item W t | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7338 @item t |
25829 | 7339 @kindex W t (Summary) |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7340 @kindex t (Summary) |
25829 | 7341 @findex gnus-summary-toggle-header |
7342 Toggle whether to display all headers in the article buffer | |
7343 (@code{gnus-summary-toggle-header}). | |
7344 | |
7345 @item W v | |
7346 @kindex W v (Summary) | |
7347 @findex gnus-summary-verbose-header | |
7348 Toggle whether to display all headers in the article buffer permanently | |
7349 (@code{gnus-summary-verbose-header}). | |
7350 | |
7351 @item W o | |
7352 @kindex W o (Summary) | |
7353 @findex gnus-article-treat-overstrike | |
7354 Treat overstrike (@code{gnus-article-treat-overstrike}). | |
7355 | |
7356 @item W d | |
7357 @kindex W d (Summary) | |
7358 @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
|
7359 @vindex gnus-article-dumbquotes-map |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7360 @cindex Smartquotes |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7361 @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
|
7362 @cindex Latin 1 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7363 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
|
7364 @code{gnus-article-dumbquotes-map} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7365 (@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
|
7366 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
|
7367 interactively. |
25829 | 7368 |
7369 @item W w | |
7370 @kindex W w (Summary) | |
7371 @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
|
7372 Do word wrap (@code{gnus-article-fill-cited-article}). |
25829 | 7373 |
7374 You can give the command a numerical prefix to specify the width to use | |
7375 when filling. | |
7376 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7377 @item W Q |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7378 @kindex W Q (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7379 @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
|
7380 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
|
7381 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7382 @item W C |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7383 @kindex W C (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7384 @findex gnus-article-capitalize-sentences |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7385 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
|
7386 (@code{gnus-article-capitalize-sentences}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7387 |
25829 | 7388 @item W c |
7389 @kindex W c (Summary) | |
7390 @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
|
7391 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
|
7392 (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
|
7393 CRs into LF (this takes care of Mac line endings) |
25829 | 7394 (@code{gnus-article-remove-cr}). |
7395 | |
7396 @item W q | |
7397 @kindex W q (Summary) | |
7398 @findex gnus-article-de-quoted-unreadable | |
7399 Treat quoted-printable (@code{gnus-article-de-quoted-unreadable}). | |
7400 Quoted-Printable is one common @sc{mime} encoding employed when sending | |
7401 non-ASCII (i. e., 8-bit) articles. It typically makes strings like | |
7402 @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
|
7403 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
|
7404 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
|
7405 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
|
7406 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7407 @item W 6 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7408 @kindex W 6 (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7409 @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
|
7410 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
|
7411 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
|
7412 (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
|
7413 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
|
7414 @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
|
7415 been done. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7416 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7417 @item W Z |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7418 @kindex W Z (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7419 @findex gnus-article-decode-HZ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7420 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
|
7421 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
|
7422 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
|
7423 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7424 @item W h |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7425 @kindex W h (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7426 @findex gnus-article-wash-html |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7427 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
|
7428 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
|
7429 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
|
7430 has been done. |
25829 | 7431 |
7432 @item W f | |
7433 @kindex W f (Summary) | |
7434 @cindex x-face | |
7435 @findex gnus-article-display-x-face | |
7436 @findex gnus-article-x-face-command | |
7437 @vindex gnus-article-x-face-command | |
7438 @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
|
7439 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7440 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7441 \include{xface} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7442 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7443 @end iftex |
33292 | 7444 @anchor{X-Face} |
25829 | 7445 Look for and display any X-Face headers |
7446 (@code{gnus-article-display-x-face}). The command executed by this | |
7447 function is given by the @code{gnus-article-x-face-command} variable. | |
7448 If this variable is a string, this string will be executed in a | |
7449 sub-shell. If it is a function, this function will be called with the | |
7450 face as the argument. If the @code{gnus-article-x-face-too-ugly} (which | |
7451 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
|
7452 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
|
7453 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
|
7454 @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
|
7455 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
|
7456 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
|
7457 support, the default action is to display the face before the |
25829 | 7458 @code{From} header. (It's nicer if XEmacs has been compiled with X-Face |
7459 support---that will make display somewhat faster. If there's no native | |
7460 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
|
7461 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
|
7462 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
|
7463 like @code{netpbm} or @code{libgr-progs}.}) If you |
25829 | 7464 want to have this function in the display hook, it should probably come |
7465 last. | |
7466 | |
7467 @item W b | |
7468 @kindex W b (Summary) | |
7469 @findex gnus-article-add-buttons | |
7470 Add clickable buttons to the article (@code{gnus-article-add-buttons}). | |
7471 @xref{Article Buttons}. | |
7472 | |
7473 @item W B | |
7474 @kindex W B (Summary) | |
7475 @findex gnus-article-add-buttons-to-head | |
7476 Add clickable buttons to the article headers | |
7477 (@code{gnus-article-add-buttons-to-head}). | |
7478 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7479 @item W W H |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7480 @kindex W W H (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7481 @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
|
7482 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
|
7483 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
|
7484 |
25829 | 7485 @item W E l |
7486 @kindex W E l (Summary) | |
7487 @findex gnus-article-strip-leading-blank-lines | |
7488 Remove all blank lines from the beginning of the article | |
7489 (@code{gnus-article-strip-leading-blank-lines}). | |
7490 | |
7491 @item W E m | |
7492 @kindex W E m (Summary) | |
7493 @findex gnus-article-strip-multiple-blank-lines | |
7494 Replace all blank lines with empty lines and then all multiple empty | |
7495 lines with a single empty line. | |
7496 (@code{gnus-article-strip-multiple-blank-lines}). | |
7497 | |
7498 @item W E t | |
7499 @kindex W E t (Summary) | |
7500 @findex gnus-article-remove-trailing-blank-lines | |
7501 Remove all blank lines at the end of the article | |
7502 (@code{gnus-article-remove-trailing-blank-lines}). | |
7503 | |
7504 @item W E a | |
7505 @kindex W E a (Summary) | |
7506 @findex gnus-article-strip-blank-lines | |
7507 Do all the three commands above | |
7508 (@code{gnus-article-strip-blank-lines}). | |
7509 | |
7510 @item W E A | |
7511 @kindex W E A (Summary) | |
7512 @findex gnus-article-strip-all-blank-lines | |
7513 Remove all blank lines | |
7514 (@code{gnus-article-strip-all-blank-lines}). | |
7515 | |
7516 @item W E s | |
7517 @kindex W E s (Summary) | |
7518 @findex gnus-article-strip-leading-space | |
7519 Remove all white space from the beginning of all lines of the article | |
7520 body (@code{gnus-article-strip-leading-space}). | |
7521 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7522 @item W E e |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7523 @kindex W E e (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7524 @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
|
7525 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
|
7526 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
|
7527 |
25829 | 7528 @end table |
7529 | |
7530 @xref{Customizing Articles}, for how to wash articles automatically. | |
7531 | |
7532 | |
7533 @node Article Buttons | |
7534 @subsection Article Buttons | |
7535 @cindex buttons | |
7536 | |
7537 People often include references to other stuff in articles, and it would | |
7538 be nice if Gnus could just fetch whatever it is that people talk about | |
7539 with the minimum of fuzz when you hit @kbd{RET} or use the middle mouse | |
7540 button on these references. | |
7541 | |
7542 Gnus adds @dfn{buttons} to certain standard references by default: | |
7543 Well-formed URLs, mail addresses and Message-IDs. This is controlled by | |
7544 two variables, one that handles article bodies and one that handles | |
7545 article heads: | |
7546 | |
7547 @table @code | |
7548 | |
7549 @item gnus-button-alist | |
7550 @vindex gnus-button-alist | |
7551 This is an alist where each entry has this form: | |
7552 | |
7553 @lisp | |
7554 (REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR) | |
7555 @end lisp | |
7556 | |
7557 @table @var | |
7558 | |
7559 @item regexp | |
7560 All text that match this regular expression will be considered an | |
7561 external reference. Here's a typical regexp that matches embedded URLs: | |
7562 @samp{<URL:\\([^\n\r>]*\\)>}. | |
7563 | |
7564 @item button-par | |
7565 Gnus has to know which parts of the matches is to be highlighted. This | |
7566 is a number that says what sub-expression of the regexp is to be | |
7567 highlighted. If you want it all highlighted, you use 0 here. | |
7568 | |
7569 @item use-p | |
7570 This form will be @code{eval}ed, and if the result is non-@code{nil}, | |
7571 this is considered a match. This is useful if you want extra sifting to | |
7572 avoid false matches. | |
7573 | |
7574 @item function | |
7575 This function will be called when you click on this button. | |
7576 | |
7577 @item data-par | |
7578 As with @var{button-par}, this is a sub-expression number, but this one | |
7579 says which part of the match is to be sent as data to @var{function}. | |
7580 | |
7581 @end table | |
7582 | |
7583 So the full entry for buttonizing URLs is then | |
7584 | |
7585 @lisp | |
7586 ("<URL:\\([^\n\r>]*\\)>" 0 t gnus-button-url 1) | |
7587 @end lisp | |
7588 | |
7589 @item gnus-header-button-alist | |
7590 @vindex gnus-header-button-alist | |
7591 This is just like the other alist, except that it is applied to the | |
7592 article head only, and that each entry has an additional element that is | |
7593 used to say what headers to apply the buttonize coding to: | |
7594 | |
7595 @lisp | |
7596 (HEADER REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR) | |
7597 @end lisp | |
7598 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7599 @var{header} is a regular expression. |
25829 | 7600 |
7601 @item gnus-button-url-regexp | |
7602 @vindex gnus-button-url-regexp | |
7603 A regular expression that matches embedded URLs. It is used in the | |
7604 default values of the variables above. | |
7605 | |
7606 @item gnus-article-button-face | |
7607 @vindex gnus-article-button-face | |
7608 Face used on buttons. | |
7609 | |
7610 @item gnus-article-mouse-face | |
7611 @vindex gnus-article-mouse-face | |
7612 Face used when the mouse cursor is over a button. | |
7613 | |
7614 @end table | |
7615 | |
7616 @xref{Customizing Articles}, for how to buttonize articles automatically. | |
7617 | |
7618 | |
7619 @node Article Date | |
7620 @subsection Article Date | |
7621 | |
7622 The date is most likely generated in some obscure timezone you've never | |
7623 heard of, so it's quite nice to be able to find out what the time was | |
7624 when the article was sent. | |
7625 | |
7626 @table @kbd | |
7627 | |
7628 @item W T u | |
7629 @kindex W T u (Summary) | |
7630 @findex gnus-article-date-ut | |
7631 Display the date in UT (aka. GMT, aka ZULU) | |
7632 (@code{gnus-article-date-ut}). | |
7633 | |
7634 @item W T i | |
7635 @kindex W T i (Summary) | |
7636 @findex gnus-article-date-iso8601 | |
7637 @cindex ISO 8601 | |
7638 Display the date in international format, aka. ISO 8601 | |
7639 (@code{gnus-article-date-iso8601}). | |
7640 | |
7641 @item W T l | |
7642 @kindex W T l (Summary) | |
7643 @findex gnus-article-date-local | |
7644 Display the date in the local timezone (@code{gnus-article-date-local}). | |
7645 | |
7646 @item W T s | |
7647 @kindex W T s (Summary) | |
7648 @vindex gnus-article-time-format | |
7649 @findex gnus-article-date-user | |
7650 @findex format-time-string | |
7651 Display the date using a user-defined format | |
7652 (@code{gnus-article-date-user}). The format is specified by the | |
7653 @code{gnus-article-time-format} variable, and is a string that's passed | |
7654 to @code{format-time-string}. See the documentation of that variable | |
7655 for a list of possible format specs. | |
7656 | |
7657 @item W T e | |
7658 @kindex W T e (Summary) | |
7659 @findex gnus-article-date-lapsed | |
7660 @findex gnus-start-date-timer | |
7661 @findex gnus-stop-date-timer | |
7662 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
|
7663 (@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
|
7664 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7665 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7666 X-Sent: 9 years, 6 weeks, 4 days, 9 hours, 3 minutes, 28 seconds ago |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7667 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7668 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7669 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
|
7670 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
|
7671 replace it. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7672 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7673 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
|
7674 into wonderful absurdities. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7675 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7676 If you want to have this line updated continually, you can put |
25829 | 7677 |
7678 @lisp | |
7679 (gnus-start-date-timer) | |
7680 @end lisp | |
7681 | |
7682 in your @file{.gnus.el} file, or you can run it off of some hook. If | |
7683 you want to stop the timer, you can use the @code{gnus-stop-date-timer} | |
7684 command. | |
7685 | |
7686 @item W T o | |
7687 @kindex W T o (Summary) | |
7688 @findex gnus-article-date-original | |
7689 Display the original date (@code{gnus-article-date-original}). This can | |
7690 be useful if you normally use some other conversion function and are | |
7691 worried that it might be doing something totally wrong. Say, claiming | |
7692 that the article was posted in 1854. Although something like that is | |
7693 @emph{totally} impossible. Don't you trust me? *titter* | |
7694 | |
7695 @end table | |
7696 | |
7697 @xref{Customizing Articles}, for how to display the date in your | |
7698 preferred format automatically. | |
7699 | |
7700 | |
7701 @node Article Signature | |
7702 @subsection Article Signature | |
7703 @cindex signatures | |
7704 @cindex article signature | |
7705 | |
7706 @vindex gnus-signature-separator | |
7707 Each article is divided into two parts---the head and the body. The | |
7708 body can be divided into a signature part and a text part. The variable | |
7709 that says what is to be considered a signature is | |
7710 @code{gnus-signature-separator}. This is normally the standard | |
7711 @samp{^-- $} as mandated by son-of-RFC 1036. However, many people use | |
7712 non-standard signature separators, so this variable can also be a list | |
7713 of regular expressions to be tested, one by one. (Searches are done | |
7714 from the end of the body towards the beginning.) One likely value is: | |
7715 | |
7716 @lisp | |
7717 (setq gnus-signature-separator | |
7718 '("^-- $" ; The standard | |
7719 "^-- *$" ; A common mangling | |
7720 "^-------*$" ; Many people just use a looong | |
7721 ; line of dashes. Shame! | |
7722 "^ *--------*$" ; Double-shame! | |
7723 "^________*$" ; Underscores are also popular | |
7724 "^========*$")) ; Pervert! | |
7725 @end lisp | |
7726 | |
7727 The more permissive you are, the more likely it is that you'll get false | |
7728 positives. | |
7729 | |
7730 @vindex gnus-signature-limit | |
7731 @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
|
7732 signature when displaying articles. |
25829 | 7733 |
7734 @enumerate | |
7735 @item | |
7736 If it is an integer, no signature may be longer (in characters) than | |
7737 that integer. | |
7738 @item | |
7739 If it is a floating point number, no signature may be longer (in lines) | |
7740 than that number. | |
7741 @item | |
7742 If it is a function, the function will be called without any parameters, | |
7743 and if it returns @code{nil}, there is no signature in the buffer. | |
7744 @item | |
7745 If it is a string, it will be used as a regexp. If it matches, the text | |
7746 in question is not a signature. | |
7747 @end enumerate | |
7748 | |
7749 This variable can also be a list where the elements may be of the types | |
7750 listed above. Here's an example: | |
7751 | |
7752 @lisp | |
7753 (setq gnus-signature-limit | |
7754 '(200.0 "^---*Forwarded article")) | |
7755 @end lisp | |
7756 | |
7757 This means that if there are more than 200 lines after the signature | |
7758 separator, or the text after the signature separator is matched by | |
7759 the regular expression @samp{^---*Forwarded article}, then it isn't a | |
7760 signature after all. | |
7761 | |
7762 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7763 @node Article Miscellania |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7764 @subsection Article Miscellania |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7765 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7766 @table @kbd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7767 @item A t |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7768 @kindex A t (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7769 @findex gnus-article-babel |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7770 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
|
7771 (@code{gnus-article-babel}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7772 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7773 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7774 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7775 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7776 @node MIME Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7777 @section @sc{mime} Commands |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7778 @cindex MIME decoding |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7779 @cindex attachments |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7780 @cindex viewing attachments |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7781 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7782 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
|
7783 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
|
7784 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7785 @table @kbd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7786 @item b |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7787 @itemx K v |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7788 @kindex b (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7789 @kindex K v (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7790 View the @sc{mime} part. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7791 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7792 @item K o |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7793 @kindex K o (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7794 Save the @sc{mime} part. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7795 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7796 @item K c |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7797 @kindex K c (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7798 Copy the @sc{mime} part. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7799 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7800 @item K e |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7801 @kindex K e (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7802 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
|
7803 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7804 @item K i |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7805 @kindex K i (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7806 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
|
7807 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7808 @item K | |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7809 @kindex K | (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7810 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
|
7811 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7812 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7813 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
|
7814 the same manner: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7815 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7816 @table @kbd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7817 @item K b |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7818 @kindex K b (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7819 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
|
7820 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
|
7821 parts. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7822 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7823 @item K m |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7824 @kindex K m (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7825 @findex gnus-summary-repair-multipart |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7826 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
|
7827 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
|
7828 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
|
7829 (@code{gnus-summary-repair-multipart}). |
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 @item X m |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7832 @kindex X m (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7833 @findex gnus-summary-save-parts |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7834 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
|
7835 (@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
|
7836 convention (@pxref{Process/Prefix}). |
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 @item M-t |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7839 @kindex M-t (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7840 @findex gnus-summary-display-buttonized |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7841 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
|
7842 (@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
|
7843 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7844 @item W M w |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7845 @kindex W M w (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7846 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
|
7847 (@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
|
7848 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7849 @item W M c |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7850 @kindex W M c (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7851 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
|
7852 (@code{gnus-article-decode-charset}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7853 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7854 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
|
7855 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
|
7856 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
|
7857 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
|
7858 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
|
7859 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
|
7860 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7861 @item W M v |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7862 @kindex W M v (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7863 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
|
7864 (@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
|
7865 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7866 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7867 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7868 Relevant variables: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7869 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7870 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7871 @item gnus-ignored-mime-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7872 @vindex gnus-ignored-mime-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7873 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
|
7874 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
|
7875 @code{nil}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7876 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7877 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
|
7878 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7879 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7880 (setq gnus-ignored-mime-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7881 '("text/x-vcard")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7882 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7883 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7884 @item gnus-unbuttonized-mime-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7885 @vindex gnus-unbuttonized-mime-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7886 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
|
7887 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
|
7888 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
|
7889 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7890 @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
|
7891 @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
|
7892 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
|
7893 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
|
7894 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
|
7895 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
|
7896 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
|
7897 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7898 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
|
7899 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7900 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7901 (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
|
7902 (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
|
7903 (with-temp-buffer |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7904 (insert (mm-get-part handle)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7905 (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
|
7906 (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
|
7907 (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
|
7908 'my-save-all-jpeg-parts) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7909 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7910 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7911 @vindex gnus-mime-multipart-functions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7912 @item gnus-mime-multipart-functions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7913 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
|
7914 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7915 @end table |
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 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7918 @node Charsets |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7919 @section Charsets |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7920 @cindex charsets |
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 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
|
7923 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
|
7924 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
|
7925 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
|
7926 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
|
7927 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
|
7928 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
|
7929 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7930 @vindex gnus-group-charset-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7931 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
|
7932 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
|
7933 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
|
7934 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7935 In addition, some people do use soi-disant @sc{mime}-aware agents that |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7936 aren't. These blitely mark messages as being in @code{iso-8859-1} even |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7937 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
|
7938 @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
|
7939 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
|
7940 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
|
7941 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
|
7942 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
|
7943 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7944 @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
|
7945 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
|
7946 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
|
7947 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
|
7948 quoted-printable header encoding. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7949 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7950 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
|
7951 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
|
7952 header body-list}@code{)}, where: |
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 @table @var |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7955 @item test |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7956 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
|
7957 variable to query, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7958 @item header |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7959 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
|
7960 means encode all charsets), |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7961 @item body-list |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7962 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
|
7963 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
|
7964 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
|
7965 @end table |
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 @cindex Russian |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7968 @cindex koi8-r |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7969 @cindex koi8-u |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7970 @cindex iso-8859-5 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7971 @cindex coding system aliases |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7972 @cindex preferred charset |
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 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
|
7975 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7976 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
|
7977 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
|
7978 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7979 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7980 (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
|
7981 'preferred-coding-system 'koi8-r) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7982 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7983 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7984 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
|
7985 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
|
7986 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7987 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
|
7988 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7989 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7990 (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
|
7991 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7992 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7993 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
|
7994 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7995 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
|
7996 something like |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7997 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7998 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
7999 (codepage-setup 1251) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8000 (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
|
8001 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8002 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8003 |
25829 | 8004 @node Article Commands |
8005 @section Article Commands | |
8006 | |
8007 @table @kbd | |
8008 | |
8009 @item A P | |
8010 @cindex PostScript | |
8011 @cindex printing | |
8012 @kindex A P (Summary) | |
8013 @vindex gnus-ps-print-hook | |
8014 @findex gnus-summary-print-article | |
8015 Generate and print a PostScript image of the article buffer | |
8016 (@code{gnus-summary-print-article}). @code{gnus-ps-print-hook} will be | |
8017 run just before printing the buffer. | |
8018 | |
8019 @end table | |
8020 | |
8021 | |
8022 @node Summary Sorting | |
8023 @section Summary Sorting | |
8024 @cindex summary sorting | |
8025 | |
8026 You can have the summary buffer sorted in various ways, even though I | |
8027 can't really see why you'd want that. | |
8028 | |
8029 @table @kbd | |
8030 | |
8031 @item C-c C-s C-n | |
8032 @kindex C-c C-s C-n (Summary) | |
8033 @findex gnus-summary-sort-by-number | |
8034 Sort by article number (@code{gnus-summary-sort-by-number}). | |
8035 | |
8036 @item C-c C-s C-a | |
8037 @kindex C-c C-s C-a (Summary) | |
8038 @findex gnus-summary-sort-by-author | |
8039 Sort by author (@code{gnus-summary-sort-by-author}). | |
8040 | |
8041 @item C-c C-s C-s | |
8042 @kindex C-c C-s C-s (Summary) | |
8043 @findex gnus-summary-sort-by-subject | |
8044 Sort by subject (@code{gnus-summary-sort-by-subject}). | |
8045 | |
8046 @item C-c C-s C-d | |
8047 @kindex C-c C-s C-d (Summary) | |
8048 @findex gnus-summary-sort-by-date | |
8049 Sort by date (@code{gnus-summary-sort-by-date}). | |
8050 | |
8051 @item C-c C-s C-l | |
8052 @kindex C-c C-s C-l (Summary) | |
8053 @findex gnus-summary-sort-by-lines | |
8054 Sort by lines (@code{gnus-summary-sort-by-lines}). | |
8055 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8056 @item C-c C-s C-c |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8057 @kindex C-c C-s C-c (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8058 @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
|
8059 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
|
8060 |
25829 | 8061 @item C-c C-s C-i |
8062 @kindex C-c C-s C-i (Summary) | |
8063 @findex gnus-summary-sort-by-score | |
8064 Sort by score (@code{gnus-summary-sort-by-score}). | |
8065 @end table | |
8066 | |
8067 These functions will work both when you use threading and when you don't | |
8068 use threading. In the latter case, all summary lines will be sorted, | |
8069 line by line. In the former case, sorting will be done on a | |
8070 root-by-root basis, which might not be what you were looking for. To | |
8071 toggle whether to use threading, type @kbd{T T} (@pxref{Thread | |
8072 Commands}). | |
8073 | |
8074 | |
8075 @node Finding the Parent | |
8076 @section Finding the Parent | |
8077 @cindex parent articles | |
8078 @cindex referring articles | |
8079 | |
8080 @table @kbd | |
8081 @item ^ | |
8082 @kindex ^ (Summary) | |
8083 @findex gnus-summary-refer-parent-article | |
8084 If you'd like to read the parent of the current article, and it is not | |
8085 displayed in the summary buffer, you might still be able to. That is, | |
8086 if the current group is fetched by @sc{nntp}, the parent hasn't expired | |
8087 and the @code{References} in the current article are not mangled, you | |
8088 can just press @kbd{^} or @kbd{A r} | |
8089 (@code{gnus-summary-refer-parent-article}). If everything goes well, | |
8090 you'll get the parent. If the parent is already displayed in the | |
8091 summary buffer, point will just move to this article. | |
8092 | |
8093 If given a positive numerical prefix, fetch that many articles back into | |
8094 the ancestry. If given a negative numerical prefix, fetch just that | |
8095 ancestor. So if you say @kbd{3 ^}, Gnus will fetch the parent, the | |
8096 grandparent and the grandgrandparent of the current article. If you say | |
8097 @kbd{-3 ^}, Gnus will only fetch the grandgrandparent of the current | |
8098 article. | |
8099 | |
8100 @item A R (Summary) | |
8101 @findex gnus-summary-refer-references | |
8102 @kindex A R (Summary) | |
8103 Fetch all articles mentioned in the @code{References} header of the | |
8104 article (@code{gnus-summary-refer-references}). | |
8105 | |
8106 @item A T (Summary) | |
8107 @findex gnus-summary-refer-thread | |
8108 @kindex A T (Summary) | |
8109 Display the full thread where the current article appears | |
8110 (@code{gnus-summary-refer-thread}). This command has to fetch all the | |
8111 headers in the current group to work, so it usually takes a while. If | |
8112 you do it often, you may consider setting @code{gnus-fetch-old-headers} | |
8113 to @code{invisible} (@pxref{Filling In Threads}). This won't have any | |
8114 visible effects normally, but it'll make this command work a whole lot | |
8115 faster. Of course, it'll make group entry somewhat slow. | |
8116 | |
8117 @vindex gnus-refer-thread-limit | |
8118 The @code{gnus-refer-thread-limit} variable says how many old (i. e., | |
8119 articles before the first displayed in the current group) headers to | |
8120 fetch when doing this command. The default is 200. If @code{t}, all | |
8121 the available headers will be fetched. This variable can be overridden | |
8122 by giving the @kbd{A T} command a numerical prefix. | |
8123 | |
8124 @item M-^ (Summary) | |
8125 @findex gnus-summary-refer-article | |
8126 @kindex M-^ (Summary) | |
8127 @cindex Message-ID | |
8128 @cindex fetching by Message-ID | |
8129 You can also ask the @sc{nntp} server for an arbitrary article, no | |
8130 matter what group it belongs to. @kbd{M-^} | |
8131 (@code{gnus-summary-refer-article}) will ask you for a | |
8132 @code{Message-ID}, which is one of those long, hard-to-read thingies | |
8133 that look something like @samp{<38o6up$6f2@@hymir.ifi.uio.no>}. You | |
8134 have to get it all exactly right. No fuzzy searches, I'm afraid. | |
8135 @end table | |
8136 | |
8137 The current select method will be used when fetching by | |
8138 @code{Message-ID} from non-news select method, but you can override this | |
8139 by giving this command a prefix. | |
8140 | |
8141 @vindex gnus-refer-article-method | |
8142 If the group you are reading is located on a backend that does not | |
8143 support fetching by @code{Message-ID} very well (like @code{nnspool}), | |
8144 you can set @code{gnus-refer-article-method} to an @sc{nntp} method. It | |
8145 would, perhaps, be best if the @sc{nntp} server you consult is the one | |
8146 updating the spool you are reading from, but that's not really | |
8147 necessary. | |
8148 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8149 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
|
8150 @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
|
8151 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
|
8152 match. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8153 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8154 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
|
8155 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
|
8156 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8157 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8158 (setq gnus-refer-article-method |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8159 '(current |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8160 (nnweb "refer" (nnweb-type dejanews)))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8161 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8162 |
25829 | 8163 Most of the mail backends support fetching by @code{Message-ID}, but do |
8164 not do a particularly excellent job at it. That is, @code{nnmbox} and | |
8165 @code{nnbabyl} are able to locate articles from any groups, while | |
8166 @code{nnml} and @code{nnfolder} are only able to locate articles that | |
8167 have been posted to the current group. (Anything else would be too time | |
8168 consuming.) @code{nnmh} does not support this at all. | |
8169 | |
8170 | |
8171 @node Alternative Approaches | |
8172 @section Alternative Approaches | |
8173 | |
8174 Different people like to read news using different methods. This being | |
8175 Gnus, we offer a small selection of minor modes for the summary buffers. | |
8176 | |
8177 @menu | |
8178 * Pick and Read:: First mark articles and then read them. | |
8179 * Binary Groups:: Auto-decode all articles. | |
8180 @end menu | |
8181 | |
8182 | |
8183 @node Pick and Read | |
8184 @subsection Pick and Read | |
8185 @cindex pick and read | |
8186 | |
8187 Some newsreaders (like @code{nn} and, uhm, @code{Netnews} on VM/CMS) use | |
8188 a two-phased reading interface. The user first marks in a summary | |
8189 buffer the articles she wants to read. Then she starts reading the | |
8190 articles with just an article buffer displayed. | |
8191 | |
8192 @findex gnus-pick-mode | |
8193 @kindex M-x gnus-pick-mode | |
8194 Gnus provides a summary buffer minor mode that allows | |
8195 this---@code{gnus-pick-mode}. This basically means that a few process | |
8196 mark commands become one-keystroke commands to allow easy marking, and | |
8197 it provides one additional command for switching to the summary buffer. | |
8198 | |
8199 Here are the available keystrokes when using pick mode: | |
8200 | |
8201 @table @kbd | |
8202 @item . | |
8203 @kindex . (Pick) | |
8204 @findex gnus-pick-article-or-thread | |
8205 Pick the article or thread on the current line | |
8206 (@code{gnus-pick-article-or-thread}). If the variable | |
8207 @code{gnus-thread-hide-subtree} is true, then this key selects the | |
8208 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
|
8209 it selects just the article. If given a numerical prefix, go to that |
25829 | 8210 thread or article and pick it. (The line number is normally displayed |
8211 at the beginning of the summary pick lines.) | |
8212 | |
8213 @item SPACE | |
8214 @kindex SPACE (Pick) | |
8215 @findex gnus-pick-next-page | |
8216 Scroll the summary buffer up one page (@code{gnus-pick-next-page}). If | |
8217 at the end of the buffer, start reading the picked articles. | |
8218 | |
8219 @item u | |
8220 @kindex u (Pick) | |
8221 @findex gnus-pick-unmark-article-or-thread. | |
8222 Unpick the thread or article | |
8223 (@code{gnus-pick-unmark-article-or-thread}). If the variable | |
8224 @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
|
8225 thread if used at the first article of the thread. Otherwise it unpicks |
25829 | 8226 just the article. You can give this key a numerical prefix to unpick |
8227 the thread or article at that line. | |
8228 | |
8229 @item RET | |
8230 @kindex RET (Pick) | |
8231 @findex gnus-pick-start-reading | |
8232 @vindex gnus-pick-display-summary | |
8233 Start reading the picked articles (@code{gnus-pick-start-reading}). If | |
8234 given a prefix, mark all unpicked articles as read first. If | |
8235 @code{gnus-pick-display-summary} is non-@code{nil}, the summary buffer | |
8236 will still be visible when you are reading. | |
8237 | |
8238 @end table | |
8239 | |
8240 All the normal summary mode commands are still available in the | |
8241 pick-mode, with the exception of @kbd{u}. However @kbd{!} is available | |
8242 which is mapped to the same function | |
8243 @code{gnus-summary-tick-article-forward}. | |
8244 | |
8245 If this sounds like a good idea to you, you could say: | |
8246 | |
8247 @lisp | |
8248 (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode) | |
8249 @end lisp | |
8250 | |
8251 @vindex gnus-pick-mode-hook | |
8252 @code{gnus-pick-mode-hook} is run in pick minor mode buffers. | |
8253 | |
8254 @vindex gnus-mark-unpicked-articles-as-read | |
8255 If @code{gnus-mark-unpicked-articles-as-read} is non-@code{nil}, mark | |
8256 all unpicked articles as read. The default is @code{nil}. | |
8257 | |
8258 @vindex gnus-summary-pick-line-format | |
8259 The summary line format in pick mode is slightly different from the | |
8260 standard format. At the beginning of each line the line number is | |
8261 displayed. The pick mode line format is controlled by the | |
8262 @code{gnus-summary-pick-line-format} variable (@pxref{Formatting | |
8263 Variables}). It accepts the same format specs that | |
8264 @code{gnus-summary-line-format} does (@pxref{Summary Buffer Lines}). | |
8265 | |
8266 | |
8267 @node Binary Groups | |
8268 @subsection Binary Groups | |
8269 @cindex binary groups | |
8270 | |
8271 @findex gnus-binary-mode | |
8272 @kindex M-x gnus-binary-mode | |
8273 If you spend much time in binary groups, you may grow tired of hitting | |
8274 @kbd{X u}, @kbd{n}, @kbd{RET} all the time. @kbd{M-x gnus-binary-mode} | |
8275 is a minor mode for summary buffers that makes all ordinary Gnus article | |
8276 selection functions uudecode series of articles and display the result | |
8277 instead of just displaying the articles the normal way. | |
8278 | |
8279 @kindex g (Binary) | |
8280 @findex gnus-binary-show-article | |
8281 The only way, in fact, to see the actual articles is the @kbd{g} | |
8282 command, when you have turned on this mode | |
8283 (@code{gnus-binary-show-article}). | |
8284 | |
8285 @vindex gnus-binary-mode-hook | |
8286 @code{gnus-binary-mode-hook} is called in binary minor mode buffers. | |
8287 | |
8288 | |
8289 @node Tree Display | |
8290 @section Tree Display | |
8291 @cindex trees | |
8292 | |
8293 @vindex gnus-use-trees | |
8294 If you don't like the normal Gnus summary display, you might try setting | |
8295 @code{gnus-use-trees} to @code{t}. This will create (by default) an | |
8296 additional @dfn{tree buffer}. You can execute all summary mode commands | |
8297 in the tree buffer. | |
8298 | |
8299 There are a few variables to customize the tree display, of course: | |
8300 | |
8301 @table @code | |
8302 @item gnus-tree-mode-hook | |
8303 @vindex gnus-tree-mode-hook | |
8304 A hook called in all tree mode buffers. | |
8305 | |
8306 @item gnus-tree-mode-line-format | |
8307 @vindex gnus-tree-mode-line-format | |
8308 A format string for the mode bar in the tree mode buffers (@pxref{Mode | |
8309 Line Formatting}). The default is @samp{Gnus: %%b %S %Z}. For a list | |
8310 of valid specs, @pxref{Summary Buffer Mode Line}. | |
8311 | |
8312 @item gnus-selected-tree-face | |
8313 @vindex gnus-selected-tree-face | |
8314 Face used for highlighting the selected article in the tree buffer. The | |
8315 default is @code{modeline}. | |
8316 | |
8317 @item gnus-tree-line-format | |
8318 @vindex gnus-tree-line-format | |
8319 A format string for the tree nodes. The name is a bit of a misnomer, | |
8320 though---it doesn't define a line, but just the node. The default value | |
8321 is @samp{%(%[%3,3n%]%)}, which displays the first three characters of | |
8322 the name of the poster. It is vital that all nodes are of the same | |
8323 length, so you @emph{must} use @samp{%4,4n}-like specifiers. | |
8324 | |
8325 Valid specs are: | |
8326 | |
8327 @table @samp | |
8328 @item n | |
8329 The name of the poster. | |
8330 @item f | |
8331 The @code{From} header. | |
8332 @item N | |
8333 The number of the article. | |
8334 @item [ | |
8335 The opening bracket. | |
8336 @item ] | |
8337 The closing bracket. | |
8338 @item s | |
8339 The subject. | |
8340 @end table | |
8341 | |
8342 @xref{Formatting Variables}. | |
8343 | |
8344 Variables related to the display are: | |
8345 | |
8346 @table @code | |
8347 @item gnus-tree-brackets | |
8348 @vindex gnus-tree-brackets | |
8349 This is used for differentiating between ``real'' articles and | |
26290 | 8350 ``sparse'' articles. The format is @code{((@var{real-open} . @var{real-close}) |
8351 (@var{sparse-open} . @var{sparse-close}) (@var{dummy-open} . @var{dummy-close}))}, and the | |
25829 | 8352 default is @code{((?[ . ?]) (?( . ?)) (?@{ . ?@}) (?< . ?>))}. |
8353 | |
8354 @item gnus-tree-parent-child-edges | |
8355 @vindex gnus-tree-parent-child-edges | |
8356 This is a list that contains the characters used for connecting parent | |
8357 nodes to their children. The default is @code{(?- ?\\ ?|)}. | |
8358 | |
8359 @end table | |
8360 | |
8361 @item gnus-tree-minimize-window | |
8362 @vindex gnus-tree-minimize-window | |
8363 If this variable is non-@code{nil}, Gnus will try to keep the tree | |
8364 buffer as small as possible to allow more room for the other Gnus | |
8365 windows. If this variable is a number, the tree buffer will never be | |
8366 higher than that number. The default is @code{t}. Note that if you | |
8367 have several windows displayed side-by-side in a frame and the tree | |
8368 buffer is one of these, minimizing the tree window will also resize all | |
8369 other windows displayed next to it. | |
8370 | |
8371 @item gnus-generate-tree-function | |
8372 @vindex gnus-generate-tree-function | |
8373 @findex gnus-generate-horizontal-tree | |
8374 @findex gnus-generate-vertical-tree | |
8375 The function that actually generates the thread tree. Two predefined | |
8376 functions are available: @code{gnus-generate-horizontal-tree} and | |
8377 @code{gnus-generate-vertical-tree} (which is the default). | |
8378 | |
8379 @end table | |
8380 | |
8381 Here's an example from a horizontal tree buffer: | |
8382 | |
8383 @example | |
8384 @{***@}-(***)-[odd]-[Gun] | |
8385 | \[Jan] | |
8386 | \[odd]-[Eri] | |
8387 | \(***)-[Eri] | |
8388 | \[odd]-[Paa] | |
8389 \[Bjo] | |
8390 \[Gun] | |
8391 \[Gun]-[Jor] | |
8392 @end example | |
8393 | |
8394 Here's the same thread displayed in a vertical tree buffer: | |
8395 | |
8396 @example | |
8397 @{***@} | |
8398 |--------------------------\-----\-----\ | |
8399 (***) [Bjo] [Gun] [Gun] | |
8400 |--\-----\-----\ | | |
8401 [odd] [Jan] [odd] (***) [Jor] | |
8402 | | |--\ | |
8403 [Gun] [Eri] [Eri] [odd] | |
8404 | | |
8405 [Paa] | |
8406 @end example | |
8407 | |
8408 If you're using horizontal trees, it might be nice to display the trees | |
8409 side-by-side with the summary buffer. You could add something like the | |
8410 following to your @file{.gnus.el} file: | |
8411 | |
8412 @lisp | |
8413 (setq gnus-use-trees t | |
8414 gnus-generate-tree-function 'gnus-generate-horizontal-tree | |
8415 gnus-tree-minimize-window nil) | |
8416 (gnus-add-configuration | |
8417 '(article | |
8418 (vertical 1.0 | |
8419 (horizontal 0.25 | |
8420 (summary 0.75 point) | |
8421 (tree 1.0)) | |
8422 (article 1.0)))) | |
8423 @end lisp | |
8424 | |
8425 @xref{Windows Configuration}. | |
8426 | |
8427 | |
8428 @node Mail Group Commands | |
8429 @section Mail Group Commands | |
8430 @cindex mail group commands | |
8431 | |
8432 Some commands only make sense in mail groups. If these commands are | |
8433 invalid in the current group, they will raise a hell and let you know. | |
8434 | |
8435 All these commands (except the expiry and edit commands) use the | |
8436 process/prefix convention (@pxref{Process/Prefix}). | |
8437 | |
8438 @table @kbd | |
8439 | |
8440 @item B e | |
8441 @kindex B e (Summary) | |
8442 @findex gnus-summary-expire-articles | |
8443 Expire all expirable articles in the group | |
8444 (@code{gnus-summary-expire-articles}). | |
8445 | |
8446 @item B M-C-e | |
8447 @kindex B M-C-e (Summary) | |
8448 @findex gnus-summary-expire-articles-now | |
8449 Delete all the expirable articles in the group | |
8450 (@code{gnus-summary-expire-articles-now}). This means that @strong{all} | |
8451 articles eligible for expiry in the current group will | |
8452 disappear forever into that big @file{/dev/null} in the sky. | |
8453 | |
8454 @item B DEL | |
8455 @kindex B DEL (Summary) | |
8456 @findex gnus-summary-delete-article | |
8457 @c @icon{gnus-summary-mail-delete} | |
8458 Delete the mail article. This is ``delete'' as in ``delete it from your | |
8459 disk forever and ever, never to return again.'' Use with caution. | |
8460 (@code{gnus-summary-delete-article}). | |
8461 | |
8462 @item B m | |
8463 @kindex B m (Summary) | |
8464 @cindex move mail | |
8465 @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
|
8466 @vindex gnus-preserve-marks |
25829 | 8467 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
|
8468 (@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
|
8469 @var{gnus-preserve-marks} is non-@code{nil} (which is the default). |
25829 | 8470 |
8471 @item B c | |
8472 @kindex B c (Summary) | |
8473 @cindex copy mail | |
8474 @findex gnus-summary-copy-article | |
8475 @c @icon{gnus-summary-mail-copy} | |
8476 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
|
8477 (@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
|
8478 @var{gnus-preserve-marks} is non-@code{nil} (which is the default). |
25829 | 8479 |
8480 @item B B | |
8481 @kindex B B (Summary) | |
8482 @cindex crosspost mail | |
8483 @findex gnus-summary-crosspost-article | |
8484 Crosspost the current article to some other group | |
8485 (@code{gnus-summary-crosspost-article}). This will create a new copy of | |
8486 the article in the other group, and the Xref headers of the article will | |
8487 be properly updated. | |
8488 | |
8489 @item B i | |
8490 @kindex B i (Summary) | |
8491 @findex gnus-summary-import-article | |
8492 Import an arbitrary file into the current mail newsgroup | |
8493 (@code{gnus-summary-import-article}). You will be prompted for a file | |
8494 name, a @code{From} header and a @code{Subject} header. | |
8495 | |
8496 @item B r | |
8497 @kindex B r (Summary) | |
8498 @findex gnus-summary-respool-article | |
8499 Respool the mail article (@code{gnus-summary-respool-article}). | |
8500 @code{gnus-summary-respool-default-method} will be used as the default | |
8501 select method when respooling. This variable is @code{nil} by default, | |
8502 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
|
8503 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
|
8504 (which is the default). |
25829 | 8505 |
8506 @item B w | |
8507 @itemx e | |
8508 @kindex B w (Summary) | |
8509 @kindex e (Summary) | |
8510 @findex gnus-summary-edit-article | |
8511 @kindex C-c C-c (Article) | |
8512 Edit the current article (@code{gnus-summary-edit-article}). To finish | |
8513 editing and make the changes permanent, type @kbd{C-c C-c} | |
8514 (@kbd{gnus-summary-edit-article-done}). If you give a prefix to the | |
8515 @kbd{C-c C-c} command, Gnus won't re-highlight the article. | |
8516 | |
8517 @item B q | |
8518 @kindex B q (Summary) | |
8519 @findex gnus-summary-respool-query | |
8520 If you want to re-spool an article, you might be curious as to what group | |
8521 the article will end up in before you do the re-spooling. This command | |
8522 will tell you (@code{gnus-summary-respool-query}). | |
8523 | |
8524 @item B t | |
8525 @kindex B t (Summary) | |
8526 @findex gnus-summary-respool-trace | |
8527 Similarly, this command will display all fancy splitting patterns used | |
8528 when repooling, if any (@code{gnus-summary-respool-trace}). | |
8529 | |
8530 @item B p | |
8531 @kindex B p (Summary) | |
8532 @findex gnus-summary-article-posted-p | |
8533 Some people have a tendency to send you "courtesy" copies when they | |
8534 follow up to articles you have posted. These usually have a | |
8535 @code{Newsgroups} header in them, but not always. This command | |
8536 (@code{gnus-summary-article-posted-p}) will try to fetch the current | |
8537 article from your news server (or rather, from | |
8538 @code{gnus-refer-article-method} or @code{gnus-select-method}) and will | |
8539 report back whether it found the article or not. Even if it says that | |
8540 it didn't find the article, it may have been posted anyway---mail | |
8541 propagation is much faster than news propagation, and the news copy may | |
8542 just not have arrived yet. | |
8543 | |
8544 @end table | |
8545 | |
8546 @vindex gnus-move-split-methods | |
8547 @cindex moving articles | |
8548 If you move (or copy) articles regularly, you might wish to have Gnus | |
8549 suggest where to put the articles. @code{gnus-move-split-methods} is a | |
8550 variable that uses the same syntax as @code{gnus-split-methods} | |
8551 (@pxref{Saving Articles}). You may customize that variable to create | |
8552 suggestions you find reasonable. | |
8553 | |
8554 @lisp | |
8555 (setq gnus-move-split-methods | |
8556 '(("^From:.*Lars Magne" "nnml:junk") | |
8557 ("^Subject:.*gnus" "nnfolder:important") | |
8558 (".*" "nnml:misc"))) | |
8559 @end lisp | |
8560 | |
8561 | |
8562 @node Various Summary Stuff | |
8563 @section Various Summary Stuff | |
8564 | |
8565 @menu | |
8566 * Summary Group Information:: Information oriented commands. | |
8567 * Searching for Articles:: Multiple article commands. | |
8568 * Summary Generation Commands:: (Re)generating the summary buffer. | |
8569 * Really Various Summary Commands:: Those pesky non-conformant commands. | |
8570 @end menu | |
8571 | |
8572 @table @code | |
8573 @vindex gnus-summary-mode-hook | |
8574 @item gnus-summary-mode-hook | |
8575 This hook is called when creating a summary mode buffer. | |
8576 | |
8577 @vindex gnus-summary-generate-hook | |
8578 @item gnus-summary-generate-hook | |
8579 This is called as the last thing before doing the threading and the | |
8580 generation of the summary buffer. It's quite convenient for customizing | |
8581 the threading variables based on what data the newsgroup has. This hook | |
8582 is called from the summary buffer after most summary buffer variables | |
8583 have been set. | |
8584 | |
8585 @vindex gnus-summary-prepare-hook | |
8586 @item gnus-summary-prepare-hook | |
8587 It is called after the summary buffer has been generated. You might use | |
8588 it to, for instance, highlight lines or modify the look of the buffer in | |
8589 some other ungodly manner. I don't care. | |
8590 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8591 @vindex gnus-summary-prepared-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8592 @item gnus-summary-prepared-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8593 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
|
8594 generated. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8595 |
25829 | 8596 @vindex gnus-summary-ignore-duplicates |
8597 @item gnus-summary-ignore-duplicates | |
8598 When Gnus discovers two articles that have the same @code{Message-ID}, | |
8599 it has to do something drastic. No articles are allowed to have the | |
8600 same @code{Message-ID}, but this may happen when reading mail from some | |
8601 sources. Gnus allows you to customize what happens with this variable. | |
8602 If it is @code{nil} (which is the default), Gnus will rename the | |
8603 @code{Message-ID} (for display purposes only) and display the article as | |
8604 any other article. If this variable is @code{t}, it won't display the | |
8605 article---it'll be as if it never existed. | |
8606 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8607 @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
|
8608 @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
|
8609 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
|
8610 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
|
8611 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
|
8612 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8613 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
|
8614 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
|
8615 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8616 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8617 (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
|
8618 (if (string= group "some.group") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8619 (append gnus-newsgroup-cached articles) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8620 articles)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8621 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8622 |
25829 | 8623 @end table |
8624 | |
8625 | |
8626 @node Summary Group Information | |
8627 @subsection Summary Group Information | |
8628 | |
8629 @table @kbd | |
8630 | |
8631 @item H f | |
8632 @kindex H f (Summary) | |
8633 @findex gnus-summary-fetch-faq | |
8634 @vindex gnus-group-faq-directory | |
8635 Try to fetch the FAQ (list of frequently asked questions) for the | |
8636 current group (@code{gnus-summary-fetch-faq}). Gnus will try to get the | |
8637 FAQ from @code{gnus-group-faq-directory}, which is usually a directory | |
8638 on a remote machine. This variable can also be a list of directories. | |
8639 In that case, giving a prefix to this command will allow you to choose | |
8640 between the various sites. @code{ange-ftp} or @code{efs} will probably | |
8641 be used for fetching the file. | |
8642 | |
8643 @item H d | |
8644 @kindex H d (Summary) | |
8645 @findex gnus-summary-describe-group | |
8646 Give a brief description of the current group | |
8647 (@code{gnus-summary-describe-group}). If given a prefix, force | |
8648 rereading the description from the server. | |
8649 | |
8650 @item H h | |
8651 @kindex H h (Summary) | |
8652 @findex gnus-summary-describe-briefly | |
8653 Give an extremely brief description of the most important summary | |
8654 keystrokes (@code{gnus-summary-describe-briefly}). | |
8655 | |
8656 @item H i | |
8657 @kindex H i (Summary) | |
8658 @findex gnus-info-find-node | |
8659 Go to the Gnus info node (@code{gnus-info-find-node}). | |
8660 @end table | |
8661 | |
8662 | |
8663 @node Searching for Articles | |
8664 @subsection Searching for Articles | |
8665 | |
8666 @table @kbd | |
8667 | |
8668 @item M-s | |
8669 @kindex M-s (Summary) | |
8670 @findex gnus-summary-search-article-forward | |
8671 Search through all subsequent articles for a regexp | |
8672 (@code{gnus-summary-search-article-forward}). | |
8673 | |
8674 @item M-r | |
8675 @kindex M-r (Summary) | |
8676 @findex gnus-summary-search-article-backward | |
8677 Search through all previous articles for a regexp | |
8678 (@code{gnus-summary-search-article-backward}). | |
8679 | |
8680 @item & | |
8681 @kindex & (Summary) | |
8682 @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
|
8683 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
|
8684 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
|
8685 (@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
|
8686 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
|
8687 search backward instead. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8688 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8689 For instance, @kbd{& RET some.*string #} will put the process mark on |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8690 all articles that have heads or bodies that match @samp{some.*string}. |
25829 | 8691 |
8692 @item M-& | |
8693 @kindex M-& (Summary) | |
8694 @findex gnus-summary-universal-argument | |
8695 Perform any operation on all articles that have been marked with | |
8696 the process mark (@code{gnus-summary-universal-argument}). | |
8697 @end table | |
8698 | |
8699 @node Summary Generation Commands | |
8700 @subsection Summary Generation Commands | |
8701 | |
8702 @table @kbd | |
8703 | |
8704 @item Y g | |
8705 @kindex Y g (Summary) | |
8706 @findex gnus-summary-prepare | |
8707 Regenerate the current summary buffer (@code{gnus-summary-prepare}). | |
8708 | |
8709 @item Y c | |
8710 @kindex Y c (Summary) | |
8711 @findex gnus-summary-insert-cached-articles | |
8712 Pull all cached articles (for the current group) into the summary buffer | |
8713 (@code{gnus-summary-insert-cached-articles}). | |
8714 | |
8715 @end table | |
8716 | |
8717 | |
8718 @node Really Various Summary Commands | |
8719 @subsection Really Various Summary Commands | |
8720 | |
8721 @table @kbd | |
8722 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8723 @item A D |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8724 @itemx C-d |
25829 | 8725 @kindex C-d (Summary) |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8726 @kindex A D (Summary) |
25829 | 8727 @findex gnus-summary-enter-digest-group |
8728 If the current article is a collection of other articles (for instance, | |
8729 a digest), you might use this command to enter a group based on the that | |
8730 article (@code{gnus-summary-enter-digest-group}). Gnus will try to | |
8731 guess what article type is currently displayed unless you give a prefix | |
8732 to this command, which forces a ``digest'' interpretation. Basically, | |
8733 whenever you see a message that is a collection of other messages of | |
8734 some format, you @kbd{C-d} and read these messages in a more convenient | |
8735 fashion. | |
8736 | |
8737 @item M-C-d | |
8738 @kindex M-C-d (Summary) | |
8739 @findex gnus-summary-read-document | |
8740 This command is very similar to the one above, but lets you gather | |
8741 several documents into one biiig group | |
8742 (@code{gnus-summary-read-document}). It does this by opening several | |
8743 @code{nndoc} groups for each document, and then opening an | |
8744 @code{nnvirtual} group on top of these @code{nndoc} groups. This | |
8745 command understands the process/prefix convention | |
8746 (@pxref{Process/Prefix}). | |
8747 | |
8748 @item C-t | |
8749 @kindex C-t (Summary) | |
8750 @findex gnus-summary-toggle-truncation | |
8751 Toggle truncation of summary lines | |
8752 (@code{gnus-summary-toggle-truncation}). This will probably confuse the | |
8753 line centering function in the summary buffer, so it's not a good idea | |
8754 to have truncation switched off while reading articles. | |
8755 | |
8756 @item = | |
8757 @kindex = (Summary) | |
8758 @findex gnus-summary-expand-window | |
8759 Expand the summary buffer window (@code{gnus-summary-expand-window}). | |
8760 If given a prefix, force an @code{article} window configuration. | |
8761 | |
8762 @item M-C-e | |
8763 @kindex M-C-e (Summary) | |
8764 @findex gnus-summary-edit-parameters | |
8765 Edit the group parameters (@pxref{Group Parameters}) of the current | |
8766 group (@code{gnus-summary-edit-parameters}). | |
8767 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8768 @item M-C-a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8769 @kindex M-C-a (Summary) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8770 @findex gnus-summary-customize-parameters |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
8771 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
|
8772 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
|
8773 |
25829 | 8774 @end table |
8775 | |
8776 | |
8777 @node Exiting the Summary Buffer | |
8778 @section Exiting the Summary Buffer | |
8779 @cindex summary exit | |
8780 @cindex exiting groups | |
8781 | |
8782 Exiting from the summary buffer will normally update all info on the | |
8783 group and return you to the group buffer. | |
8784 | |
8785 @table @kbd | |
8786 | |
8787 @item Z Z | |
8788 @itemx q | |
8789 @kindex Z Z (Summary) | |
8790 @kindex q (Summary) | |
8791 @findex gnus-summary-exit | |
8792 @vindex gnus-summary-exit-hook | |
8793 @vindex gnus-summary-prepare-exit-hook | |
8794 @c @icon{gnus-summary-exit} | |
8795 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
|
8796 (@code{gnus-summary-exit}). @code{gnus-summary-prepare-exit-hook} is |
25829 | 8797 called before doing much of the exiting, which calls |
8798 @code{gnus-summary-expire-articles} by default. | |
8799 @code{gnus-summary-exit-hook} is called after finishing the exit | |
8800 process. @code{gnus-group-no-more-groups-hook} is run when returning to | |
8801 group mode having no more (unread) groups. | |
8802 | |
8803 @item Z E | |
8804 @itemx Q | |
8805 @kindex Z E (Summary) | |
8806 @kindex Q (Summary) | |
8807 @findex gnus-summary-exit-no-update | |
8808 Exit the current group without updating any information on the group | |
8809 (@code{gnus-summary-exit-no-update}). | |
8810 | |
8811 @item Z c | |
8812 @itemx c | |
8813 @kindex Z c (Summary) | |
8814 @kindex c (Summary) | |
8815 @findex gnus-summary-catchup-and-exit | |
8816 @c @icon{gnus-summary-catchup-and-exit} | |
8817 Mark all unticked articles in the group as read and then exit | |
8818 (@code{gnus-summary-catchup-and-exit}). | |
8819 | |
8820 @item Z C | |
8821 @kindex Z C (Summary) | |
8822 @findex gnus-summary-catchup-all-and-exit | |
8823 Mark all articles, even the ticked ones, as read and then exit | |
8824 (@code{gnus-summary-catchup-all-and-exit}). | |
8825 | |
8826 @item Z n | |
8827 @kindex Z n (Summary) | |
8828 @findex gnus-summary-catchup-and-goto-next-group | |
8829 Mark all articles as read and go to the next group | |
8830 (@code{gnus-summary-catchup-and-goto-next-group}). | |
8831 | |
8832 @item Z R | |
8833 @kindex Z R (Summary) | |
8834 @findex gnus-summary-reselect-current-group | |
8835 Exit this group, and then enter it again | |
8836 (@code{gnus-summary-reselect-current-group}). If given a prefix, select | |
8837 all articles, both read and unread. | |
8838 | |
8839 @item Z G | |
8840 @itemx M-g | |
8841 @kindex Z G (Summary) | |
8842 @kindex M-g (Summary) | |
8843 @findex gnus-summary-rescan-group | |
8844 @c @icon{gnus-summary-mail-get} | |
8845 Exit the group, check for new articles in the group, and select the | |
8846 group (@code{gnus-summary-rescan-group}). If given a prefix, select all | |
8847 articles, both read and unread. | |
8848 | |
8849 @item Z N | |
8850 @kindex Z N (Summary) | |
8851 @findex gnus-summary-next-group | |
8852 Exit the group and go to the next group | |
8853 (@code{gnus-summary-next-group}). | |
8854 | |
8855 @item Z P | |
8856 @kindex Z P (Summary) | |
8857 @findex gnus-summary-prev-group | |
8858 Exit the group and go to the previous group | |
8859 (@code{gnus-summary-prev-group}). | |
8860 | |
8861 @item Z s | |
8862 @kindex Z s (Summary) | |
8863 @findex gnus-summary-save-newsrc | |
8864 Save the current number of read/marked articles in the dribble buffer | |
8865 and then save the dribble buffer (@code{gnus-summary-save-newsrc}). If | |
8866 given a prefix, also save the @file{.newsrc} file(s). Using this | |
8867 command will make exit without updating (the @kbd{Q} command) worthless. | |
8868 @end table | |
8869 | |
8870 @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
|
8871 @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
|
8872 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
|
8873 (@code{gnus-summary-exit-no-update}) does not call this hook. |
25829 | 8874 |
8875 @findex gnus-summary-wake-up-the-dead | |
8876 @findex gnus-dead-summary-mode | |
8877 @vindex gnus-kill-summary-on-exit | |
8878 If you're in the habit of exiting groups, and then changing your mind | |
8879 about it, you might set @code{gnus-kill-summary-on-exit} to @code{nil}. | |
8880 If you do that, Gnus won't kill the summary buffer when you exit it. | |
8881 (Quelle surprise!) Instead it will change the name of the buffer to | |
8882 something like @samp{*Dead Summary ... *} and install a minor mode | |
8883 called @code{gnus-dead-summary-mode}. Now, if you switch back to this | |
8884 buffer, you'll find that all keys are mapped to a function called | |
8885 @code{gnus-summary-wake-up-the-dead}. So tapping any keys in a dead | |
8886 summary buffer will result in a live, normal summary buffer. | |
8887 | |
8888 There will never be more than one dead summary buffer at any one time. | |
8889 | |
8890 @vindex gnus-use-cross-reference | |
8891 The data on the current group will be updated (which articles you have | |
8892 read, which articles you have replied to, etc.) when you exit the | |
8893 summary buffer. If the @code{gnus-use-cross-reference} variable is | |
8894 @code{t} (which is the default), articles that are cross-referenced to | |
8895 this group and are marked as read, will also be marked as read in the | |
8896 other subscribed groups they were cross-posted to. If this variable is | |
8897 neither @code{nil} nor @code{t}, the article will be marked as read in | |
8898 both subscribed and unsubscribed groups (@pxref{Crosspost Handling}). | |
8899 | |
8900 | |
8901 @node Crosspost Handling | |
8902 @section Crosspost Handling | |
8903 | |
8904 @cindex velveeta | |
8905 @cindex spamming | |
8906 Marking cross-posted articles as read ensures that you'll never have to | |
8907 read the same article more than once. Unless, of course, somebody has | |
8908 posted it to several groups separately. Posting the same article to | |
8909 several groups (not cross-posting) is called @dfn{spamming}, and you are | |
8910 by law required to send nasty-grams to anyone who perpetrates such a | |
8911 heinous crime. You may want to try NoCeM handling to filter out spam | |
8912 (@pxref{NoCeM}). | |
8913 | |
8914 Remember: Cross-posting is kinda ok, but posting the same article | |
8915 separately to several groups is not. Massive cross-posting (aka. | |
8916 @dfn{velveeta}) is to be avoided at all costs, and you can even use the | |
8917 @code{gnus-summary-mail-crosspost-complaint} command to complain about | |
8918 excessive crossposting (@pxref{Summary Mail Commands}). | |
8919 | |
8920 @cindex cross-posting | |
8921 @cindex Xref | |
8922 @cindex @sc{nov} | |
8923 One thing that may cause Gnus to not do the cross-posting thing | |
8924 correctly is if you use an @sc{nntp} server that supports @sc{xover} | |
8925 (which is very nice, because it speeds things up considerably) which | |
8926 does not include the @code{Xref} header in its @sc{nov} lines. This is | |
8927 Evil, but all too common, alas, alack. Gnus tries to Do The Right Thing | |
8928 even with @sc{xover} by registering the @code{Xref} lines of all | |
8929 articles you actually read, but if you kill the articles, or just mark | |
8930 them as read without reading them, Gnus will not get a chance to snoop | |
8931 the @code{Xref} lines out of these articles, and will be unable to use | |
8932 the cross reference mechanism. | |
8933 | |
8934 @cindex LIST overview.fmt | |
8935 @cindex overview.fmt | |
8936 To check whether your @sc{nntp} server includes the @code{Xref} header | |
8937 in its overview files, try @samp{telnet your.nntp.server nntp}, | |
8938 @samp{MODE READER} on @code{inn} servers, and then say @samp{LIST | |
8939 overview.fmt}. This may not work, but if it does, and the last line you | |
8940 get does not read @samp{Xref:full}, then you should shout and whine at | |
8941 your news admin until she includes the @code{Xref} header in the | |
8942 overview files. | |
8943 | |
8944 @vindex gnus-nov-is-evil | |
8945 If you want Gnus to get the @code{Xref}s right all the time, you have to | |
8946 set @code{gnus-nov-is-evil} to @code{t}, which slows things down | |
8947 considerably. | |
8948 | |
8949 C'est la vie. | |
8950 | |
8951 For an alternative approach, @pxref{Duplicate Suppression}. | |
8952 | |
8953 | |
8954 @node Duplicate Suppression | |
8955 @section Duplicate Suppression | |
8956 | |
8957 By default, Gnus tries to make sure that you don't have to read the same | |
8958 article more than once by utilizing the crossposting mechanism | |
8959 (@pxref{Crosspost Handling}). However, that simple and efficient | |
8960 approach may not work satisfactory for some users for various | |
8961 reasons. | |
8962 | |
8963 @enumerate | |
8964 @item | |
8965 The @sc{nntp} server may fail to generate the @code{Xref} header. This | |
8966 is evil and not very common. | |
8967 | |
8968 @item | |
8969 The @sc{nntp} server may fail to include the @code{Xref} header in the | |
8970 @file{.overview} data bases. This is evil and all too common, alas. | |
8971 | |
8972 @item | |
8973 You may be reading the same group (or several related groups) from | |
8974 different @sc{nntp} servers. | |
8975 | |
8976 @item | |
8977 You may be getting mail that duplicates articles posted to groups. | |
8978 @end enumerate | |
8979 | |
8980 I'm sure there are other situations where @code{Xref} handling fails as | |
8981 well, but these four are the most common situations. | |
8982 | |
8983 If, and only if, @code{Xref} handling fails for you, then you may | |
8984 consider switching on @dfn{duplicate suppression}. If you do so, Gnus | |
8985 will remember the @code{Message-ID}s of all articles you have read or | |
8986 otherwise marked as read, and then, as if by magic, mark them as read | |
8987 all subsequent times you see them---in @emph{all} groups. Using this | |
8988 mechanism is quite likely to be somewhat inefficient, but not overly | |
8989 so. It's certainly preferable to reading the same articles more than | |
8990 once. | |
8991 | |
8992 Duplicate suppression is not a very subtle instrument. It's more like a | |
8993 sledge hammer than anything else. It works in a very simple | |
8994 fashion---if you have marked an article as read, it adds this Message-ID | |
8995 to a cache. The next time it sees this Message-ID, it will mark the | |
8996 article as read with the @samp{M} mark. It doesn't care what group it | |
8997 saw the article in. | |
8998 | |
8999 @table @code | |
9000 @item gnus-suppress-duplicates | |
9001 @vindex gnus-suppress-duplicates | |
9002 If non-@code{nil}, suppress duplicates. | |
9003 | |
9004 @item gnus-save-duplicate-list | |
9005 @vindex gnus-save-duplicate-list | |
9006 If non-@code{nil}, save the list of duplicates to a file. This will | |
9007 make startup and shutdown take longer, so the default is @code{nil}. | |
9008 However, this means that only duplicate articles read in a single Gnus | |
9009 session are suppressed. | |
9010 | |
9011 @item gnus-duplicate-list-length | |
9012 @vindex gnus-duplicate-list-length | |
9013 This variable says how many @code{Message-ID}s to keep in the duplicate | |
9014 suppression list. The default is 10000. | |
9015 | |
9016 @item gnus-duplicate-file | |
9017 @vindex gnus-duplicate-file | |
9018 The name of the file to store the duplicate suppression list in. The | |
9019 default is @file{~/News/suppression}. | |
9020 @end table | |
9021 | |
9022 If you have a tendency to stop and start Gnus often, setting | |
9023 @code{gnus-save-duplicate-list} to @code{t} is probably a good idea. If | |
9024 you leave Gnus running for weeks on end, you may have it @code{nil}. On | |
9025 the other hand, saving the list makes startup and shutdown much slower, | |
9026 so that means that if you stop and start Gnus often, you should set | |
9027 @code{gnus-save-duplicate-list} to @code{nil}. Uhm. I'll leave this up | |
9028 to you to figure out, I think. | |
9029 | |
9030 | |
9031 @node The Article Buffer | |
9032 @chapter The Article Buffer | |
9033 @cindex article buffer | |
9034 | |
9035 The articles are displayed in the article buffer, of which there is only | |
9036 one. All the summary buffers share the same article buffer unless you | |
9037 tell Gnus otherwise. | |
9038 | |
9039 @menu | |
9040 * Hiding Headers:: Deciding what headers should be displayed. | |
9041 * Using MIME:: Pushing articles through @sc{mime} before reading them. | |
9042 * Customizing Articles:: Tailoring the look of the articles. | |
9043 * Article Keymap:: Keystrokes available in the article buffer. | |
9044 * Misc Article:: Other stuff. | |
9045 @end menu | |
9046 | |
9047 | |
9048 @node Hiding Headers | |
9049 @section Hiding Headers | |
9050 @cindex hiding headers | |
9051 @cindex deleting headers | |
9052 | |
9053 The top section of each article is the @dfn{head}. (The rest is the | |
9054 @dfn{body}, but you may have guessed that already.) | |
9055 | |
9056 @vindex gnus-show-all-headers | |
9057 There is a lot of useful information in the head: the name of the person | |
9058 who wrote the article, the date it was written and the subject of the | |
9059 article. That's well and nice, but there's also lots of information | |
9060 most people do not want to see---what systems the article has passed | |
9061 through before reaching you, the @code{Message-ID}, the | |
9062 @code{References}, etc. ad nauseum---and you'll probably want to get rid | |
9063 of some of those lines. If you want to keep all those lines in the | |
9064 article buffer, you can set @code{gnus-show-all-headers} to @code{t}. | |
9065 | |
9066 Gnus provides you with two variables for sifting headers: | |
9067 | |
9068 @table @code | |
9069 | |
9070 @item gnus-visible-headers | |
9071 @vindex gnus-visible-headers | |
9072 If this variable is non-@code{nil}, it should be a regular expression | |
9073 that says what headers you wish to keep in the article buffer. All | |
9074 headers that do not match this variable will be hidden. | |
9075 | |
9076 For instance, if you only want to see the name of the person who wrote | |
9077 the article and the subject, you'd say: | |
9078 | |
9079 @lisp | |
9080 (setq gnus-visible-headers "^From:\\|^Subject:") | |
9081 @end lisp | |
9082 | |
9083 This variable can also be a list of regexps to match headers to | |
9084 remain visible. | |
9085 | |
9086 @item gnus-ignored-headers | |
9087 @vindex gnus-ignored-headers | |
9088 This variable is the reverse of @code{gnus-visible-headers}. If this | |
9089 variable is set (and @code{gnus-visible-headers} is @code{nil}), it | |
9090 should be a regular expression that matches all lines that you want to | |
9091 hide. All lines that do not match this variable will remain visible. | |
9092 | |
9093 For instance, if you just want to get rid of the @code{References} line | |
9094 and the @code{Xref} line, you might say: | |
9095 | |
9096 @lisp | |
9097 (setq gnus-ignored-headers "^References:\\|^Xref:") | |
9098 @end lisp | |
9099 | |
9100 This variable can also be a list of regexps to match headers to | |
9101 be removed. | |
9102 | |
9103 Note that if @code{gnus-visible-headers} is non-@code{nil}, this | |
9104 variable will have no effect. | |
9105 | |
9106 @end table | |
9107 | |
9108 @vindex gnus-sorted-header-list | |
9109 Gnus can also sort the headers for you. (It does this by default.) You | |
9110 can control the sorting by setting the @code{gnus-sorted-header-list} | |
9111 variable. It is a list of regular expressions that says in what order | |
9112 the headers are to be displayed. | |
9113 | |
9114 For instance, if you want the name of the author of the article first, | |
9115 and then the subject, you might say something like: | |
9116 | |
9117 @lisp | |
9118 (setq gnus-sorted-header-list '("^From:" "^Subject:")) | |
9119 @end lisp | |
9120 | |
9121 Any headers that are to remain visible, but are not listed in this | |
9122 variable, will be displayed in random order after all the headers listed in this variable. | |
9123 | |
9124 @findex gnus-article-hide-boring-headers | |
9125 @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
|
9126 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
|
9127 @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
|
9128 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
|
9129 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
|
9130 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
|
9131 from sight. |
25829 | 9132 |
9133 These conditions are: | |
9134 @table @code | |
9135 @item empty | |
9136 Remove all empty headers. | |
9137 @item followup-to | |
9138 Remove the @code{Followup-To} header if it is identical to the | |
9139 @code{Newsgroups} header. | |
9140 @item reply-to | |
9141 Remove the @code{Reply-To} header if it lists the same address as the | |
9142 @code{From} header. | |
9143 @item newsgroups | |
9144 Remove the @code{Newsgroups} header if it only contains the current group | |
9145 name. | |
9146 @item date | |
9147 Remove the @code{Date} header if the article is less than three days | |
9148 old. | |
9149 @item long-to | |
9150 Remove the @code{To} header if it is very long. | |
9151 @item many-to | |
9152 Remove all @code{To} headers if there are more than one. | |
9153 @end table | |
9154 | |
9155 To include the four three elements, you could say something like; | |
9156 | |
9157 @lisp | |
9158 (setq gnus-boring-article-headers | |
9159 '(empty followup-to reply-to)) | |
9160 @end lisp | |
9161 | |
9162 This is also the default value for this variable. | |
9163 | |
9164 | |
9165 @node Using MIME | |
9166 @section Using @sc{mime} | |
9167 @cindex @sc{mime} | |
9168 | |
9169 Mime is a standard for waving your hands through the air, aimlessly, | |
9170 while people stand around yawning. | |
9171 | |
9172 @sc{mime}, however, is a standard for encoding your articles, aimlessly, | |
9173 while all newsreaders die of fear. | |
9174 | |
9175 @sc{mime} may specify what character set the article uses, the encoding | |
9176 of the characters, and it also makes it possible to embed pictures and | |
9177 other naughty stuff in innocent-looking articles. | |
9178 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9179 @vindex gnus-display-mime-function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9180 @findex gnus-display-mime |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9181 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
|
9182 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
|
9183 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
|
9184 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
|
9185 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9186 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
|
9187 @sc{mime} button: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9188 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9189 @table @kbd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9190 @findex gnus-article-press-button |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9191 @item RET (Article) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9192 @itemx BUTTON-2 (Article) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9193 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
|
9194 (@code{gnus-article-press-button}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9195 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9196 @findex gnus-mime-view-part |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9197 @item M-RET (Article) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9198 @itemx v (Article) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9199 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
|
9200 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
|
9201 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9202 @findex gnus-mime-save-part |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9203 @item o (Article) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9204 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
|
9205 (@code{gnus-mime-save-part}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9206 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9207 @findex gnus-mime-copy-part |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9208 @item c (Article) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9209 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
|
9210 (@code{gnus-mime-copy-part}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9211 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9212 @findex 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
|
9213 @item t (Article) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9214 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
|
9215 (@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
|
9216 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9217 @findex gnus-mime-pipe-part |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9218 @item | (Article) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9219 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
|
9220 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9221 @findex gnus-mime-inline-part |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9222 @item i (Article) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9223 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
|
9224 (@code{gnus-mime-inline-part}) as text/plain. If given a prefix, insert |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9225 the raw contens without decoding. If given a numerical prefix, you can |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9226 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
|
9227 @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
|
9228 Article}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9229 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9230 @findex gnus-mime-action-on-part |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9231 @item . (Article) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9232 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
|
9233 (@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
|
9234 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9235 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9236 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9237 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
|
9238 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
|
9239 manual. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9240 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9241 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
|
9242 buffer to avoid getting nasty surprises. (For instance, you enter the |
25829 | 9243 group @samp{alt.sing-a-long} and, before you know it, @sc{mime} has |
9244 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
|
9245 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
|
9246 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
|
9247 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
|
9248 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
|
9249 to look at you disdainfully, and you'll feel rather stupid.) |
25829 | 9250 |
9251 Any similarity to real events and people is purely coincidental. Ahem. | |
9252 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9253 Also see @pxref{MIME Commands}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9254 |
25829 | 9255 |
9256 @node Customizing Articles | |
9257 @section Customizing Articles | |
9258 @cindex article customization | |
9259 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9260 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
|
9261 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
|
9262 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
|
9263 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9264 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
|
9265 ``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
|
9266 @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
|
9267 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
|
9268 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9269 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
|
9270 for sensible values. |
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 @enumerate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9273 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9274 @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
|
9275 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9276 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9277 @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
|
9278 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9279 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9280 @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
|
9281 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9282 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9283 @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
|
9284 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9285 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9286 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
|
9287 than this number. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9288 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9289 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9290 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
|
9291 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
|
9292 regexps in the list. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9293 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9294 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9295 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
|
9296 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9297 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
|
9298 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
|
9299 @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
|
9300 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9301 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9302 (or last |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9303 (typep "text/x-vcard")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9304 @end lisp |
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 @end enumerate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9307 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9308 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
|
9309 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
|
9310 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
|
9311 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
|
9312 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9313 @vindex gnus-article-treat-types |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9314 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
|
9315 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
|
9316 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
|
9317 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
|
9318 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
|
9319 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
|
9320 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9321 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
|
9322 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
|
9323 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
|
9324 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
|
9325 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9326 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9327 @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
|
9328 @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
|
9329 @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
|
9330 @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
|
9331 @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
|
9332 @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
|
9333 @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
|
9334 @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
|
9335 @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
|
9336 @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
|
9337 @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
|
9338 @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
|
9339 @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
|
9340 @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
|
9341 @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
|
9342 @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
|
9343 @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
|
9344 @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
|
9345 @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
|
9346 @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
|
9347 @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
|
9348 @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
|
9349 @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
|
9350 @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
|
9351 @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
|
9352 @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
|
9353 @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
|
9354 @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
|
9355 @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
|
9356 @item gnus-treat-play-sounds |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9357 @item gnus-treat-translate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9358 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9359 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9360 @vindex gnus-part-display-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9361 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
|
9362 @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
|
9363 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
|
9364 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
|
9365 everything. |
25829 | 9366 |
9367 | |
9368 @node Article Keymap | |
9369 @section Article Keymap | |
9370 | |
9371 Most of the keystrokes in the summary buffer can also be used in the | |
9372 article buffer. They should behave as if you typed them in the summary | |
9373 buffer, which means that you don't actually have to have a summary | |
9374 buffer displayed while reading. You can do it all from the article | |
9375 buffer. | |
9376 | |
9377 A few additional keystrokes are available: | |
9378 | |
9379 @table @kbd | |
9380 | |
9381 @item SPACE | |
9382 @kindex SPACE (Article) | |
9383 @findex gnus-article-next-page | |
9384 Scroll forwards one page (@code{gnus-article-next-page}). | |
9385 | |
9386 @item DEL | |
9387 @kindex DEL (Article) | |
9388 @findex gnus-article-prev-page | |
9389 Scroll backwards one page (@code{gnus-article-prev-page}). | |
9390 | |
9391 @item C-c ^ | |
9392 @kindex C-c ^ (Article) | |
9393 @findex gnus-article-refer-article | |
9394 If point is in the neighborhood of a @code{Message-ID} and you press | |
9395 @kbd{C-c ^}, Gnus will try to get that article from the server | |
9396 (@code{gnus-article-refer-article}). | |
9397 | |
9398 @item C-c C-m | |
9399 @kindex C-c C-m (Article) | |
9400 @findex gnus-article-mail | |
9401 Send a reply to the address near point (@code{gnus-article-mail}). If | |
9402 given a prefix, include the mail. | |
9403 | |
9404 @item s | |
9405 @kindex s (Article) | |
9406 @findex gnus-article-show-summary | |
9407 Reconfigure the buffers so that the summary buffer becomes visible | |
9408 (@code{gnus-article-show-summary}). | |
9409 | |
9410 @item ? | |
9411 @kindex ? (Article) | |
9412 @findex gnus-article-describe-briefly | |
9413 Give a very brief description of the available keystrokes | |
9414 (@code{gnus-article-describe-briefly}). | |
9415 | |
9416 @item TAB | |
9417 @kindex TAB (Article) | |
9418 @findex gnus-article-next-button | |
9419 Go to the next button, if any (@code{gnus-article-next-button}). This | |
9420 only makes sense if you have buttonizing turned on. | |
9421 | |
9422 @item M-TAB | |
9423 @kindex M-TAB (Article) | |
9424 @findex gnus-article-prev-button | |
9425 Go to the previous button, if any (@code{gnus-article-prev-button}). | |
9426 | |
9427 @end table | |
9428 | |
9429 | |
9430 @node Misc Article | |
9431 @section Misc Article | |
9432 | |
9433 @table @code | |
9434 | |
9435 @item gnus-single-article-buffer | |
9436 @vindex gnus-single-article-buffer | |
9437 If non-@code{nil}, use the same article buffer for all the groups. | |
9438 (This is the default.) If @code{nil}, each group will have its own | |
9439 article buffer. | |
9440 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9441 @vindex gnus-article-decode-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9442 @item gnus-article-decode-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9443 @cindex MIME |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9444 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
|
9445 @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
|
9446 |
25829 | 9447 @vindex gnus-article-prepare-hook |
9448 @item gnus-article-prepare-hook | |
9449 This hook is called right after the article has been inserted into the | |
9450 article buffer. It is mainly intended for functions that do something | |
9451 depending on the contents; it should probably not be used for changing | |
9452 the contents of the article buffer. | |
9453 | |
9454 @item gnus-article-mode-hook | |
9455 @vindex gnus-article-mode-hook | |
9456 Hook called in article mode buffers. | |
9457 | |
9458 @item gnus-article-mode-syntax-table | |
9459 @vindex gnus-article-mode-syntax-table | |
9460 Syntax table used in article buffers. It is initialized from | |
9461 @code{text-mode-syntax-table}. | |
9462 | |
9463 @vindex gnus-article-mode-line-format | |
9464 @item gnus-article-mode-line-format | |
9465 This variable is a format string along the same lines as | |
9466 @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
|
9467 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
|
9468 extensions: |
25829 | 9469 |
9470 @table @samp | |
9471 @item w | |
9472 The @dfn{wash status} of the article. This is a short string with one | |
9473 character for each possible article wash operation that may have been | |
9474 performed. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9475 @item m |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9476 The number of @sc{mime} parts in the article. |
25829 | 9477 @end table |
9478 | |
9479 @vindex gnus-break-pages | |
9480 | |
9481 @item gnus-break-pages | |
9482 Controls whether @dfn{page breaking} is to take place. If this variable | |
9483 is non-@code{nil}, the articles will be divided into pages whenever a | |
9484 page delimiter appears in the article. If this variable is @code{nil}, | |
9485 paging will not be done. | |
9486 | |
9487 @item gnus-page-delimiter | |
9488 @vindex gnus-page-delimiter | |
9489 This is the delimiter mentioned above. By default, it is @samp{^L} | |
9490 (formfeed). | |
9491 @end table | |
9492 | |
9493 | |
9494 @node Composing Messages | |
9495 @chapter Composing Messages | |
9496 @cindex composing messages | |
9497 @cindex messages | |
9498 @cindex mail | |
9499 @cindex sending mail | |
9500 @cindex reply | |
9501 @cindex followup | |
9502 @cindex post | |
9503 | |
9504 @kindex C-c C-c (Post) | |
9505 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
|
9506 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
|
9507 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
|
9508 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
|
9509 on your setup (@pxref{Posting Server}). |
25829 | 9510 |
9511 @menu | |
9512 * Mail:: Mailing and replying. | |
9513 * Post:: Posting and following up. | |
9514 * Posting Server:: What server should you post via? | |
9515 * Mail and Post:: Mailing and posting at the same time. | |
9516 * Archived Messages:: Where Gnus stores the messages you've sent. | |
9517 * Posting Styles:: An easier way to specify who you are. | |
9518 * Drafts:: Postponing messages and rejected messages. | |
9519 * Rejected Articles:: What happens if the server doesn't like your article? | |
9520 @end menu | |
9521 | |
9522 Also see @pxref{Canceling and Superseding} for information on how to | |
9523 remove articles you shouldn't have posted. | |
9524 | |
9525 | |
9526 @node Mail | |
9527 @section Mail | |
9528 | |
9529 Variables for customizing outgoing mail: | |
9530 | |
9531 @table @code | |
9532 @item gnus-uu-digest-headers | |
9533 @vindex gnus-uu-digest-headers | |
9534 List of regexps to match headers included in digested messages. The | |
9535 headers will be included in the sequence they are matched. | |
9536 | |
9537 @item gnus-add-to-list | |
9538 @vindex gnus-add-to-list | |
9539 If non-@code{nil}, add a @code{to-list} group parameter to mail groups | |
9540 that have none when you do a @kbd{a}. | |
9541 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9542 @item message-send-mail-partially-limit |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9543 @vindex message-send-mail-partially-limit |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9544 The limitation of messages sent as message/partial. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9545 The lower bound of message size in characters, beyond which the message |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9546 should be sent in several parts. If it is nil, the size is unlimited. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9547 |
25829 | 9548 @end table |
9549 | |
9550 | |
9551 @node Post | |
9552 @section Post | |
9553 | |
9554 Variables for composing news articles: | |
9555 | |
9556 @table @code | |
9557 @item gnus-sent-message-ids-file | |
9558 @vindex gnus-sent-message-ids-file | |
9559 Gnus will keep a @code{Message-ID} history file of all the mails it has | |
9560 sent. If it discovers that it has already sent a mail, it will ask the | |
9561 user whether to re-send the mail. (This is primarily useful when | |
9562 dealing with @sc{soup} packets and the like where one is apt to send the | |
9563 same packet multiple times.) This variable says what the name of this | |
9564 history file is. It is @file{~/News/Sent-Message-IDs} by default. Set | |
9565 this variable to @code{nil} if you don't want Gnus to keep a history | |
9566 file. | |
9567 | |
9568 @item gnus-sent-message-ids-length | |
9569 @vindex gnus-sent-message-ids-length | |
9570 This variable says how many @code{Message-ID}s to keep in the history | |
9571 file. It is 1000 by default. | |
9572 | |
9573 @end table | |
9574 | |
9575 | |
9576 @node Posting Server | |
9577 @section Posting Server | |
9578 | |
9579 When you press those magical @kbd{C-c C-c} keys to ship off your latest | |
9580 (extremely intelligent, of course) article, where does it go? | |
9581 | |
9582 Thank you for asking. I hate you. | |
9583 | |
9584 @vindex gnus-post-method | |
9585 | |
9586 It can be quite complicated. Normally, Gnus will use the same native | |
9587 server. However. If your native server doesn't allow posting, just | |
9588 reading, you probably want to use some other server to post your | |
9589 (extremely intelligent and fabulously interesting) articles. You can | |
9590 then set the @code{gnus-post-method} to some other method: | |
9591 | |
9592 @lisp | |
9593 (setq gnus-post-method '(nnspool "")) | |
9594 @end lisp | |
9595 | |
9596 Now, if you've done this, and then this server rejects your article, or | |
9597 this server is down, what do you do then? To override this variable you | |
9598 can use a non-zero prefix to the @kbd{C-c C-c} command to force using | |
9599 the ``current'' server for posting. | |
9600 | |
9601 If you give a zero prefix (i.e., @kbd{C-u 0 C-c C-c}) to that command, | |
9602 Gnus will prompt you for what method to use for posting. | |
9603 | |
9604 You can also set @code{gnus-post-method} to a list of select methods. | |
9605 If that's the case, Gnus will always prompt you for what method to use | |
9606 for posting. | |
9607 | |
9608 Finally, if you want to always post using the same select method as | |
9609 you're reading from (which might be convenient if you're reading lots of | |
9610 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
|
9611 @code{current}. |
25829 | 9612 |
9613 | |
9614 @node Mail and Post | |
9615 @section Mail and Post | |
9616 | |
9617 Here's a list of variables relevant to both mailing and | |
9618 posting: | |
9619 | |
9620 @table @code | |
9621 @item gnus-mailing-list-groups | |
9622 @findex gnus-mailing-list-groups | |
9623 @cindex mailing lists | |
9624 | |
9625 If your news server offers groups that are really mailing lists | |
9626 gatewayed to the @sc{nntp} server, you can read those groups without | |
9627 problems, but you can't post/followup to them without some difficulty. | |
9628 One solution is to add a @code{to-address} to the group parameters | |
9629 (@pxref{Group Parameters}). An easier thing to do is set the | |
9630 @code{gnus-mailing-list-groups} to a regexp that matches the groups that | |
9631 really are mailing lists. Then, at least, followups to the mailing | |
9632 lists will work most of the time. Posting to these groups (@kbd{a}) is | |
9633 still a pain, though. | |
9634 | |
9635 @end table | |
9636 | |
9637 You may want to do spell-checking on messages that you send out. Or, if | |
9638 you don't want to spell-check by hand, you could add automatic | |
9639 spell-checking via the @code{ispell} package: | |
9640 | |
9641 @cindex ispell | |
9642 @findex ispell-message | |
9643 @lisp | |
9644 (add-hook 'message-send-hook 'ispell-message) | |
9645 @end lisp | |
9646 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9647 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
|
9648 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
|
9649 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9650 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9651 (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
|
9652 (lambda () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9653 (cond |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9654 ((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
|
9655 (ispell-change-dictionary "deutsch")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9656 (t |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9657 (ispell-change-dictionary "english"))))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9658 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9659 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9660 Modify to suit your needs. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9661 |
25829 | 9662 |
9663 @node Archived Messages | |
9664 @section Archived Messages | |
9665 @cindex archived messages | |
9666 @cindex sent messages | |
9667 | |
9668 Gnus provides a few different methods for storing the mail and news you | |
9669 send. The default method is to use the @dfn{archive virtual server} to | |
9670 store the messages. If you want to disable this completely, the | |
9671 @code{gnus-message-archive-group} variable should be @code{nil}, which | |
9672 is the default. | |
9673 | |
9674 @vindex gnus-message-archive-method | |
9675 @code{gnus-message-archive-method} says what virtual server Gnus is to | |
9676 use to store sent messages. The default is: | |
9677 | |
9678 @lisp | |
9679 (nnfolder "archive" | |
9680 (nnfolder-directory "~/Mail/archive") | |
9681 (nnfolder-active-file "~/Mail/archive/active") | |
9682 (nnfolder-get-new-mail nil) | |
9683 (nnfolder-inhibit-expiry t)) | |
9684 @end lisp | |
9685 | |
9686 You can, however, use any mail select method (@code{nnml}, | |
9687 @code{nnmbox}, etc.). @code{nnfolder} is a quite likeable select method | |
9688 for doing this sort of thing, though. If you don't like the default | |
9689 directory chosen, you could say something like: | |
9690 | |
9691 @lisp | |
9692 (setq gnus-message-archive-method | |
9693 '(nnfolder "archive" | |
9694 (nnfolder-inhibit-expiry t) | |
9695 (nnfolder-active-file "~/News/sent-mail/active") | |
9696 (nnfolder-directory "~/News/sent-mail/"))) | |
9697 @end lisp | |
9698 | |
9699 @vindex gnus-message-archive-group | |
9700 @cindex Gcc | |
9701 Gnus will insert @code{Gcc} headers in all outgoing messages that point | |
9702 to one or more group(s) on that server. Which group to use is | |
9703 determined by the @code{gnus-message-archive-group} variable. | |
9704 | |
9705 This variable can be used to do the following: | |
9706 | |
9707 @itemize @bullet | |
9708 @item a string | |
9709 Messages will be saved in that group. | |
33078 | 9710 |
9711 Note that you can include a select method in the group name, then the | |
9712 message will not be stored in the select method given by | |
9713 @code{gnus-message-archive-method}, but in the select method specified | |
9714 by the group name, instead. Suppose @code{gnus-message-archive-method} | |
9715 has the default value shown above. Then setting | |
9716 @code{gnus-message-archive-group} to @code{"foo"} means that outgoing | |
9717 messages are stored in @samp{nnfolder+archive:foo}, but if you use the | |
9718 value @code{"nnml:foo"}, then outgoing messages will be stored in | |
9719 @samp{nnml:foo}. | |
25829 | 9720 @item a list of strings |
9721 Messages will be saved in all those groups. | |
9722 @item an alist of regexps, functions and forms | |
9723 When a key ``matches'', the result is used. | |
9724 @item @code{nil} | |
9725 No message archiving will take place. This is the default. | |
9726 @end itemize | |
9727 | |
9728 Let's illustrate: | |
9729 | |
9730 Just saving to a single group called @samp{MisK}: | |
9731 @lisp | |
9732 (setq gnus-message-archive-group "MisK") | |
9733 @end lisp | |
9734 | |
9735 Saving to two groups, @samp{MisK} and @samp{safe}: | |
9736 @lisp | |
9737 (setq gnus-message-archive-group '("MisK" "safe")) | |
9738 @end lisp | |
9739 | |
9740 Save to different groups based on what group you are in: | |
9741 @lisp | |
9742 (setq gnus-message-archive-group | |
9743 '(("^alt" "sent-to-alt") | |
9744 ("mail" "sent-to-mail") | |
9745 (".*" "sent-to-misc"))) | |
9746 @end lisp | |
9747 | |
9748 More complex stuff: | |
9749 @lisp | |
9750 (setq gnus-message-archive-group | |
9751 '((if (message-news-p) | |
9752 "misc-news" | |
9753 "misc-mail"))) | |
9754 @end lisp | |
9755 | |
9756 How about storing all news messages in one file, but storing all mail | |
9757 messages in one file per month: | |
9758 | |
9759 @lisp | |
9760 (setq gnus-message-archive-group | |
9761 '((if (message-news-p) | |
9762 "misc-news" | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9763 (concat "mail." (format-time-string "%Y-%m"))))) |
25829 | 9764 @end lisp |
9765 | |
9766 (XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to | |
9767 use a different value for @code{gnus-message-archive-group} there.) | |
9768 | |
9769 Now, when you send a message off, it will be stored in the appropriate | |
9770 group. (If you want to disable storing for just one particular message, | |
9771 you can just remove the @code{Gcc} header that has been inserted.) The | |
9772 archive group will appear in the group buffer the next time you start | |
9773 Gnus, or the next time you press @kbd{F} in the group buffer. You can | |
9774 enter it and read the articles in it just like you'd read any other | |
9775 group. If the group gets really big and annoying, you can simply rename | |
9776 if (using @kbd{G r} in the group buffer) to something | |
9777 nice---@samp{misc-mail-september-1995}, or whatever. New messages will | |
9778 continue to be stored in the old (now empty) group. | |
9779 | |
9780 That's the default method of archiving sent messages. Gnus offers a | |
9781 different way for the people who don't like the default method. In that | |
9782 case you should set @code{gnus-message-archive-group} to @code{nil}; | |
9783 this will disable archiving. | |
9784 | |
9785 @table @code | |
9786 @item gnus-outgoing-message-group | |
9787 @vindex gnus-outgoing-message-group | |
9788 All outgoing messages will be put in this group. If you want to store | |
9789 all your outgoing mail and articles in the group @samp{nnml:archive}, | |
9790 you set this variable to that value. This variable can also be a list of | |
9791 group names. | |
9792 | |
9793 If you want to have greater control over what group to put each | |
9794 message in, you can set this variable to a function that checks the | |
9795 current newsgroup name and then returns a suitable group name (or list | |
9796 of names). | |
9797 | |
9798 This variable can be used instead of @code{gnus-message-archive-group}, | |
9799 but the latter is the preferred method. | |
9800 @end table | |
9801 | |
9802 | |
9803 @node Posting Styles | |
9804 @section Posting Styles | |
9805 @cindex posting styles | |
9806 @cindex styles | |
9807 | |
9808 All them variables, they make my head swim. | |
9809 | |
9810 So what if you want a different @code{Organization} and signature based | |
9811 on what groups you post to? And you post both from your home machine | |
9812 and your work machine, and you want different @code{From} lines, and so | |
9813 on? | |
9814 | |
9815 @vindex gnus-posting-styles | |
9816 One way to do stuff like that is to write clever hooks that change the | |
9817 variables you need to have changed. That's a bit boring, so somebody | |
9818 came up with the bright idea of letting the user specify these things in | |
9819 a handy alist. Here's an example of a @code{gnus-posting-styles} | |
9820 variable: | |
9821 | |
9822 @lisp | |
9823 ((".*" | |
9824 (signature "Peace and happiness") | |
9825 (organization "What me?")) | |
9826 ("^comp" | |
9827 (signature "Death to everybody")) | |
9828 ("comp.emacs.i-love-it" | |
9829 (organization "Emacs is it"))) | |
9830 @end lisp | |
9831 | |
9832 As you might surmise from this example, this alist consists of several | |
9833 @dfn{styles}. Each style will be applicable if the first element | |
9834 ``matches'', in some form or other. The entire alist will be iterated | |
9835 over, from the beginning towards the end, and each match will be | |
9836 applied, which means that attributes in later styles that match override | |
9837 the same attributes in earlier matching styles. So | |
9838 @samp{comp.programming.literate} will have the @samp{Death to everybody} | |
9839 signature and the @samp{What me?} @code{Organization} header. | |
9840 | |
9841 The first element in each style is called the @code{match}. If it's a | |
9842 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
|
9843 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
|
9844 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
|
9845 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
|
9846 with no arguments. If it's a variable symbol, then the variable will be |
25829 | 9847 referenced. If it's a list, then that list will be @code{eval}ed. In |
9848 any case, if this returns a non-@code{nil} value, then the style is said | |
9849 to @dfn{match}. | |
9850 | |
9851 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
|
9852 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
|
9853 attribute name can be one of @code{signature}, @code{signature-file}, |
25829 | 9854 @code{organization}, @code{address}, @code{name} or @code{body}. The |
9855 attribute name can also be a string. In that case, this will be used as | |
9856 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
|
9857 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
|
9858 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
|
9859 result is thrown away. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9860 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9861 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
|
9862 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
|
9863 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
|
9864 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
|
9865 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
|
9866 are available through the @code{message-reply-headers} variable. |
25829 | 9867 |
9868 If you wish to check whether the message you are about to compose is | |
9869 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
|
9870 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
|
9871 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9872 @findex message-mail-p |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9873 @findex message-news-p |
25829 | 9874 |
9875 So here's a new example: | |
9876 | |
9877 @lisp | |
9878 (setq gnus-posting-styles | |
9879 '((".*" | |
9880 (signature-file "~/.signature") | |
9881 (name "User Name") | |
9882 ("X-Home-Page" (getenv "WWW_HOME")) | |
9883 (organization "People's Front Against MWM")) | |
9884 ("^rec.humor" | |
9885 (signature my-funny-signature-randomizer)) | |
9886 ((equal (system-name) "gnarly") | |
9887 (signature my-quote-randomizer)) | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9888 ((message-news-p) |
25829 | 9889 (signature my-news-signature)) |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9890 (header "From\\|To" "larsi.*org" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9891 (Organization "Somewhere, Inc.")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
9892 ((posting-from-work-p) |
25829 | 9893 (signature-file "~/.work-signature") |
9894 (address "user@@bar.foo") | |
9895 (body "You are fired.\n\nSincerely, your boss.") | |
9896 (organization "Important Work, Inc")) | |
9897 ("^nn.+:" | |
9898 (signature-file "~/.mail-signature")))) | |
9899 @end lisp | |
9900 | |
9901 | |
9902 @node Drafts | |
9903 @section Drafts | |
9904 @cindex drafts | |
9905 | |
9906 If you are writing a message (mail or news) and suddenly remember that | |
9907 you have a steak in the oven (or some pesto in the food processor, you | |
9908 craaazy vegetarians), you'll probably wish there was a method to save | |
9909 the message you are writing so that you can continue editing it some | |
9910 other day, and send it when you feel its finished. | |
9911 | |
9912 Well, don't worry about it. Whenever you start composing a message of | |
9913 some sort using the Gnus mail and post commands, the buffer you get will | |
9914 automatically associate to an article in a special @dfn{draft} group. | |
9915 If you save the buffer the normal way (@kbd{C-x C-s}, for instance), the | |
9916 article will be saved there. (Auto-save files also go to the draft | |
9917 group.) | |
9918 | |
9919 @cindex nndraft | |
9920 @vindex nndraft-directory | |
9921 The draft group is a special group (which is implemented as an | |
9922 @code{nndraft} group, if you absolutely have to know) called | |
9923 @samp{nndraft:drafts}. The variable @code{nndraft-directory} says where | |
9924 @code{nndraft} is to store its files. What makes this group special is | |
9925 that you can't tick any articles in it or mark any articles as | |
9926 read---all articles in the group are permanently unread. | |
9927 | |
9928 If the group doesn't exist, it will be created and you'll be subscribed | |
9929 to it. The only way to make it disappear from the Group buffer is to | |
9930 unsubscribe it. | |
9931 | |
9932 @c @findex gnus-dissociate-buffer-from-draft | |
9933 @c @kindex C-c M-d (Mail) | |
9934 @c @kindex C-c M-d (Post) | |
9935 @c @findex gnus-associate-buffer-with-draft | |
9936 @c @kindex C-c C-d (Mail) | |
9937 @c @kindex C-c C-d (Post) | |
9938 @c If you're writing some super-secret message that you later want to | |
9939 @c encode with PGP before sending, you may wish to turn the auto-saving | |
9940 @c (and association with the draft group) off. You never know who might be | |
9941 @c interested in reading all your extremely valuable and terribly horrible | |
9942 @c and interesting secrets. The @kbd{C-c M-d} | |
9943 @c (@code{gnus-dissociate-buffer-from-draft}) command does that for you. | |
9944 @c If you change your mind and want to turn the auto-saving back on again, | |
9945 @c @kbd{C-c C-d} (@code{gnus-associate-buffer-with-draft} does that. | |
9946 @c | |
9947 @c @vindex gnus-use-draft | |
9948 @c To leave association with the draft group off by default, set | |
9949 @c @code{gnus-use-draft} to @code{nil}. It is @code{t} by default. | |
9950 | |
9951 @findex gnus-draft-edit-message | |
9952 @kindex D e (Draft) | |
9953 When you want to continue editing the article, you simply enter the | |
9954 draft group and push @kbd{D e} (@code{gnus-draft-edit-message}) to do | |
9955 that. You will be placed in a buffer where you left off. | |
9956 | |
9957 Rejected articles will also be put in this draft group (@pxref{Rejected | |
9958 Articles}). | |
9959 | |
9960 @findex gnus-draft-send-all-messages | |
9961 @findex gnus-draft-send-message | |
9962 If you have lots of rejected messages you want to post (or mail) without | |
9963 doing further editing, you can use the @kbd{D s} command | |
9964 (@code{gnus-draft-send-message}). This command understands the | |
9965 process/prefix convention (@pxref{Process/Prefix}). The @kbd{D S} | |
9966 command (@code{gnus-draft-send-all-messages}) will ship off all messages | |
9967 in the buffer. | |
9968 | |
9969 If you have some messages that you wish not to send, you can use the | |
9970 @kbd{D t} (@code{gnus-draft-toggle-sending}) command to mark the message | |
9971 as unsendable. This is a toggling command. | |
9972 | |
9973 | |
9974 @node Rejected Articles | |
9975 @section Rejected Articles | |
9976 @cindex rejected articles | |
9977 | |
9978 Sometimes a news server will reject an article. Perhaps the server | |
9979 doesn't like your face. Perhaps it just feels miserable. Perhaps | |
9980 @emph{there be demons}. Perhaps you have included too much cited text. | |
9981 Perhaps the disk is full. Perhaps the server is down. | |
9982 | |
9983 These situations are, of course, totally beyond the control of Gnus. | |
9984 (Gnus, of course, loves the way you look, always feels great, has angels | |
9985 fluttering around inside of it, doesn't care about how much cited text | |
9986 you include, never runs full and never goes down.) So Gnus saves these | |
9987 articles until some later time when the server feels better. | |
9988 | |
9989 The rejected articles will automatically be put in a special draft group | |
9990 (@pxref{Drafts}). When the server comes back up again, you'd then | |
9991 typically enter that group and send all the articles off. | |
9992 | |
9993 | |
9994 @node Select Methods | |
9995 @chapter Select Methods | |
9996 @cindex foreign groups | |
9997 @cindex select methods | |
9998 | |
9999 A @dfn{foreign group} is a group not read by the usual (or | |
10000 default) means. It could be, for instance, a group from a different | |
10001 @sc{nntp} server, it could be a virtual group, or it could be your own | |
10002 personal mail group. | |
10003 | |
10004 A foreign group (or any group, really) is specified by a @dfn{name} and | |
10005 a @dfn{select method}. To take the latter first, a select method is a | |
10006 list where the first element says what backend to use (e.g. @code{nntp}, | |
10007 @code{nnspool}, @code{nnml}) and the second element is the @dfn{server | |
10008 name}. There may be additional elements in the select method, where the | |
10009 value may have special meaning for the backend in question. | |
10010 | |
10011 One could say that a select method defines a @dfn{virtual server}---so | |
10012 we do just that (@pxref{The Server Buffer}). | |
10013 | |
10014 The @dfn{name} of the group is the name the backend will recognize the | |
10015 group as. | |
10016 | |
10017 For instance, the group @samp{soc.motss} on the @sc{nntp} server | |
10018 @samp{some.where.edu} will have the name @samp{soc.motss} and select | |
10019 method @code{(nntp "some.where.edu")}. Gnus will call this group | |
10020 @samp{nntp+some.where.edu:soc.motss}, even though the @code{nntp} | |
10021 backend just knows this group as @samp{soc.motss}. | |
10022 | |
10023 The different methods all have their peculiarities, of course. | |
10024 | |
10025 @menu | |
10026 * The Server Buffer:: Making and editing virtual servers. | |
10027 * Getting News:: Reading USENET news with Gnus. | |
10028 * 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
|
10029 * Browsing the Web:: Getting messages from a plethora of Web sources. |
25829 | 10030 * Other Sources:: Reading directories, files, SOUP packets. |
10031 * Combined Groups:: Combining groups into one group. | |
10032 * Gnus Unplugged:: Reading news and mail offline. | |
10033 @end menu | |
10034 | |
10035 | |
10036 @node The Server Buffer | |
10037 @section The Server Buffer | |
10038 | |
10039 Traditionally, a @dfn{server} is a machine or a piece of software that | |
10040 one connects to, and then requests information from. Gnus does not | |
10041 connect directly to any real servers, but does all transactions through | |
10042 one backend or other. But that's just putting one layer more between | |
10043 the actual media and Gnus, so we might just as well say that each | |
10044 backend represents a virtual server. | |
10045 | |
10046 For instance, the @code{nntp} backend may be used to connect to several | |
10047 different actual @sc{nntp} servers, or, perhaps, to many different ports | |
10048 on the same actual @sc{nntp} server. You tell Gnus which backend to | |
10049 use, and what parameters to set by specifying a @dfn{select method}. | |
10050 | |
10051 These select method specifications can sometimes become quite | |
10052 complicated---say, for instance, that you want to read from the | |
10053 @sc{nntp} server @samp{news.funet.fi} on port number 13, which | |
10054 hangs if queried for @sc{nov} headers and has a buggy select. Ahem. | |
10055 Anyways, if you had to specify that for each group that used this | |
10056 server, that would be too much work, so Gnus offers a way of naming | |
10057 select methods, which is what you do in the server buffer. | |
10058 | |
10059 To enter the server buffer, use the @kbd{^} | |
10060 (@code{gnus-group-enter-server-mode}) command in the group buffer. | |
10061 | |
10062 @menu | |
10063 * Server Buffer Format:: You can customize the look of this buffer. | |
10064 * Server Commands:: Commands to manipulate servers. | |
10065 * Example Methods:: Examples server specifications. | |
10066 * Creating a Virtual Server:: An example session. | |
10067 * Server Variables:: Which variables to set. | |
10068 * Servers and Methods:: You can use server names as select methods. | |
10069 * Unavailable Servers:: Some servers you try to contact may be down. | |
10070 @end menu | |
10071 | |
10072 @vindex gnus-server-mode-hook | |
10073 @code{gnus-server-mode-hook} is run when creating the server buffer. | |
10074 | |
10075 | |
10076 @node Server Buffer Format | |
10077 @subsection Server Buffer Format | |
10078 @cindex server buffer format | |
10079 | |
10080 @vindex gnus-server-line-format | |
10081 You can change the look of the server buffer lines by changing the | |
10082 @code{gnus-server-line-format} variable. This is a @code{format}-like | |
10083 variable, with some simple extensions: | |
10084 | |
10085 @table @samp | |
10086 | |
10087 @item h | |
10088 How the news is fetched---the backend name. | |
10089 | |
10090 @item n | |
10091 The name of this server. | |
10092 | |
10093 @item w | |
10094 Where the news is to be fetched from---the address. | |
10095 | |
10096 @item s | |
10097 The opened/closed/denied status of the server. | |
10098 @end table | |
10099 | |
10100 @vindex gnus-server-mode-line-format | |
10101 The mode line can also be customized by using the | |
10102 @code{gnus-server-mode-line-format} variable (@pxref{Mode Line | |
10103 Formatting}). The following specs are understood: | |
10104 | |
10105 @table @samp | |
10106 @item S | |
10107 Server name. | |
10108 | |
10109 @item M | |
10110 Server method. | |
10111 @end table | |
10112 | |
10113 Also @pxref{Formatting Variables}. | |
10114 | |
10115 | |
10116 @node Server Commands | |
10117 @subsection Server Commands | |
10118 @cindex server commands | |
10119 | |
10120 @table @kbd | |
10121 | |
10122 @item a | |
10123 @kindex a (Server) | |
10124 @findex gnus-server-add-server | |
10125 Add a new server (@code{gnus-server-add-server}). | |
10126 | |
10127 @item e | |
10128 @kindex e (Server) | |
10129 @findex gnus-server-edit-server | |
10130 Edit a server (@code{gnus-server-edit-server}). | |
10131 | |
10132 @item SPACE | |
10133 @kindex SPACE (Server) | |
10134 @findex gnus-server-read-server | |
10135 Browse the current server (@code{gnus-server-read-server}). | |
10136 | |
10137 @item q | |
10138 @kindex q (Server) | |
10139 @findex gnus-server-exit | |
10140 Return to the group buffer (@code{gnus-server-exit}). | |
10141 | |
10142 @item k | |
10143 @kindex k (Server) | |
10144 @findex gnus-server-kill-server | |
10145 Kill the current server (@code{gnus-server-kill-server}). | |
10146 | |
10147 @item y | |
10148 @kindex y (Server) | |
10149 @findex gnus-server-yank-server | |
10150 Yank the previously killed server (@code{gnus-server-yank-server}). | |
10151 | |
10152 @item c | |
10153 @kindex c (Server) | |
10154 @findex gnus-server-copy-server | |
10155 Copy the current server (@code{gnus-server-copy-server}). | |
10156 | |
10157 @item l | |
10158 @kindex l (Server) | |
10159 @findex gnus-server-list-servers | |
10160 List all servers (@code{gnus-server-list-servers}). | |
10161 | |
10162 @item s | |
10163 @kindex s (Server) | |
10164 @findex gnus-server-scan-server | |
10165 Request that the server scan its sources for new articles | |
10166 (@code{gnus-server-scan-server}). This is mainly sensible with mail | |
10167 servers. | |
10168 | |
10169 @item g | |
10170 @kindex g (Server) | |
10171 @findex gnus-server-regenerate-server | |
10172 Request that the server regenerate all its data structures | |
10173 (@code{gnus-server-regenerate-server}). This can be useful if you have | |
10174 a mail backend that has gotten out of synch. | |
10175 | |
10176 @end table | |
10177 | |
10178 | |
10179 @node Example Methods | |
10180 @subsection Example Methods | |
10181 | |
10182 Most select methods are pretty simple and self-explanatory: | |
10183 | |
10184 @lisp | |
10185 (nntp "news.funet.fi") | |
10186 @end lisp | |
10187 | |
10188 Reading directly from the spool is even simpler: | |
10189 | |
10190 @lisp | |
10191 (nnspool "") | |
10192 @end lisp | |
10193 | |
10194 As you can see, the first element in a select method is the name of the | |
10195 backend, and the second is the @dfn{address}, or @dfn{name}, if you | |
10196 will. | |
10197 | |
10198 After these two elements, there may be an arbitrary number of | |
26290 | 10199 @code{(@var{variable} @var{form})} pairs. |
25829 | 10200 |
10201 To go back to the first example---imagine that you want to read from | |
10202 port 15 on that machine. This is what the select method should | |
10203 look like then: | |
10204 | |
10205 @lisp | |
10206 (nntp "news.funet.fi" (nntp-port-number 15)) | |
10207 @end lisp | |
10208 | |
10209 You should read the documentation to each backend to find out what | |
10210 variables are relevant, but here's an @code{nnmh} example: | |
10211 | |
10212 @code{nnmh} is a mail backend that reads a spool-like structure. Say | |
10213 you have two structures that you wish to access: One is your private | |
10214 mail spool, and the other is a public one. Here's the possible spec for | |
10215 your private mail: | |
10216 | |
10217 @lisp | |
10218 (nnmh "private" (nnmh-directory "~/private/mail/")) | |
10219 @end lisp | |
10220 | |
10221 (This server is then called @samp{private}, but you may have guessed | |
10222 that.) | |
10223 | |
10224 Here's the method for a public spool: | |
10225 | |
10226 @lisp | |
10227 (nnmh "public" | |
10228 (nnmh-directory "/usr/information/spool/") | |
10229 (nnmh-get-new-mail nil)) | |
10230 @end lisp | |
10231 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10232 @cindex proxy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10233 @cindex firewall |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10234 |
25829 | 10235 If you are behind a firewall and only have access to the @sc{nntp} |
10236 server from the firewall machine, you can instruct Gnus to @code{rlogin} | |
10237 on the firewall machine and telnet from there to the @sc{nntp} server. | |
10238 Doing this can be rather fiddly, but your virtual server definition | |
10239 should probably look something like this: | |
10240 | |
10241 @lisp | |
10242 (nntp "firewall" | |
10243 (nntp-address "the.firewall.machine") | |
10244 (nntp-open-connection-function nntp-open-rlogin) | |
10245 (nntp-end-of-line "\n") | |
10246 (nntp-rlogin-parameters | |
10247 ("telnet" "the.real.nntp.host" "nntp"))) | |
10248 @end lisp | |
10249 | |
10250 If you want to use the wonderful @code{ssh} program to provide a | |
10251 compressed connection over the modem line, you could create a virtual | |
10252 server that would look something like this: | |
10253 | |
10254 @lisp | |
10255 (nntp "news" | |
10256 (nntp-address "copper.uio.no") | |
10257 (nntp-rlogin-program "ssh") | |
10258 (nntp-open-connection-function nntp-open-rlogin) | |
10259 (nntp-end-of-line "\n") | |
10260 (nntp-rlogin-parameters | |
10261 ("telnet" "news.uio.no" "nntp"))) | |
10262 @end lisp | |
10263 | |
10264 This means that you have to have set up @code{ssh-agent} correctly to | |
10265 provide automatic authorization, of course. And to get a compressed | |
10266 connection, you have to have the @samp{Compression} option in the | |
10267 @code{ssh} @file{config} file. | |
10268 | |
10269 | |
10270 @node Creating a Virtual Server | |
10271 @subsection Creating a Virtual Server | |
10272 | |
10273 If you're saving lots of articles in the cache by using persistent | |
10274 articles, you may want to create a virtual server to read the cache. | |
10275 | |
10276 First you need to add a new server. The @kbd{a} command does that. It | |
10277 would probably be best to use @code{nnspool} to read the cache. You | |
10278 could also use @code{nnml} or @code{nnmh}, though. | |
10279 | |
10280 Type @kbd{a nnspool RET cache RET}. | |
10281 | |
10282 You should now have a brand new @code{nnspool} virtual server called | |
10283 @samp{cache}. You now need to edit it to have the right definitions. | |
10284 Type @kbd{e} to edit the server. You'll be entered into a buffer that | |
10285 will contain the following: | |
10286 | |
10287 @lisp | |
10288 (nnspool "cache") | |
10289 @end lisp | |
10290 | |
10291 Change that to: | |
10292 | |
10293 @lisp | |
10294 (nnspool "cache" | |
10295 (nnspool-spool-directory "~/News/cache/") | |
10296 (nnspool-nov-directory "~/News/cache/") | |
10297 (nnspool-active-file "~/News/cache/active")) | |
10298 @end lisp | |
10299 | |
10300 Type @kbd{C-c C-c} to return to the server buffer. If you now press | |
10301 @kbd{RET} over this virtual server, you should be entered into a browse | |
10302 buffer, and you should be able to enter any of the groups displayed. | |
10303 | |
10304 | |
10305 @node Server Variables | |
10306 @subsection Server Variables | |
10307 | |
10308 One sticky point when defining variables (both on backends and in Emacs | |
10309 in general) is that some variables are typically initialized from other | |
10310 variables when the definition of the variables is being loaded. If you | |
10311 change the "base" variable after the variables have been loaded, you | |
10312 won't change the "derived" variables. | |
10313 | |
10314 This typically affects directory and file variables. For instance, | |
10315 @code{nnml-directory} is @file{~/Mail/} by default, and all @code{nnml} | |
10316 directory variables are initialized from that variable, so | |
10317 @code{nnml-active-file} will be @file{~/Mail/active}. If you define a | |
10318 new virtual @code{nnml} server, it will @emph{not} suffice to set just | |
10319 @code{nnml-directory}---you have to explicitly set all the file | |
10320 variables to be what you want them to be. For a complete list of | |
10321 variables for each backend, see each backend's section later in this | |
10322 manual, but here's an example @code{nnml} definition: | |
10323 | |
10324 @lisp | |
10325 (nnml "public" | |
10326 (nnml-directory "~/my-mail/") | |
10327 (nnml-active-file "~/my-mail/active") | |
10328 (nnml-newsgroups-file "~/my-mail/newsgroups")) | |
10329 @end lisp | |
10330 | |
10331 | |
10332 @node Servers and Methods | |
10333 @subsection Servers and Methods | |
10334 | |
10335 Wherever you would normally use a select method | |
10336 (e.g. @code{gnus-secondary-select-method}, in the group select method, | |
10337 when browsing a foreign server) you can use a virtual server name | |
10338 instead. This could potentially save lots of typing. And it's nice all | |
10339 over. | |
10340 | |
10341 | |
10342 @node Unavailable Servers | |
10343 @subsection Unavailable Servers | |
10344 | |
10345 If a server seems to be unreachable, Gnus will mark that server as | |
10346 @code{denied}. That means that any subsequent attempt to make contact | |
10347 with that server will just be ignored. ``It can't be opened,'' Gnus | |
10348 will tell you, without making the least effort to see whether that is | |
10349 actually the case or not. | |
10350 | |
10351 That might seem quite naughty, but it does make sense most of the time. | |
10352 Let's say you have 10 groups subscribed to on server | |
10353 @samp{nephelococcygia.com}. This server is located somewhere quite far | |
10354 away from you and the machine is quite slow, so it takes 1 minute just | |
10355 to find out that it refuses connection to you today. If Gnus were to | |
10356 attempt to do that 10 times, you'd be quite annoyed, so Gnus won't | |
10357 attempt to do that. Once it has gotten a single ``connection refused'', | |
10358 it will regard that server as ``down''. | |
10359 | |
10360 So, what happens if the machine was only feeling unwell temporarily? | |
10361 How do you test to see whether the machine has come up again? | |
10362 | |
10363 You jump to the server buffer (@pxref{The Server Buffer}) and poke it | |
10364 with the following commands: | |
10365 | |
10366 @table @kbd | |
10367 | |
10368 @item O | |
10369 @kindex O (Server) | |
10370 @findex gnus-server-open-server | |
10371 Try to establish connection to the server on the current line | |
10372 (@code{gnus-server-open-server}). | |
10373 | |
10374 @item C | |
10375 @kindex C (Server) | |
10376 @findex gnus-server-close-server | |
10377 Close the connection (if any) to the server | |
10378 (@code{gnus-server-close-server}). | |
10379 | |
10380 @item D | |
10381 @kindex D (Server) | |
10382 @findex gnus-server-deny-server | |
10383 Mark the current server as unreachable | |
10384 (@code{gnus-server-deny-server}). | |
10385 | |
10386 @item M-o | |
10387 @kindex M-o (Server) | |
10388 @findex gnus-server-open-all-servers | |
10389 Open the connections to all servers in the buffer | |
10390 (@code{gnus-server-open-all-servers}). | |
10391 | |
10392 @item M-c | |
10393 @kindex M-c (Server) | |
10394 @findex gnus-server-close-all-servers | |
10395 Close the connections to all servers in the buffer | |
10396 (@code{gnus-server-close-all-servers}). | |
10397 | |
10398 @item R | |
10399 @kindex R (Server) | |
10400 @findex gnus-server-remove-denials | |
10401 Remove all marks to whether Gnus was denied connection from any servers | |
10402 (@code{gnus-server-remove-denials}). | |
10403 | |
10404 @end table | |
10405 | |
10406 | |
10407 @node Getting News | |
10408 @section Getting News | |
10409 @cindex reading news | |
10410 @cindex news backends | |
10411 | |
10412 A newsreader is normally used for reading news. Gnus currently provides | |
10413 only two methods of getting news---it can read from an @sc{nntp} server, | |
10414 or it can read from a local spool. | |
10415 | |
10416 @menu | |
10417 * NNTP:: Reading news from an @sc{nntp} server. | |
10418 * News Spool:: Reading news from the local spool. | |
10419 @end menu | |
10420 | |
10421 | |
10422 @node NNTP | |
10423 @subsection @sc{nntp} | |
10424 @cindex nntp | |
10425 | |
10426 Subscribing to a foreign group from an @sc{nntp} server is rather easy. | |
10427 You just specify @code{nntp} as method and the address of the @sc{nntp} | |
10428 server as the, uhm, address. | |
10429 | |
10430 If the @sc{nntp} server is located at a non-standard port, setting the | |
10431 third element of the select method to this port number should allow you | |
10432 to connect to the right port. You'll have to edit the group info for | |
10433 that (@pxref{Foreign Groups}). | |
10434 | |
10435 The name of the foreign group can be the same as a native group. In | |
10436 fact, you can subscribe to the same group from as many different servers | |
10437 you feel like. There will be no name collisions. | |
10438 | |
10439 The following variables can be used to create a virtual @code{nntp} | |
10440 server: | |
10441 | |
10442 @table @code | |
10443 | |
10444 @item nntp-server-opened-hook | |
10445 @vindex nntp-server-opened-hook | |
10446 @cindex @sc{mode reader} | |
10447 @cindex authinfo | |
10448 @cindex authentification | |
10449 @cindex nntp authentification | |
10450 @findex nntp-send-authinfo | |
10451 @findex nntp-send-mode-reader | |
10452 is run after a connection has been made. It can be used to send | |
10453 commands to the @sc{nntp} server after it has been contacted. By | |
10454 default it sends the command @code{MODE READER} to the server with the | |
10455 @code{nntp-send-mode-reader} function. This function should always be | |
10456 present in this hook. | |
10457 | |
10458 @item nntp-authinfo-function | |
10459 @vindex nntp-authinfo-function | |
10460 @findex nntp-send-authinfo | |
10461 @vindex nntp-authinfo-file | |
10462 This function will be used to send @samp{AUTHINFO} to the @sc{nntp} | |
10463 server. The default function is @code{nntp-send-authinfo}, which looks | |
10464 through your @file{~/.authinfo} (or whatever you've set the | |
10465 @code{nntp-authinfo-file} variable to) for applicable entries. If none | |
10466 are found, it will prompt you for a login name and a password. The | |
10467 format of the @file{~/.authinfo} file is (almost) the same as the | |
10468 @code{ftp} @file{~/.netrc} file, which is defined in the @code{ftp} | |
10469 manual page, but here are the salient facts: | |
10470 | |
10471 @enumerate | |
10472 @item | |
10473 The file contains one or more line, each of which define one server. | |
10474 | |
10475 @item | |
10476 Each line may contain an arbitrary number of token/value pairs. The | |
10477 valid tokens include @samp{machine}, @samp{login}, @samp{password}, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10478 @samp{default}, @samp{port} and @samp{force}. (The latter is not a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10479 valid @file{.netrc}/@code{ftp} token, which is almost the only way the |
25829 | 10480 @file{.authinfo} file format deviates from the @file{.netrc} file |
10481 format.) | |
10482 | |
10483 @end enumerate | |
10484 | |
10485 Here's an example file: | |
10486 | |
10487 @example | |
10488 machine news.uio.no login larsi password geheimnis | |
10489 machine nntp.ifi.uio.no login larsi force yes | |
10490 @end example | |
10491 | |
10492 The token/value pairs may appear in any order; @samp{machine} doesn't | |
10493 have to be first, for instance. | |
10494 | |
10495 In this example, both login name and password have been supplied for the | |
10496 former server, while the latter has only the login name listed, and the | |
10497 user will be prompted for the password. The latter also has the | |
10498 @samp{force} tag, which means that the authinfo will be sent to the | |
10499 @var{nntp} server upon connection; the default (i.e., when there is not | |
10500 @samp{force} tag) is to not send authinfo to the @var{nntp} server | |
10501 until the @var{nntp} server asks for it. | |
10502 | |
10503 You can also add @samp{default} lines that will apply to all servers | |
10504 that don't have matching @samp{machine} lines. | |
10505 | |
10506 @example | |
10507 default force yes | |
10508 @end example | |
10509 | |
10510 This will force sending @samp{AUTHINFO} commands to all servers not | |
10511 previously mentioned. | |
10512 | |
10513 Remember to not leave the @file{~/.authinfo} file world-readable. | |
10514 | |
10515 @item nntp-server-action-alist | |
10516 @vindex nntp-server-action-alist | |
10517 This is a list of regexps to match on server types and actions to be | |
10518 taken when matches are made. For instance, if you want Gnus to beep | |
10519 every time you connect to innd, you could say something like: | |
10520 | |
10521 @lisp | |
10522 (setq nntp-server-action-alist | |
10523 '(("innd" (ding)))) | |
10524 @end lisp | |
10525 | |
10526 You probably don't want to do that, though. | |
10527 | |
10528 The default value is | |
10529 | |
10530 @lisp | |
10531 '(("nntpd 1\\.5\\.11t" | |
10532 (remove-hook 'nntp-server-opened-hook 'nntp-send-mode-reader))) | |
10533 @end lisp | |
10534 | |
10535 This ensures that Gnus doesn't send the @code{MODE READER} command to | |
10536 nntpd 1.5.11t, since that command chokes that server, I've been told. | |
10537 | |
10538 @item nntp-maximum-request | |
10539 @vindex nntp-maximum-request | |
10540 If the @sc{nntp} server doesn't support @sc{nov} headers, this backend | |
10541 will collect headers by sending a series of @code{head} commands. To | |
10542 speed things up, the backend sends lots of these commands without | |
10543 waiting for reply, and then reads all the replies. This is controlled | |
10544 by the @code{nntp-maximum-request} variable, and is 400 by default. If | |
10545 your network is buggy, you should set this to 1. | |
10546 | |
10547 @item nntp-connection-timeout | |
10548 @vindex nntp-connection-timeout | |
10549 If you have lots of foreign @code{nntp} groups that you connect to | |
10550 regularly, you're sure to have problems with @sc{nntp} servers not | |
10551 responding properly, or being too loaded to reply within reasonable | |
10552 time. This is can lead to awkward problems, which can be helped | |
10553 somewhat by setting @code{nntp-connection-timeout}. This is an integer | |
10554 that says how many seconds the @code{nntp} backend should wait for a | |
10555 connection before giving up. If it is @code{nil}, which is the default, | |
10556 no timeouts are done. | |
10557 | |
10558 @c @item nntp-command-timeout | |
10559 @c @vindex nntp-command-timeout | |
10560 @c @cindex PPP connections | |
10561 @c @cindex dynamic IP addresses | |
10562 @c If you're running Gnus on a machine that has a dynamically assigned | |
10563 @c address, Gnus may become confused. If the address of your machine | |
10564 @c changes after connecting to the @sc{nntp} server, Gnus will simply sit | |
10565 @c waiting forever for replies from the server. To help with this | |
10566 @c unfortunate problem, you can set this command to a number. Gnus will | |
10567 @c then, if it sits waiting for a reply from the server longer than that | |
10568 @c number of seconds, shut down the connection, start a new one, and resend | |
10569 @c the command. This should hopefully be transparent to the user. A | |
10570 @c likely number is 30 seconds. | |
10571 @c | |
10572 @c @item nntp-retry-on-break | |
10573 @c @vindex nntp-retry-on-break | |
10574 @c If this variable is non-@code{nil}, you can also @kbd{C-g} if Gnus | |
10575 @c hangs. This will have much the same effect as the command timeout | |
10576 @c described above. | |
10577 | |
10578 @item nntp-server-hook | |
10579 @vindex nntp-server-hook | |
10580 This hook is run as the last step when connecting to an @sc{nntp} | |
10581 server. | |
10582 | |
10583 @findex nntp-open-rlogin | |
10584 @findex nntp-open-telnet | |
10585 @findex nntp-open-network-stream | |
10586 @item nntp-open-connection-function | |
10587 @vindex nntp-open-connection-function | |
10588 This function is used to connect to the remote system. Four pre-made | |
10589 functions are supplied: | |
10590 | |
10591 @table @code | |
10592 @item nntp-open-network-stream | |
10593 This is the default, and simply connects to some port or other on the | |
10594 remote system. | |
10595 | |
10596 @item nntp-open-rlogin | |
10597 Does an @samp{rlogin} on the | |
10598 remote system, and then does a @samp{telnet} to the @sc{nntp} server | |
10599 available there. | |
10600 | |
10601 @code{nntp-open-rlogin}-related variables: | |
10602 | |
10603 @table @code | |
10604 | |
10605 @item nntp-rlogin-program | |
10606 @vindex nntp-rlogin-program | |
10607 Program used to log in on remote machines. The default is @samp{rsh}, | |
10608 but @samp{ssh} is a popular alternative. | |
10609 | |
10610 @item nntp-rlogin-parameters | |
10611 @vindex nntp-rlogin-parameters | |
10612 This list will be used as the parameter list given to @code{rsh}. | |
10613 | |
10614 @item nntp-rlogin-user-name | |
10615 @vindex nntp-rlogin-user-name | |
10616 User name on the remote system. | |
10617 | |
10618 @end table | |
10619 | |
10620 @item nntp-open-telnet | |
10621 Does a @samp{telnet} to the remote system and then another @samp{telnet} | |
10622 to get to the @sc{nntp} server. | |
10623 | |
10624 @code{nntp-open-telnet}-related variables: | |
10625 | |
10626 @table @code | |
10627 @item nntp-telnet-command | |
10628 @vindex nntp-telnet-command | |
10629 Command used to start @code{telnet}. | |
10630 | |
10631 @item nntp-telnet-switches | |
10632 @vindex nntp-telnet-switches | |
10633 List of strings to be used as the switches to the @code{telnet} command. | |
10634 | |
10635 @item nntp-telnet-user-name | |
10636 @vindex nntp-telnet-user-name | |
10637 User name for log in on the remote system. | |
10638 | |
10639 @item nntp-telnet-passwd | |
10640 @vindex nntp-telnet-passwd | |
10641 Password to use when logging in. | |
10642 | |
10643 @item nntp-telnet-parameters | |
10644 @vindex nntp-telnet-parameters | |
10645 A list of strings executed as a command after logging in | |
10646 via @code{telnet}. | |
10647 | |
10648 @item nntp-telnet-shell-prompt | |
10649 @vindex nntp-telnet-shell-prompt | |
10650 Regexp matching the shell prompt on the remote machine. The default is | |
10651 @samp{bash\\|\$ *\r?$\\|> *\r?}. | |
10652 | |
10653 @item nntp-open-telnet-envuser | |
10654 @vindex nntp-open-telnet-envuser | |
10655 If non-@code{nil}, the @code{telnet} session (client and server both) | |
10656 will support the @code{ENVIRON} option and not prompt for login name. | |
10657 This works for Solaris @code{telnet}, for instance. | |
10658 | |
10659 @end table | |
10660 | |
10661 @findex nntp-open-ssl-stream | |
10662 @item nntp-open-ssl-stream | |
10663 Opens a connection to a server over a @dfn{secure} channel. To use this | |
10664 you must have SSLay installed | |
33292 | 10665 (@uref{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL}, and you also need |
25829 | 10666 @file{ssl.el} (from the W3 distributeion, for instance). You then |
10667 define a server as follows: | |
10668 | |
10669 @lisp | |
10670 ;; Type `C-c C-c' after you've finished editing. | |
10671 ;; | |
10672 ;; "snews" is port 563 and is predefined in our /etc/services | |
10673 ;; | |
10674 (nntp "snews.bar.com" | |
10675 (nntp-open-connection-function nntp-open-ssl-stream) | |
10676 (nntp-port-number "snews") | |
10677 (nntp-address "snews.bar.com")) | |
10678 @end lisp | |
10679 | |
10680 @end table | |
10681 | |
10682 @item nntp-end-of-line | |
10683 @vindex nntp-end-of-line | |
10684 String to use as end-of-line marker when talking to the @sc{nntp} | |
10685 server. This is @samp{\r\n} by default, but should be @samp{\n} when | |
10686 using @code{rlogin} to talk to the server. | |
10687 | |
10688 @item nntp-rlogin-user-name | |
10689 @vindex nntp-rlogin-user-name | |
10690 User name on the remote system when using the @code{rlogin} connect | |
10691 function. | |
10692 | |
10693 @item nntp-address | |
10694 @vindex nntp-address | |
10695 The address of the remote system running the @sc{nntp} server. | |
10696 | |
10697 @item nntp-port-number | |
10698 @vindex nntp-port-number | |
10699 Port number to connect to when using the @code{nntp-open-network-stream} | |
10700 connect function. | |
10701 | |
10702 @item nntp-buggy-select | |
10703 @vindex nntp-buggy-select | |
10704 Set this to non-@code{nil} if your select routine is buggy. | |
10705 | |
10706 @item nntp-nov-is-evil | |
10707 @vindex nntp-nov-is-evil | |
10708 If the @sc{nntp} server does not support @sc{nov}, you could set this | |
10709 variable to @code{t}, but @code{nntp} usually checks automatically whether @sc{nov} | |
10710 can be used. | |
10711 | |
10712 @item nntp-xover-commands | |
10713 @vindex nntp-xover-commands | |
10714 @cindex nov | |
10715 @cindex XOVER | |
10716 List of strings used as commands to fetch @sc{nov} lines from a | |
10717 server. The default value of this variable is @code{("XOVER" | |
10718 "XOVERVIEW")}. | |
10719 | |
10720 @item nntp-nov-gap | |
10721 @vindex nntp-nov-gap | |
10722 @code{nntp} normally sends just one big request for @sc{nov} lines to | |
10723 the server. The server responds with one huge list of lines. However, | |
10724 if you have read articles 2-5000 in the group, and only want to read | |
10725 article 1 and 5001, that means that @code{nntp} will fetch 4999 @sc{nov} | |
10726 lines that you will not need. This variable says how | |
10727 big a gap between two consecutive articles is allowed to be before the | |
10728 @code{XOVER} request is split into several request. Note that if your | |
10729 network is fast, setting this variable to a really small number means | |
10730 that fetching will probably be slower. If this variable is @code{nil}, | |
10731 @code{nntp} will never split requests. The default is 5. | |
10732 | |
10733 @item nntp-prepare-server-hook | |
10734 @vindex nntp-prepare-server-hook | |
10735 A hook run before attempting to connect to an @sc{nntp} server. | |
10736 | |
10737 @item nntp-warn-about-losing-connection | |
10738 @vindex nntp-warn-about-losing-connection | |
10739 If this variable is non-@code{nil}, some noise will be made when a | |
10740 server closes connection. | |
10741 | |
10742 @item nntp-record-commands | |
10743 @vindex nntp-record-commands | |
10744 If non-@code{nil}, @code{nntp} will log all commands it sends to the | |
10745 @sc{nntp} server (along with a timestep) in the @samp{*nntp-log*} | |
10746 buffer. This is useful if you are debugging a Gnus/@sc{nntp} connection | |
10747 that doesn't seem to work. | |
10748 | |
10749 @end table | |
10750 | |
10751 | |
10752 @node News Spool | |
10753 @subsection News Spool | |
10754 @cindex nnspool | |
10755 @cindex news spool | |
10756 | |
10757 Subscribing to a foreign group from the local spool is extremely easy, | |
10758 and might be useful, for instance, to speed up reading groups that | |
10759 contain very big articles---@samp{alt.binaries.pictures.furniture}, for | |
10760 instance. | |
10761 | |
10762 Anyways, you just specify @code{nnspool} as the method and @code{""} (or | |
10763 anything else) as the address. | |
10764 | |
10765 If you have access to a local spool, you should probably use that as the | |
10766 native select method (@pxref{Finding the News}). It is normally faster | |
10767 than using an @code{nntp} select method, but might not be. It depends. | |
10768 You just have to try to find out what's best at your site. | |
10769 | |
10770 @table @code | |
10771 | |
10772 @item nnspool-inews-program | |
10773 @vindex nnspool-inews-program | |
10774 Program used to post an article. | |
10775 | |
10776 @item nnspool-inews-switches | |
10777 @vindex nnspool-inews-switches | |
10778 Parameters given to the inews program when posting an article. | |
10779 | |
10780 @item nnspool-spool-directory | |
10781 @vindex nnspool-spool-directory | |
10782 Where @code{nnspool} looks for the articles. This is normally | |
10783 @file{/usr/spool/news/}. | |
10784 | |
10785 @item nnspool-nov-directory | |
10786 @vindex nnspool-nov-directory | |
10787 Where @code{nnspool} will look for @sc{nov} files. This is normally | |
10788 @file{/usr/spool/news/over.view/}. | |
10789 | |
10790 @item nnspool-lib-dir | |
10791 @vindex nnspool-lib-dir | |
10792 Where the news lib dir is (@file{/usr/lib/news/} by default). | |
10793 | |
10794 @item nnspool-active-file | |
10795 @vindex nnspool-active-file | |
10796 The path to the active file. | |
10797 | |
10798 @item nnspool-newsgroups-file | |
10799 @vindex nnspool-newsgroups-file | |
10800 The path to the group descriptions file. | |
10801 | |
10802 @item nnspool-history-file | |
10803 @vindex nnspool-history-file | |
10804 The path to the news history file. | |
10805 | |
10806 @item nnspool-active-times-file | |
10807 @vindex nnspool-active-times-file | |
10808 The path to the active date file. | |
10809 | |
10810 @item nnspool-nov-is-evil | |
10811 @vindex nnspool-nov-is-evil | |
10812 If non-@code{nil}, @code{nnspool} won't try to use any @sc{nov} files | |
10813 that it finds. | |
10814 | |
10815 @item nnspool-sift-nov-with-sed | |
10816 @vindex nnspool-sift-nov-with-sed | |
10817 @cindex sed | |
10818 If non-@code{nil}, which is the default, use @code{sed} to get the | |
10819 relevant portion from the overview file. If nil, @code{nnspool} will | |
10820 load the entire file into a buffer and process it there. | |
10821 | |
10822 @end table | |
10823 | |
10824 | |
10825 @node Getting Mail | |
10826 @section Getting Mail | |
10827 @cindex reading mail | |
10828 @cindex mail | |
10829 | |
10830 Reading mail with a newsreader---isn't that just plain WeIrD? But of | |
10831 course. | |
10832 | |
10833 @menu | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10834 * Mail in a Newsreader:: Important introductory notes. |
25829 | 10835 * Getting Started Reading Mail:: A simple cookbook example. |
10836 * 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
|
10837 * Mail Sources:: How to tell Gnus where to get mail from. |
25829 | 10838 * Mail Backend Variables:: Variables for customizing mail handling. |
10839 * 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
|
10840 * Group Mail Splitting:: Use group customize to drive mail splitting. |
25829 | 10841 * Incorporating Old Mail:: What about the old mail you have? |
10842 * Expiring Mail:: Getting rid of unwanted mail. | |
10843 * Washing Mail:: Removing gruft from the mail you get. | |
10844 * Duplicates:: Dealing with duplicated mail. | |
10845 * Not Reading Mail:: Using mail backends for reading other files. | |
10846 * Choosing a Mail Backend:: Gnus can read a variety of mail formats. | |
10847 @end menu | |
10848 | |
10849 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10850 @node Mail in a Newsreader |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10851 @subsection Mail in a Newsreader |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10852 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10853 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
|
10854 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
|
10855 of a culture shock. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10856 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10857 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
|
10858 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
|
10859 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10860 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
|
10861 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
|
10862 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
|
10863 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
|
10864 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10865 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
|
10866 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10867 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
|
10868 deleted? How awful! |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10869 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10870 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
|
10871 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
|
10872 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
|
10873 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
|
10874 Mail}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10875 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10876 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
|
10877 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
|
10878 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
|
10879 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10880 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
|
10881 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
|
10882 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
|
10883 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
|
10884 archived somewhere else. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10885 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10886 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
|
10887 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
|
10888 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
|
10889 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
|
10890 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
|
10891 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10892 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
|
10893 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
|
10894 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
|
10895 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10896 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
|
10897 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
|
10898 differently. |
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 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
|
10901 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
|
10902 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
|
10903 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
|
10904 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
|
10905 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10906 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
|
10907 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
|
10908 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
|
10909 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
|
10910 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
|
10911 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
|
10912 You Do.) |
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 |
25829 | 10915 @node Getting Started Reading Mail |
10916 @subsection Getting Started Reading Mail | |
10917 | |
10918 It's quite easy to use Gnus to read your new mail. You just plonk the | |
10919 mail backend of your choice into @code{gnus-secondary-select-methods}, | |
10920 and things will happen automatically. | |
10921 | |
10922 For instance, if you want to use @code{nnml} (which is a "one file per | |
10923 mail" backend), you could put the following in your @file{.gnus} file: | |
10924 | |
10925 @lisp | |
10926 (setq gnus-secondary-select-methods | |
10927 '((nnml "private"))) | |
10928 @end lisp | |
10929 | |
10930 Now, the next time you start Gnus, this backend will be queried for new | |
10931 articles, and it will move all the messages in your spool file to its | |
10932 directory, which is @code{~/Mail/} by default. The new group that will | |
10933 be created (@samp{mail.misc}) will be subscribed, and you can read it | |
10934 like any other group. | |
10935 | |
10936 You will probably want to split the mail into several groups, though: | |
10937 | |
10938 @lisp | |
10939 (setq nnmail-split-methods | |
10940 '(("junk" "^From:.*Lars Ingebrigtsen") | |
10941 ("crazy" "^Subject:.*die\\|^Organization:.*flabby") | |
10942 ("other" ""))) | |
10943 @end lisp | |
10944 | |
10945 This will result in three new @code{nnml} mail groups being created: | |
10946 @samp{nnml:junk}, @samp{nnml:crazy}, and @samp{nnml:other}. All the | |
10947 mail that doesn't fit into the first two groups will be placed in the | |
10948 last group. | |
10949 | |
10950 This should be sufficient for reading mail with Gnus. You might want to | |
10951 give the other sections in this part of the manual a perusal, though. | |
10952 Especially @pxref{Choosing a Mail Backend} and @pxref{Expiring Mail}. | |
10953 | |
10954 | |
10955 @node Splitting Mail | |
10956 @subsection Splitting Mail | |
10957 @cindex splitting mail | |
10958 @cindex mail splitting | |
10959 | |
10960 @vindex nnmail-split-methods | |
10961 The @code{nnmail-split-methods} variable says how the incoming mail is | |
10962 to be split into groups. | |
10963 | |
10964 @lisp | |
10965 (setq nnmail-split-methods | |
10966 '(("mail.junk" "^From:.*Lars Ingebrigtsen") | |
10967 ("mail.crazy" "^Subject:.*die\\|^Organization:.*flabby") | |
10968 ("mail.other" ""))) | |
10969 @end lisp | |
10970 | |
10971 This variable is a list of lists, where the first element of each of | |
10972 these lists is the name of the mail group (they do not have to be called | |
10973 something beginning with @samp{mail}, by the way), and the second | |
10974 element is a regular expression used on the header of each mail to | |
10975 determine if it belongs in this mail group. The first string may | |
10976 contain @samp{\\1} forms, like the ones used by @code{replace-match} to | |
10977 insert sub-expressions from the matched text. For instance: | |
10978 | |
10979 @lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
10980 ("list.\\1" "From:.* \\(.*\\)-list@@majordomo.com") |
25829 | 10981 @end lisp |
10982 | |
10983 The second element can also be a function. In that case, it will be | |
10984 called narrowed to the headers with the first element of the rule as the | |
10985 argument. It should return a non-@code{nil} value if it thinks that the | |
10986 mail belongs in that group. | |
10987 | |
10988 The last of these groups should always be a general one, and the regular | |
10989 expression should @emph{always} be @samp{} so that it matches any mails | |
10990 that haven't been matched by any of the other regexps. (These rules are | |
10991 processed from the beginning of the alist toward the end. The first | |
10992 rule to make a match will "win", unless you have crossposting enabled. | |
10993 In that case, all matching rules will "win".) | |
10994 | |
10995 If you like to tinker with this yourself, you can set this variable to a | |
10996 function of your choice. This function will be called without any | |
10997 arguments in a buffer narrowed to the headers of an incoming mail | |
10998 message. The function should return a list of group names that it | |
10999 thinks should carry this mail message. | |
11000 | |
11001 Note that the mail backends are free to maul the poor, innocent, | |
11002 incoming headers all they want to. They all add @code{Lines} headers; | |
11003 some add @code{X-Gnus-Group} headers; most rename the Unix mbox | |
11004 @code{From<SPACE>} line to something else. | |
11005 | |
11006 @vindex nnmail-crosspost | |
11007 The mail backends all support cross-posting. If several regexps match, | |
11008 the mail will be ``cross-posted'' to all those groups. | |
11009 @code{nnmail-crosspost} says whether to use this mechanism or not. Note | |
11010 that no articles are crossposted to the general (@samp{}) group. | |
11011 | |
11012 @vindex nnmail-crosspost-link-function | |
11013 @cindex crosspost | |
11014 @cindex links | |
11015 @code{nnmh} and @code{nnml} makes crossposts by creating hard links to | |
11016 the crossposted articles. However, not all file systems support hard | |
11017 links. If that's the case for you, set | |
11018 @code{nnmail-crosspost-link-function} to @code{copy-file}. (This | |
11019 variable is @code{add-name-to-file} by default.) | |
11020 | |
11021 @kindex M-x nnmail-split-history | |
11022 @kindex nnmail-split-history | |
11023 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
|
11024 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
|
11025 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
|
11026 @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
|
11027 Group Commands}). |
25829 | 11028 |
11029 Gnus gives you all the opportunity you could possibly want for shooting | |
11030 yourself in the foot. Let's say you create a group that will contain | |
11031 all the mail you get from your boss. And then you accidentally | |
11032 unsubscribe from the group. Gnus will still put all the mail from your | |
11033 boss in the unsubscribed group, and so, when your boss mails you ``Have | |
11034 that report ready by Monday or you're fired!'', you'll never see it and, | |
11035 come Tuesday, you'll still believe that you're gainfully employed while | |
11036 you really should be out collecting empty bottles to save up for next | |
11037 month's rent money. | |
11038 | |
11039 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11040 @node Mail Sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11041 @subsection Mail Sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11042 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11043 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
|
11044 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
|
11045 instance. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11046 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11047 @menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11048 * 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
|
11049 * 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
|
11050 * 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
|
11051 @end menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11052 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11053 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11054 @node Mail Source Specifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11055 @subsubsection Mail Source Specifiers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11056 @cindex POP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11057 @cindex mail server |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11058 @cindex procmail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11059 @cindex mail spool |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11060 @cindex mail source |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11061 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11062 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
|
11063 (@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
|
11064 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11065 Here's an example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11066 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11067 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11068 (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
|
11069 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11070 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11071 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
|
11072 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
|
11073 @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
|
11074 default values. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11075 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11076 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
|
11077 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11078 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11079 @item file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11080 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
|
11081 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11082 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11083 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11084 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11085 @item :path |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11086 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
|
11087 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
|
11088 @end table |
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 An example file mail source: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11091 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11092 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11093 (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
|
11094 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11095 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11096 Or using the default path: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11097 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11098 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11099 (file) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11100 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11101 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11102 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
|
11103 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
|
11104 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
|
11105 mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11106 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11107 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
|
11108 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11109 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11110 (setq mail-sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11111 '((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
|
11112 @end lisp |
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 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
|
11115 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11116 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11117 #!/bin/sh |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11118 # 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
|
11119 # flu@@iki.fi |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11120 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11121 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
|
11122 TMP=$HOME/Mail/tmp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11123 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
|
11124 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11125 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11126 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
|
11127 |
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 @item directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11130 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
|
11131 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
|
11132 @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
|
11133 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
|
11134 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11135 Keywords: |
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 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11138 @item :path |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11139 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
|
11140 value. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11141 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11142 @item :suffix |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11143 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
|
11144 @samp{.spool}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11145 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11146 @item :predicate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11147 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
|
11148 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
|
11149 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
|
11150 predicate are considered. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11151 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11152 @item :prescript |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11153 @itemx :postscript |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11154 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
|
11155 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11156 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11157 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11158 An example directory mail source: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11159 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11160 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11161 (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
|
11162 :suffix ".prcml") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11163 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11164 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11165 @item pop |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11166 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
|
11167 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11168 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11169 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11170 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11171 @item :server |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11172 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
|
11173 @code{MAILHOST} environment variable. |
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 @item :port |
33522 | 11176 The port number of the POP server. This can be a number (e.g.@: |
11177 @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
|
11178 string, it should be a service name as listed in @file{/etc/services} on |
33522 | 11179 Unix systems. The default is @samp{"pop3"}. On some systems you might |
11180 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
|
11181 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11182 @item :user |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11183 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
|
11184 name. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11185 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11186 @item :password |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11187 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
|
11188 prompted. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11189 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11190 @item :program |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11191 The program to use to fetch mail from the POP server. This is should be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11192 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
|
11193 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11194 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11195 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
|
11196 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11197 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11198 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
|
11199 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11200 @table @samp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11201 @item t |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11202 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
|
11203 included in this string. |
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 @item s |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11206 The name of the server. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11207 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11208 @item P |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11209 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
|
11210 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11211 @item u |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11212 The user name to use. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11213 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11214 @item p |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11215 The password to use. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11216 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11217 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11218 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
|
11219 corresponding keywords. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11220 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11221 @item :prescript |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11222 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
|
11223 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
|
11224 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11225 @item :postscript |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11226 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
|
11227 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
|
11228 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11229 @item :function |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11230 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
|
11231 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
|
11232 be moved to. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11233 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11234 @item :authentication |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11235 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
|
11236 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
|
11237 @code{password}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11238 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11239 @end table |
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 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
|
11242 @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
|
11243 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11244 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
|
11245 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
|
11246 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11247 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11248 (pop) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11249 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11250 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11251 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
|
11252 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11253 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11254 (pop :server "my.pop.server" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11255 :user "user-name" :password "secret") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11256 @end lisp |
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 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
|
11259 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11260 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11261 (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
|
11262 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11263 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11264 @item maildir |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11265 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
|
11266 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
|
11267 contains exactly one mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11268 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11269 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11270 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11271 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11272 @item :path |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11273 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
|
11274 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
|
11275 @samp{~/Maildir/}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11276 @item :subdirs |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11277 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
|
11278 @samp{("new" "cur")}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11279 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11280 @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
|
11281 @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
|
11282 @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
|
11283 @c below. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11284 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11285 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
|
11286 from locking problems). |
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 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11289 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11290 Two example maildir mail sources: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11291 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11292 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11293 (maildir :path "/home/user-name/Maildir/" :subdirs ("cur" "new")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11294 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11295 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11296 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11297 (maildir :path "/user@@remotehost.org:~/Maildir/" :subdirs ("new")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11298 @end lisp |
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 @item imap |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11301 Get mail from a @sc{imap} server. If you don't want to use @sc{imap} as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11302 intended, as a network mail reading protocol (ie with nnimap), for some |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11303 reason or other, Gnus let you treat it similar to a POP server and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11304 fetches articles from a given @sc{imap} mailbox. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11305 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11306 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11307 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11308 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11309 @item :server |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11310 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
|
11311 @code{MAILHOST} environment variable. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11312 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11313 @item :port |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11314 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
|
11315 @samp{993} for SSL connections. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11316 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11317 @item :user |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11318 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
|
11319 name. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11320 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11321 @item :password |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11322 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
|
11323 prompted. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11324 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11325 @item :stream |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11326 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
|
11327 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
|
11328 @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
|
11329 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11330 @item :authentication |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11331 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
|
11332 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
|
11333 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
|
11334 @samp{login}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11335 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11336 @item :mailbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11337 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
|
11338 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
|
11339 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11340 @item :predicate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11341 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
|
11342 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
|
11343 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
|
11344 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
|
11345 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
|
11346 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
|
11347 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11348 @item :fetchflag |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11349 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
|
11350 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
|
11351 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
|
11352 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
|
11353 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11354 @item :dontexpunge |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11355 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
|
11356 after finishing the fetch. |
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 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11359 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11360 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
|
11361 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11362 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11363 (imap :server "mail.mycorp.com" :stream kerberos4 :fetchflag "\\Seen") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11364 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11365 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11366 @item webmail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11367 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
|
11368 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
|
11369 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11370 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
|
11371 is suggested. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11372 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11373 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
|
11374 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
|
11375 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11376 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
|
11377 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11378 Keywords: |
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 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11381 @item :subtype |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11382 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
|
11383 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
|
11384 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11385 @item :user |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11386 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
|
11387 name. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11388 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11389 @item :password |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11390 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
|
11391 prompted. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11392 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11393 @item :dontexpunge |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11394 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
|
11395 folder after finishing the fetch. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11396 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11397 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11398 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11399 An example webmail source: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11400 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11401 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11402 (webmail :subtype 'hotmail :user "user-name" :password "secret") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11403 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11404 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11405 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11406 @table @dfn |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11407 @item Common Keywords |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11408 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
|
11409 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11410 Keywords: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11411 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11412 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11413 @item :plugged |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11414 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
|
11415 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
|
11416 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11417 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11418 (setq mail-sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11419 '((directory :path "/home/pavel/.Spool/" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11420 :suffix "" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11421 :plugged t))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11422 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11423 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11424 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
|
11425 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
|
11426 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11427 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11428 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11429 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11430 @subsubheading Function Interface |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11431 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11432 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
|
11433 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
|
11434 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
|
11435 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
|
11436 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11437 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11438 (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
|
11439 :server "pophost" :function fetchfunc))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11440 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11441 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11442 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
|
11443 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
|
11444 @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
|
11445 @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
|
11446 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
|
11447 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11448 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
|
11449 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11450 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11451 @node Mail Source Customization |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11452 @subsubsection Mail Source Customization |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11453 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11454 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
|
11455 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
|
11456 variables. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11457 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11458 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11459 @item mail-source-crash-box |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11460 @vindex mail-source-crash-box |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11461 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
|
11462 @file{~/.emacs-mail-crash-box}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11463 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11464 @item mail-source-delete-incoming |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11465 @vindex mail-source-delete-incoming |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11466 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
|
11467 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11468 @item mail-source-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11469 @vindex mail-source-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11470 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
|
11471 @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
|
11472 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
|
11473 @code{nil}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11474 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11475 @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
|
11476 @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
|
11477 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
|
11478 @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
|
11479 @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
|
11480 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
|
11481 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11482 @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
|
11483 @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
|
11484 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
|
11485 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11486 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11487 |
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 @node Fetching Mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11490 @subsubsection Fetching Mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11491 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11492 @vindex mail-sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11493 @vindex nnmail-spool-file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11494 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
|
11495 @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
|
11496 (@pxref{Mail Source Specifiers}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11497 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11498 If this variable (and the obsolescent @code{nnmail-spool-file}) is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11499 @code{nil}, the mail backends will never attempt to fetch mail by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11500 themselves. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11501 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11502 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
|
11503 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
|
11504 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11505 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11506 (setq mail-sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11507 '((file) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11508 (pop :server "pop3.mail.server" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11509 :password "secret"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11510 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11511 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11512 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
|
11513 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11514 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11515 (setq mail-sources |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11516 '((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
|
11517 (pop :server "pop3.mail.server" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11518 :user "user-name" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11519 :port "pop3" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11520 :password "secret"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11521 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11522 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11523 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11524 When you use a mail backend, Gnus will slurp all your mail from your |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11525 inbox and plonk it down in your home directory. Gnus doesn't move any |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11526 mail if you're not using a mail backend---you have to do a lot of magic |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11527 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
|
11528 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
|
11529 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
|
11530 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11531 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11532 |
25829 | 11533 @node Mail Backend Variables |
11534 @subsection Mail Backend Variables | |
11535 | |
11536 These variables are (for the most part) pertinent to all the various | |
11537 mail backends. | |
11538 | |
11539 @table @code | |
11540 @vindex nnmail-read-incoming-hook | |
11541 @item nnmail-read-incoming-hook | |
11542 The mail backends all call this hook after reading new mail. You can | |
11543 use this hook to notify any mail watch programs, if you want to. | |
11544 | |
11545 @vindex nnmail-split-hook | |
11546 @item nnmail-split-hook | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11547 @findex article-decode-encoded-words |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11548 @findex RFC 1522 decoding |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11549 @findex RFC 2047 decoding |
25829 | 11550 Hook run in the buffer where the mail headers of each message is kept |
11551 just before the splitting based on these headers is done. The hook is | |
11552 free to modify the buffer contents in any way it sees fit---the buffer | |
11553 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
|
11554 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
|
11555 @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
|
11556 to this hook. |
25829 | 11557 |
11558 @vindex nnmail-pre-get-new-mail-hook | |
11559 @vindex nnmail-post-get-new-mail-hook | |
11560 @item nnmail-pre-get-new-mail-hook | |
11561 @itemx nnmail-post-get-new-mail-hook | |
11562 These are two useful hooks executed when treating new incoming | |
11563 mail---@code{nnmail-pre-get-new-mail-hook} (is called just before | |
11564 starting to handle the new mail) and | |
11565 @code{nnmail-post-get-new-mail-hook} (is called when the mail handling | |
11566 is done). Here's and example of using these two hooks to change the | |
11567 default file modes the new mail files get: | |
11568 | |
11569 @lisp | |
11570 (add-hook 'gnus-pre-get-new-mail-hook | |
11571 (lambda () (set-default-file-modes 511))) | |
11572 | |
11573 (add-hook 'gnus-post-get-new-mail-hook | |
11574 (lambda () (set-default-file-modes 551))) | |
11575 @end lisp | |
11576 | |
11577 @item nnmail-use-long-file-names | |
11578 @vindex nnmail-use-long-file-names | |
11579 If non-@code{nil}, the mail backends will use long file and directory | |
11580 names. Groups like @samp{mail.misc} will end up in directories | |
11581 (assuming use of @code{nnml} backend) or files (assuming use of | |
11582 @code{nnfolder} backend) like @file{mail.misc}. If it is @code{nil}, | |
11583 the same group will end up in @file{mail/misc}. | |
11584 | |
11585 @item nnmail-delete-file-function | |
11586 @vindex nnmail-delete-file-function | |
11587 @findex delete-file | |
11588 Function called to delete files. It is @code{delete-file} by default. | |
11589 | |
11590 @item nnmail-cache-accepted-message-ids | |
11591 @vindex nnmail-cache-accepted-message-ids | |
11592 If non-@code{nil}, put the @code{Message-ID}s of articles imported into | |
11593 the backend (via @code{Gcc}, for instance) into the mail duplication | |
11594 discovery cache. The default is @code{nil}. | |
11595 | |
11596 @end table | |
11597 | |
11598 | |
11599 @node Fancy Mail Splitting | |
11600 @subsection Fancy Mail Splitting | |
11601 @cindex mail splitting | |
11602 @cindex fancy mail splitting | |
11603 | |
11604 @vindex nnmail-split-fancy | |
11605 @findex nnmail-split-fancy | |
11606 If the rather simple, standard method for specifying how to split mail | |
11607 doesn't allow you to do what you want, you can set | |
11608 @code{nnmail-split-methods} to @code{nnmail-split-fancy}. Then you can | |
11609 play with the @code{nnmail-split-fancy} variable. | |
11610 | |
11611 Let's look at an example value of this variable first: | |
11612 | |
11613 @lisp | |
11614 ;; Messages from the mailer daemon are not crossposted to any of | |
11615 ;; the ordinary groups. Warnings are put in a separate group | |
11616 ;; from real errors. | |
11617 (| ("from" mail (| ("subject" "warn.*" "mail.warning") | |
11618 "mail.misc")) | |
11619 ;; Non-error messages are crossposted to all relevant | |
11620 ;; groups, but we don't crosspost between the group for the | |
11621 ;; (ding) list and the group for other (ding) related mail. | |
11622 (& (| (any "ding@@ifi\\.uio\\.no" "ding.list") | |
11623 ("subject" "ding" "ding.misc")) | |
11624 ;; Other mailing lists... | |
11625 (any "procmail@@informatik\\.rwth-aachen\\.de" "procmail.list") | |
11626 (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
|
11627 ;; 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
|
11628 ;; 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
|
11629 ;; 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
|
11630 ;; message was really cross-posted. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11631 (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
|
11632 (any "mypackage@@somewhere\" - "bugs-mypackage" "mypkg.list") |
25829 | 11633 ;; People... |
11634 (any "larsi@@ifi\\.uio\\.no" "people.Lars_Magne_Ingebrigtsen")) | |
11635 ;; Unmatched mail goes to the catch all group. | |
11636 "misc.misc") | |
11637 @end lisp | |
11638 | |
11639 This variable has the format of a @dfn{split}. A split is a (possibly) | |
11640 recursive structure where each split may contain other splits. Here are | |
11641 the five possible split syntaxes: | |
11642 | |
11643 @enumerate | |
11644 | |
11645 @item | |
11646 @samp{group}: If the split is a string, that will be taken as a group | |
11647 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
|
11648 examples. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11649 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11650 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11651 @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
|
11652 @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
|
11653 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
|
11654 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
|
11655 @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
|
11656 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
|
11657 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
|
11658 @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
|
11659 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11660 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11661 @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
|
11662 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
|
11663 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
|
11664 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
|
11665 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11666 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11667 @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
|
11668 element is @code{&}, then process all @var{split}s in the list. |
25829 | 11669 |
11670 @item | |
11671 @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
|
11672 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
|
11673 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11674 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11675 @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
|
11676 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
|
11677 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
|
11678 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
|
11679 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11680 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
|
11681 body of the messages: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11682 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11683 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11684 (defun split-on-body () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11685 (save-excursion |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11686 (set-buffer " *nnmail incoming*") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11687 (goto-char (point-min)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11688 (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
|
11689 "string.group"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11690 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11691 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11692 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11693 @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
|
11694 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
|
11695 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
|
11696 return a split. |
25829 | 11697 |
11698 @item | |
11699 @code{nil}: If the split is @code{nil}, it is ignored. | |
11700 | |
11701 @end enumerate | |
11702 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11703 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
|
11704 @var{value} must match a complete word according to the fundamental mode |
25829 | 11705 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
|
11706 field names or words. In other words, all @var{value}'s are wrapped in |
25829 | 11707 @samp{\<} and @samp{\>} pairs. |
11708 | |
11709 @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
|
11710 @var{field} and @var{value} can also be lisp symbols, in that case they |
25829 | 11711 are expanded as specified by the variable |
11712 @code{nnmail-split-abbrev-alist}. This is an alist of cons cells, where | |
11713 the @code{car} of a cell contains the key, and the @code{cdr} contains the associated | |
11714 value. | |
11715 | |
11716 @vindex nnmail-split-fancy-syntax-table | |
11717 @code{nnmail-split-fancy-syntax-table} is the syntax table in effect | |
11718 when all this splitting is performed. | |
11719 | |
11720 If you want to have Gnus create groups dynamically based on some | |
11721 information in the headers (i.e., do @code{replace-match}-like | |
11722 substitutions in the group names), you can say things like: | |
11723 | |
11724 @example | |
11725 (any "debian-\\b\\(\\w+\\)@@lists.debian.org" "mail.debian.\\1") | |
11726 @end example | |
11727 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11728 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
|
11729 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
|
11730 |
25829 | 11731 If the string contains the element @samp{\&}, then the previously |
11732 matched string will be substituted. Similarly, the elements @samp{\\1} | |
11733 up to @samp{\\9} will be substituted with the text matched by the | |
11734 groupings 1 through 9. | |
11735 | |
33130
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11736 @findex nnmail-split-fancy-with-parent |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11737 @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
|
11738 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
|
11739 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
|
11740 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
|
11741 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
|
11742 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
|
11743 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
|
11744 it once per thread. |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11745 |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11746 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
|
11747 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
|
11748 @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
|
11749 @lisp |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11750 (setq nnmail-split-fancy |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11751 '(| (: nnmail-split-fancy-with-parent) |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11752 ;; other splits go here |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11753 )) |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11754 @end lisp |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11755 |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11756 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
|
11757 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
|
11758 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
|
11759 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
|
11760 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
|
11761 @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
|
11762 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
|
11763 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
|
11764 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
|
11765 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
|
11766 somewhat higher number than the default so that the message ids are |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11767 still in the cache. (A value of 5000 appears to create a file some |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11768 300 kBytes in size.) |
698d567f9976
Explain nnmail-split-fancy-with-parent.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
33109
diff
changeset
|
11769 |
25829 | 11770 |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11771 @node Group Mail Splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11772 @subsection Group Mail Splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11773 @cindex mail splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11774 @cindex group mail splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11775 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11776 @findex gnus-group-split |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11777 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
|
11778 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
|
11779 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
|
11780 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
|
11781 @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
|
11782 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
|
11783 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
|
11784 @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
|
11785 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11786 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
|
11787 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
|
11788 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
|
11789 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
|
11790 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11791 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
|
11792 @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
|
11793 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
|
11794 @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
|
11795 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
|
11796 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
|
11797 @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
|
11798 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11799 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
|
11800 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
|
11801 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
|
11802 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
|
11803 @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
|
11804 @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
|
11805 @code{gnus-group-split}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11806 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11807 @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
|
11808 @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
|
11809 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
|
11810 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
|
11811 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
|
11812 some group has @var{split-spec} set to @code{catch-all}, in which case |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11813 that group is used as the catch-all group. Note that, in this case, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11814 there's no cross-posting, as a @code{|} fancy split encloses the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11815 @code{&} split and the catch-all group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11816 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11817 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
|
11818 been defined: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11819 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11820 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11821 nnml:mail.bar: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11822 ((to-address . "bar@@femail.com") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11823 (split-regexp . ".*@@femail\\.com")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11824 nnml:mail.foo: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11825 ((to-list . "foo@@nowhere.gov") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11826 (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
|
11827 (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
|
11828 (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
|
11829 nnml:mail.others: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11830 ((split-spec . catch-all)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11831 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11832 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11833 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
|
11834 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
|
11835 @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
|
11836 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11837 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11838 (| (& (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
|
11839 (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
|
11840 - "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
|
11841 "mail.others") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11842 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11843 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11844 @findex gnus-group-split-fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11845 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
|
11846 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
|
11847 splits like this: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11848 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11849 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11850 (: 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
|
11851 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11852 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11853 @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
|
11854 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
|
11855 @var{no-crosspost} can be used to disable cross-posting; in this case, a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11856 single @code{|} split will be output. @var{catch-all} may be the name |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11857 of a group to be used as the default catch-all group. If |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11858 @var{catch-all} is @code{nil}, or if @var{split-regexp} matches the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11859 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
|
11860 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
|
11861 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
|
11862 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11863 @findex gnus-group-split-setup |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11864 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
|
11865 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
|
11866 But don't despair! The function @code{gnus-group-split-setup} can be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11867 used to select @code{gnus-group-split} in a much more efficient way. It |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11868 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
|
11869 @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
|
11870 @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
|
11871 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
|
11872 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11873 @findex gnus-group-split-update |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11874 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
|
11875 @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
|
11876 @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
|
11877 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
|
11878 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
|
11879 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11880 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11881 (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
|
11882 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11883 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11884 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
|
11885 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
|
11886 have to worry about updating @code{nnmail-split-fancy} again. If you |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11887 don't omit @var{catch-all} (it's optional), |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11888 @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
|
11889 value. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11890 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
11891 @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
|
11892 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
|
11893 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
|
11894 @code{gnus-group-split-updated-hook} just before finishing. |
25829 | 11895 |
11896 @node Incorporating Old Mail | |
11897 @subsection Incorporating Old Mail | |
11898 | |
11899 Most people have lots of old mail stored in various file formats. If | |
11900 you have set up Gnus to read mail using one of the spiffy Gnus mail | |
11901 backends, you'll probably wish to have that old mail incorporated into | |
11902 your mail groups. | |
11903 | |
11904 Doing so can be quite easy. | |
11905 | |
11906 To take an example: You're reading mail using @code{nnml} | |
11907 (@pxref{Mail Spool}), and have set @code{nnmail-split-methods} to a | |
11908 satisfactory value (@pxref{Splitting Mail}). You have an old Unix mbox | |
11909 file filled with important, but old, mail. You want to move it into | |
11910 your @code{nnml} groups. | |
11911 | |
11912 Here's how: | |
11913 | |
11914 @enumerate | |
11915 @item | |
11916 Go to the group buffer. | |
11917 | |
11918 @item | |
11919 Type `G f' and give the path to the mbox file when prompted to create an | |
11920 @code{nndoc} group from the mbox file (@pxref{Foreign Groups}). | |
11921 | |
11922 @item | |
11923 Type `SPACE' to enter the newly created group. | |
11924 | |
11925 @item | |
11926 Type `M P b' to process-mark all articles in this group's buffer | |
11927 (@pxref{Setting Process Marks}). | |
11928 | |
11929 @item | |
11930 Type `B r' to respool all the process-marked articles, and answer | |
11931 @samp{nnml} when prompted (@pxref{Mail Group Commands}). | |
11932 @end enumerate | |
11933 | |
11934 All the mail messages in the mbox file will now also be spread out over | |
11935 all your @code{nnml} groups. Try entering them and check whether things | |
11936 have gone without a glitch. If things look ok, you may consider | |
11937 deleting the mbox file, but I wouldn't do that unless I was absolutely | |
11938 sure that all the mail has ended up where it should be. | |
11939 | |
11940 Respooling is also a handy thing to do if you're switching from one mail | |
11941 backend to another. Just respool all the mail in the old mail groups | |
11942 using the new mail backend. | |
11943 | |
11944 | |
11945 @node Expiring Mail | |
11946 @subsection Expiring Mail | |
11947 @cindex article expiry | |
11948 | |
11949 Traditional mail readers have a tendency to remove mail articles when | |
11950 you mark them as read, in some way. Gnus takes a fundamentally | |
11951 different approach to mail reading. | |
11952 | |
11953 Gnus basically considers mail just to be news that has been received in | |
11954 a rather peculiar manner. It does not think that it has the power to | |
11955 actually change the mail, or delete any mail messages. If you enter a | |
11956 mail group, and mark articles as ``read'', or kill them in some other | |
11957 fashion, the mail articles will still exist on the system. I repeat: | |
11958 Gnus will not delete your old, read mail. Unless you ask it to, of | |
11959 course. | |
11960 | |
11961 To make Gnus get rid of your unwanted mail, you have to mark the | |
11962 articles as @dfn{expirable}. This does not mean that the articles will | |
11963 disappear right away, however. In general, a mail article will be | |
11964 deleted from your system if, 1) it is marked as expirable, AND 2) it is | |
11965 more than one week old. If you do not mark an article as expirable, it | |
11966 will remain on your system until hell freezes over. This bears | |
11967 repeating one more time, with some spurious capitalizations: IF you do | |
11968 NOT mark articles as EXPIRABLE, Gnus will NEVER delete those ARTICLES. | |
11969 | |
11970 @vindex gnus-auto-expirable-newsgroups | |
11971 You do not have to mark articles as expirable by hand. Groups that | |
11972 match the regular expression @code{gnus-auto-expirable-newsgroups} will | |
11973 have all articles that you read marked as expirable automatically. All | |
11974 articles marked as expirable have an @samp{E} in the first | |
11975 column in the summary buffer. | |
11976 | |
11977 By default, if you have auto expiry switched on, Gnus will mark all the | |
11978 articles you read as expirable, no matter if they were read or unread | |
11979 before. To avoid having articles marked as read marked as expirable | |
11980 automatically, you can put something like the following in your | |
11981 @file{.gnus} file: | |
11982 | |
11983 @vindex gnus-mark-article-hook | |
11984 @lisp | |
11985 (remove-hook 'gnus-mark-article-hook | |
11986 'gnus-summary-mark-read-and-unread-as-read) | |
11987 (add-hook 'gnus-mark-article-hook 'gnus-summary-mark-unread-as-read) | |
11988 @end lisp | |
11989 | |
11990 Note that making a group auto-expirable doesn't mean that all read | |
11991 articles are expired---only the articles marked as expirable | |
11992 will be expired. Also note that using the @kbd{d} command won't make | |
11993 groups expirable---only semi-automatic marking of articles as read will | |
11994 mark the articles as expirable in auto-expirable groups. | |
11995 | |
11996 Let's say you subscribe to a couple of mailing lists, and you want the | |
11997 articles you have read to disappear after a while: | |
11998 | |
11999 @lisp | |
12000 (setq gnus-auto-expirable-newsgroups | |
12001 "mail.nonsense-list\\|mail.nice-list") | |
12002 @end lisp | |
12003 | |
12004 Another way to have auto-expiry happen is to have the element | |
12005 @code{auto-expire} in the group parameters of the group. | |
12006 | |
12007 If you use adaptive scoring (@pxref{Adaptive Scoring}) and | |
12008 auto-expiring, you'll have problems. Auto-expiring and adaptive scoring | |
12009 don't really mix very well. | |
12010 | |
12011 @vindex nnmail-expiry-wait | |
12012 The @code{nnmail-expiry-wait} variable supplies the default time an | |
12013 expirable article has to live. Gnus starts counting days from when the | |
12014 message @emph{arrived}, not from when it was sent. The default is seven | |
12015 days. | |
12016 | |
12017 Gnus also supplies a function that lets you fine-tune how long articles | |
12018 are to live, based on what group they are in. Let's say you want to | |
12019 have one month expiry period in the @samp{mail.private} group, a one day | |
12020 expiry period in the @samp{mail.junk} group, and a six day expiry period | |
12021 everywhere else: | |
12022 | |
12023 @vindex nnmail-expiry-wait-function | |
12024 @lisp | |
12025 (setq nnmail-expiry-wait-function | |
12026 (lambda (group) | |
12027 (cond ((string= group "mail.private") | |
12028 31) | |
12029 ((string= group "mail.junk") | |
12030 1) | |
12031 ((string= group "important") | |
12032 'never) | |
12033 (t | |
12034 6)))) | |
12035 @end lisp | |
12036 | |
12037 The group names this function is fed are ``unadorned'' group | |
12038 names---no @samp{nnml:} prefixes and the like. | |
12039 | |
12040 The @code{nnmail-expiry-wait} variable and | |
12041 @code{nnmail-expiry-wait-function} function can either be a number (not | |
12042 necessarily an integer) or one of the symbols @code{immediate} or | |
12043 @code{never}. | |
12044 | |
12045 You can also use the @code{expiry-wait} group parameter to selectively | |
12046 change the expiry period (@pxref{Group Parameters}). | |
12047 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12048 @vindex nnmail-expiry-target |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12049 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
|
12050 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
|
12051 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
|
12052 (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
|
12053 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
|
12054 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
|
12055 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
|
12056 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
|
12057 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
|
12058 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
|
12059 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
|
12060 @code{delete}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12061 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12062 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
|
12063 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12064 (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
|
12065 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12066 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12067 |
25829 | 12068 @vindex nnmail-keep-last-article |
12069 If @code{nnmail-keep-last-article} is non-@code{nil}, Gnus will never | |
12070 expire the final article in a mail newsgroup. This is to make life | |
12071 easier for procmail users. | |
12072 | |
12073 @vindex gnus-total-expirable-newsgroups | |
12074 By the way: That line up there, about Gnus never expiring non-expirable | |
12075 articles, is a lie. If you put @code{total-expire} in the group | |
12076 parameters, articles will not be marked as expirable, but all read | |
12077 articles will be put through the expiry process. Use with extreme | |
12078 caution. Even more dangerous is the | |
12079 @code{gnus-total-expirable-newsgroups} variable. All groups that match | |
12080 this regexp will have all read articles put through the expiry process, | |
12081 which means that @emph{all} old mail articles in the groups in question | |
12082 will be deleted after a while. Use with extreme caution, and don't come | |
12083 crying to me when you discover that the regexp you used matched the | |
12084 wrong group and all your important mail has disappeared. Be a | |
12085 @emph{man}! Or a @emph{woman}! Whatever you feel more comfortable | |
12086 with! So there! | |
12087 | |
12088 Most people make most of their mail groups total-expirable, though. | |
12089 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12090 @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
|
12091 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
|
12092 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
|
12093 auto-expire turned on. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12094 |
25829 | 12095 |
12096 @node Washing Mail | |
12097 @subsection Washing Mail | |
12098 @cindex mail washing | |
12099 @cindex list server brain damage | |
12100 @cindex incoming mail treatment | |
12101 | |
12102 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
|
12103 really stupid things with mail. ``Hey, RFC 822 doesn't explicitly |
25829 | 12104 prohibit us from adding the string @code{wE aRe ElItE!!!!!1!!} to the |
12105 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
|
12106 Yes, but RFC 822 wasn't designed to be read by morons. Things that were |
25829 | 12107 considered to be self-evident were not discussed. So. Here we are. |
12108 | |
12109 Case in point: The German version of Microsoft Exchange adds @samp{AW: | |
12110 } to the subjects of replies instead of @samp{Re: }. I could pretend to | |
12111 be shocked and dismayed by this, but I haven't got the energy. It is to | |
12112 laugh. | |
12113 | |
12114 Gnus provides a plethora of functions for washing articles while | |
12115 displaying them, but it might be nicer to do the filtering before | |
12116 storing the mail to disc. For that purpose, we have three hooks and | |
12117 various functions that can be put in these hooks. | |
12118 | |
12119 @table @code | |
12120 @item nnmail-prepare-incoming-hook | |
12121 @vindex nnmail-prepare-incoming-hook | |
12122 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
|
12123 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
|
12124 the new, incoming mail. Functions to be used include: |
25829 | 12125 |
12126 @table @code | |
12127 @item nnheader-ms-strip-cr | |
12128 @findex nnheader-ms-strip-cr | |
12129 Remove trailing carriage returns from each line. This is default on | |
12130 Emacs running on MS machines. | |
12131 | |
12132 @end table | |
12133 | |
12134 @item nnmail-prepare-incoming-header-hook | |
12135 @vindex nnmail-prepare-incoming-header-hook | |
12136 This hook is called narrowed to each header. It can be used when | |
12137 cleaning up the headers. Functions that can be used include: | |
12138 | |
12139 @table @code | |
12140 @item nnmail-remove-leading-whitespace | |
12141 @findex nnmail-remove-leading-whitespace | |
12142 Clear leading white space that ``helpful'' listservs have added to the | |
12143 headers to make them look nice. Aaah. | |
12144 | |
12145 @item nnmail-remove-list-identifiers | |
12146 @findex nnmail-remove-list-identifiers | |
12147 Some list servers add an identifier---for example, @samp{(idm)}---to the | |
12148 beginning of all @code{Subject} headers. I'm sure that's nice for | |
12149 people who use stone age mail readers. This function will remove | |
12150 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
|
12151 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
|
12152 @code{\\(..\\)}. |
25829 | 12153 |
12154 For instance, if you want to remove the @samp{(idm)} and the | |
12155 @samp{nagnagnag} identifiers: | |
12156 | |
12157 @lisp | |
12158 (setq nnmail-list-identifiers | |
12159 '("(idm)" "nagnagnag")) | |
12160 @end lisp | |
12161 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12162 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
|
12163 @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
|
12164 |
25829 | 12165 @item nnmail-remove-tabs |
12166 @findex nnmail-remove-tabs | |
12167 Translate all @samp{TAB} characters into @samp{SPACE} characters. | |
12168 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12169 @item nnmail-fix-eudora-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12170 @findex nnmail-fix-eudora-headers |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12171 @cindex Eudora |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12172 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
|
12173 @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
|
12174 @code{References} headers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12175 |
25829 | 12176 @end table |
12177 | |
12178 @item nnmail-prepare-incoming-message-hook | |
12179 @vindex nnmail-prepare-incoming-message-hook | |
12180 This hook is called narrowed to each message. Functions to be used | |
12181 include: | |
12182 | |
12183 @table @code | |
12184 @item article-de-quoted-unreadable | |
12185 @findex article-de-quoted-unreadable | |
12186 Decode Quoted Readable encoding. | |
12187 | |
12188 @end table | |
12189 @end table | |
12190 | |
12191 | |
12192 @node Duplicates | |
12193 @subsection Duplicates | |
12194 | |
12195 @vindex nnmail-treat-duplicates | |
12196 @vindex nnmail-message-id-cache-length | |
12197 @vindex nnmail-message-id-cache-file | |
12198 @cindex duplicate mails | |
12199 If you are a member of a couple of mailing lists, you will sometimes | |
12200 receive two copies of the same mail. This can be quite annoying, so | |
12201 @code{nnmail} checks for and treats any duplicates it might find. To do | |
12202 this, it keeps a cache of old @code{Message-ID}s--- | |
12203 @code{nnmail-message-id-cache-file}, which is @file{~/.nnmail-cache} by | |
12204 default. The approximate maximum number of @code{Message-ID}s stored | |
12205 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
|
12206 variable, which is 1000 by default. (So 1000 @code{Message-ID}s will be |
25829 | 12207 stored.) If all this sounds scary to you, you can set |
12208 @code{nnmail-treat-duplicates} to @code{warn} (which is what it is by | |
12209 default), and @code{nnmail} won't delete duplicate mails. Instead it | |
12210 will insert a warning into the head of the mail saying that it thinks | |
12211 that this is a duplicate of a different message. | |
12212 | |
12213 This variable can also be a function. If that's the case, the function | |
12214 will be called from a buffer narrowed to the message in question with | |
12215 the @code{Message-ID} as a parameter. The function must return either | |
12216 @code{nil}, @code{warn}, or @code{delete}. | |
12217 | |
12218 You can turn this feature off completely by setting the variable to | |
12219 @code{nil}. | |
12220 | |
12221 If you want all the duplicate mails to be put into a special | |
12222 @dfn{duplicates} group, you could do that using the normal mail split | |
12223 methods: | |
12224 | |
12225 @lisp | |
12226 (setq nnmail-split-fancy | |
12227 '(| ;; Messages duplicates go to a separate group. | |
12228 ("gnus-warning" "duplication of message" "duplicate") | |
12229 ;; Message from daemons, postmaster, and the like to another. | |
12230 (any mail "mail.misc") | |
12231 ;; Other rules. | |
12232 [ ... ] )) | |
12233 @end lisp | |
12234 | |
12235 Or something like: | |
12236 @lisp | |
12237 (setq nnmail-split-methods | |
12238 '(("duplicates" "^Gnus-Warning:") | |
12239 ;; Other rules. | |
12240 [...])) | |
12241 @end lisp | |
12242 | |
12243 Here's a neat feature: If you know that the recipient reads her mail | |
12244 with Gnus, and that she has @code{nnmail-treat-duplicates} set to | |
12245 @code{delete}, you can send her as many insults as you like, just by | |
12246 using a @code{Message-ID} of a mail that you know that she's already | |
12247 received. Think of all the fun! She'll never see any of it! Whee! | |
12248 | |
12249 | |
12250 @node Not Reading Mail | |
12251 @subsection Not Reading Mail | |
12252 | |
12253 If you start using any of the mail backends, they have the annoying | |
12254 habit of assuming that you want to read mail with them. This might not | |
12255 be unreasonable, but it might not be what you want. | |
12256 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12257 If you set @code{mail-sources} and @code{nnmail-spool-file} to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12258 @code{nil}, none of the backends will ever attempt to read incoming |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12259 mail, which should help. |
25829 | 12260 |
12261 @vindex nnbabyl-get-new-mail | |
12262 @vindex nnmbox-get-new-mail | |
12263 @vindex nnml-get-new-mail | |
12264 @vindex nnmh-get-new-mail | |
12265 @vindex nnfolder-get-new-mail | |
12266 This might be too much, if, for instance, you are reading mail quite | |
12267 happily with @code{nnml} and just want to peek at some old @sc{rmail} | |
12268 file you have stashed away with @code{nnbabyl}. All backends have | |
12269 variables called backend-@code{get-new-mail}. If you want to disable | |
12270 the @code{nnbabyl} mail reading, you edit the virtual server for the | |
12271 group to have a setting where @code{nnbabyl-get-new-mail} to @code{nil}. | |
12272 | |
12273 All the mail backends will call @code{nn}*@code{-prepare-save-mail-hook} | |
12274 narrowed to the article to be saved before saving it when reading | |
12275 incoming mail. | |
12276 | |
12277 | |
12278 @node Choosing a Mail Backend | |
12279 @subsection Choosing a Mail Backend | |
12280 | |
12281 Gnus will read the mail spool when you activate a mail group. The mail | |
12282 file is first copied to your home directory. What happens after that | |
12283 depends on what format you want to store your mail in. | |
12284 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12285 There are five different mail backends in the standard Gnus, and more |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12286 backends are available separately. The mail backend most people use |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12287 (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
|
12288 (@pxref{Mail Spool}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12289 |
25829 | 12290 @menu |
12291 * Unix Mail Box:: Using the (quite) standard Un*x mbox. | |
12292 * Rmail Babyl:: Emacs programs use the rmail babyl format. | |
12293 * Mail Spool:: Store your mail in a private spool? | |
12294 * MH Spool:: An mhspool-like backend. | |
12295 * Mail Folders:: Having one file for each group. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12296 * Comparing Mail Backends:: An in-depth looks at pros and cons. |
25829 | 12297 @end menu |
12298 | |
12299 | |
12300 @node Unix Mail Box | |
12301 @subsubsection Unix Mail Box | |
12302 @cindex nnmbox | |
12303 @cindex unix mail box | |
12304 | |
12305 @vindex nnmbox-active-file | |
12306 @vindex nnmbox-mbox-file | |
12307 The @dfn{nnmbox} backend will use the standard Un*x mbox file to store | |
12308 mail. @code{nnmbox} will add extra headers to each mail article to say | |
12309 which group it belongs in. | |
12310 | |
12311 Virtual server settings: | |
12312 | |
12313 @table @code | |
12314 @item nnmbox-mbox-file | |
12315 @vindex nnmbox-mbox-file | |
12316 The name of the mail box in the user's home directory. | |
12317 | |
12318 @item nnmbox-active-file | |
12319 @vindex nnmbox-active-file | |
12320 The name of the active file for the mail box. | |
12321 | |
12322 @item nnmbox-get-new-mail | |
12323 @vindex nnmbox-get-new-mail | |
12324 If non-@code{nil}, @code{nnmbox} will read incoming mail and split it | |
12325 into groups. | |
12326 @end table | |
12327 | |
12328 | |
12329 @node Rmail Babyl | |
12330 @subsubsection Rmail Babyl | |
12331 @cindex nnbabyl | |
12332 @cindex rmail mbox | |
12333 | |
12334 @vindex nnbabyl-active-file | |
12335 @vindex nnbabyl-mbox-file | |
12336 The @dfn{nnbabyl} backend 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
|
12337 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
|
12338 mail article to say which group it belongs in. |
25829 | 12339 |
12340 Virtual server settings: | |
12341 | |
12342 @table @code | |
12343 @item nnbabyl-mbox-file | |
12344 @vindex nnbabyl-mbox-file | |
12345 The name of the rmail mbox file. | |
12346 | |
12347 @item nnbabyl-active-file | |
12348 @vindex nnbabyl-active-file | |
12349 The name of the active file for the rmail box. | |
12350 | |
12351 @item nnbabyl-get-new-mail | |
12352 @vindex nnbabyl-get-new-mail | |
12353 If non-@code{nil}, @code{nnbabyl} will read incoming mail. | |
12354 @end table | |
12355 | |
12356 | |
12357 @node Mail Spool | |
12358 @subsubsection Mail Spool | |
12359 @cindex nnml | |
12360 @cindex mail @sc{nov} spool | |
12361 | |
12362 The @dfn{nnml} spool mail format isn't compatible with any other known | |
12363 format. It should be used with some caution. | |
12364 | |
12365 @vindex nnml-directory | |
12366 If you use this backend, Gnus will split all incoming mail into files, | |
12367 one file for each mail, and put the articles into the corresponding | |
12368 directories under the directory specified by the @code{nnml-directory} | |
12369 variable. The default value is @file{~/Mail/}. | |
12370 | |
12371 You do not have to create any directories beforehand; Gnus will take | |
12372 care of all that. | |
12373 | |
12374 If you have a strict limit as to how many files you are allowed to store | |
12375 in your account, you should not use this backend. As each mail gets its | |
12376 own file, you might very well occupy thousands of inodes within a few | |
12377 weeks. If this is no problem for you, and it isn't a problem for you | |
12378 having your friendly systems administrator walking around, madly, | |
12379 shouting ``Who is eating all my inodes?! Who? Who!?!'', then you should | |
12380 know that this is probably the fastest format to use. You do not have | |
12381 to trudge through a big mbox file just to read your new mail. | |
12382 | |
12383 @code{nnml} is probably the slowest backend when it comes to article | |
12384 splitting. It has to create lots of files, and it also generates | |
12385 @sc{nov} databases for the incoming mails. This makes it the fastest | |
12386 backend when it comes to reading mail. | |
12387 | |
12388 Virtual server settings: | |
12389 | |
12390 @table @code | |
12391 @item nnml-directory | |
12392 @vindex nnml-directory | |
12393 All @code{nnml} directories will be placed under this directory. | |
12394 | |
12395 @item nnml-active-file | |
12396 @vindex nnml-active-file | |
12397 The active file for the @code{nnml} server. | |
12398 | |
12399 @item nnml-newsgroups-file | |
12400 @vindex nnml-newsgroups-file | |
12401 The @code{nnml} group descriptions file. @xref{Newsgroups File | |
12402 Format}. | |
12403 | |
12404 @item nnml-get-new-mail | |
12405 @vindex nnml-get-new-mail | |
12406 If non-@code{nil}, @code{nnml} will read incoming mail. | |
12407 | |
12408 @item nnml-nov-is-evil | |
12409 @vindex nnml-nov-is-evil | |
12410 If non-@code{nil}, this backend will ignore any @sc{nov} files. | |
12411 | |
12412 @item nnml-nov-file-name | |
12413 @vindex nnml-nov-file-name | |
12414 The name of the @sc{nov} files. The default is @file{.overview}. | |
12415 | |
12416 @item nnml-prepare-save-mail-hook | |
12417 @vindex nnml-prepare-save-mail-hook | |
12418 Hook run narrowed to an article before saving. | |
12419 | |
12420 @end table | |
12421 | |
12422 @findex nnml-generate-nov-databases | |
12423 If your @code{nnml} groups and @sc{nov} files get totally out of whack, | |
12424 you can do a complete update by typing @kbd{M-x | |
12425 nnml-generate-nov-databases}. This command will trawl through the | |
12426 entire @code{nnml} hierarchy, looking at each and every article, so it | |
12427 might take a while to complete. A better interface to this | |
12428 functionality can be found in the server buffer (@pxref{Server | |
12429 Commands}). | |
12430 | |
12431 | |
12432 @node MH Spool | |
12433 @subsubsection MH Spool | |
12434 @cindex nnmh | |
12435 @cindex mh-e mail spool | |
12436 | |
12437 @code{nnmh} is just like @code{nnml}, except that is doesn't generate | |
12438 @sc{nov} databases and it doesn't keep an active file. This makes | |
12439 @code{nnmh} a @emph{much} slower backend than @code{nnml}, but it also | |
12440 makes it easier to write procmail scripts for. | |
12441 | |
12442 Virtual server settings: | |
12443 | |
12444 @table @code | |
12445 @item nnmh-directory | |
12446 @vindex nnmh-directory | |
12447 All @code{nnmh} directories will be located under this directory. | |
12448 | |
12449 @item nnmh-get-new-mail | |
12450 @vindex nnmh-get-new-mail | |
12451 If non-@code{nil}, @code{nnmh} will read incoming mail. | |
12452 | |
12453 @item nnmh-be-safe | |
12454 @vindex nnmh-be-safe | |
12455 If non-@code{nil}, @code{nnmh} will go to ridiculous lengths to make | |
12456 sure that the articles in the folder are actually what Gnus thinks they | |
12457 are. It will check date stamps and stat everything in sight, so | |
12458 setting this to @code{t} will mean a serious slow-down. If you never | |
12459 use anything but Gnus to read the @code{nnmh} articles, you do not have | |
12460 to set this variable to @code{t}. | |
12461 @end table | |
12462 | |
12463 | |
12464 @node Mail Folders | |
12465 @subsubsection Mail Folders | |
12466 @cindex nnfolder | |
12467 @cindex mbox folders | |
12468 @cindex mail folders | |
12469 | |
12470 @code{nnfolder} is a backend for storing each mail group in a separate | |
12471 file. Each file is in the standard Un*x mbox format. @code{nnfolder} | |
12472 will add extra headers to keep track of article numbers and arrival | |
12473 dates. | |
12474 | |
12475 Virtual server settings: | |
12476 | |
12477 @table @code | |
12478 @item nnfolder-directory | |
12479 @vindex nnfolder-directory | |
12480 All the @code{nnfolder} mail boxes will be stored under this directory. | |
12481 | |
12482 @item nnfolder-active-file | |
12483 @vindex nnfolder-active-file | |
12484 The name of the active file. | |
12485 | |
12486 @item nnfolder-newsgroups-file | |
12487 @vindex nnfolder-newsgroups-file | |
12488 The name of the group descriptions file. @xref{Newsgroups File Format}. | |
12489 | |
12490 @item nnfolder-get-new-mail | |
12491 @vindex nnfolder-get-new-mail | |
12492 If non-@code{nil}, @code{nnfolder} will read incoming mail. | |
12493 | |
12494 @item nnfolder-save-buffer-hook | |
12495 @vindex nnfolder-save-buffer-hook | |
12496 @cindex backup files | |
12497 Hook run before saving the folders. Note that Emacs does the normal | |
12498 backup renaming of files even with the @code{nnfolder} buffers. If you | |
12499 wish to switch this off, you could say something like the following in | |
12500 your @file{.emacs} file: | |
12501 | |
12502 @lisp | |
12503 (defun turn-off-backup () | |
12504 (set (make-local-variable 'backup-inhibited) t)) | |
12505 | |
12506 (add-hook 'nnfolder-save-buffer-hook 'turn-off-backup) | |
12507 @end lisp | |
12508 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12509 @item nnfolder-delete-mail-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12510 @vindex nnfolder-delete-mail-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12511 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
|
12512 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
|
12513 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
|
12514 |
25829 | 12515 @end table |
12516 | |
12517 | |
12518 @findex nnfolder-generate-active-file | |
12519 @kindex M-x nnfolder-generate-active-file | |
12520 If you have lots of @code{nnfolder}-like files you'd like to read with | |
12521 @code{nnfolder}, you can use the @kbd{M-x nnfolder-generate-active-file} | |
12522 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
|
12523 @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
|
12524 though. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12525 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12526 @node Comparing Mail Backends |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12527 @subsubsection Comparing Mail Backends |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12528 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12529 First, just for terminology, the @dfn{backend} is the common word for a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12530 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
|
12531 is acquired. The sense is that one's mail has to come from somewhere, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12532 and so selection of a suitable backend is required in order to get that |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12533 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
|
12534 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12535 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
|
12536 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
|
12537 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
|
12538 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
|
12539 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
|
12540 area directly. One can still select between either the @code{nntp} or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12541 @code{nnspool} backends, to select between these methods, if one happens |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12542 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
|
12543 via NFS). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12544 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12545 The goal in selecting a mail backend is to pick one which |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12546 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
|
12547 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
|
12548 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
|
12549 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12550 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12551 @item nnmbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12552 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12553 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
|
12554 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
|
12555 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
|
12556 @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
|
12557 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
|
12558 @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
|
12559 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
|
12560 mess a great deal with the original mailbox format, so if one chooses |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12561 this backend, Gnus' primary activity in getting mail from the real spool |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12562 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
|
12563 (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
|
12564 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
|
12565 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
|
12566 what's where. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12567 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12568 @item nnbabyl |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12569 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12570 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
|
12571 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
|
12572 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
|
12573 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
|
12574 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
|
12575 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
|
12576 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
|
12577 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
|
12578 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
|
12579 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
|
12580 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
|
12581 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
|
12582 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
|
12583 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
|
12584 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12585 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
|
12586 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
|
12587 look at your mail. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12588 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12589 @item nnml |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12590 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12591 @code{nnml} is the backend which smells the most as though you were |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12592 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
|
12593 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
|
12594 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
|
12595 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
|
12596 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
|
12597 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
|
12598 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
|
12599 @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
|
12600 @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
|
12601 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
|
12602 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
|
12603 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
|
12604 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
|
12605 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12606 @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
|
12607 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
|
12608 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
|
12609 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
|
12610 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
|
12611 wins big. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12612 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12613 It is also problematic using this backend if you are living in a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12614 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
|
12615 tiny files. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12616 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12617 @item nnmh |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12618 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12619 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
|
12620 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
|
12621 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
|
12622 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
|
12623 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
|
12624 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
|
12625 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
|
12626 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12627 @item nnfolder |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12628 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12629 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
|
12630 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
|
12631 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
|
12632 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
|
12633 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
|
12634 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
|
12635 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
|
12636 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
|
12637 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
|
12638 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12639 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
|
12640 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
|
12641 only a moderate amount of mail, @code{nnfolder} is probably the most |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12642 friendly mail backend all over. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12643 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12644 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12645 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12646 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12647 @node Browsing the Web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12648 @section Browsing the Web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12649 @cindex web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12650 @cindex browsing the web |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12651 @cindex www |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12652 @cindex http |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12653 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12654 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
|
12655 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
|
12656 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
|
12657 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
|
12658 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
|
12659 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
|
12660 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
|
12661 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12662 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
|
12663 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
|
12664 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
|
12665 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
|
12666 you mad in the end. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12667 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12668 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
|
12669 to do it instead? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12670 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12671 Gnus has been getting a bit of a collection of backends for providing |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12672 interfaces to these sources. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12673 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12674 @menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12675 * 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
|
12676 * Slashdot:: Reading the Slashdot comments. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12677 * 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
|
12678 * 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
|
12679 * 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
|
12680 @end menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12681 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12682 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
|
12683 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12684 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
|
12685 work for a very long time. Gleaning information from the @sc{html} data |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12686 is guesswork at best, and when the layout is altered, the Gnus backend |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12687 will fail. If you have reasonably new versions of these backends, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12688 though, you should be ok. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12689 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12690 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
|
12691 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
|
12692 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
|
12693 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
|
12694 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
|
12695 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12696 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12697 @node Web Searches |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12698 @subsection Web Searches |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12699 @cindex nnweb |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12700 @cindex DejaNews |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12701 @cindex Alta Vista |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12702 @cindex InReference |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12703 @cindex Usenet searches |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12704 @cindex searching the Usenet |
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 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
|
12707 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
|
12708 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
|
12709 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
|
12710 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
|
12711 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12712 The @code{nnweb} backend allows an easy interface to the mighty search |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12713 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
|
12714 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
|
12715 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
|
12716 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
|
12717 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12718 @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
|
12719 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
|
12720 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
|
12721 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
|
12722 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
|
12723 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
|
12724 @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
|
12725 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
|
12726 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
|
12727 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
|
12728 group as read. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12729 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12730 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
|
12731 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
|
12732 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
|
12733 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
|
12734 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
|
12735 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
|
12736 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12737 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
|
12738 to use @code{nnweb}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12739 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12740 Virtual server variables: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12741 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12742 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12743 @item nnweb-type |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12744 @vindex nnweb-type |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12745 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
|
12746 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
|
12747 @code{reference}. |
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 @item nnweb-search |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12750 @vindex nnweb-search |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12751 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
|
12752 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12753 @item nnweb-max-hits |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12754 @vindex nnweb-max-hits |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12755 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
|
12756 100. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12757 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12758 @item nnweb-type-definition |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12759 @vindex nnweb-type-definition |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12760 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
|
12761 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
|
12762 present: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12763 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12764 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12765 @item article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12766 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
|
12767 understands. |
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 @item map |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12770 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
|
12771 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12772 @item search |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12773 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
|
12774 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12775 @item address |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12776 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
|
12777 to. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12778 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12779 @item id |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12780 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
|
12781 @end table |
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 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12784 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12785 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12786 @node Slashdot |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12787 @subsection Slashdot |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12788 @cindex Slashdot |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12789 @cindex nnslashdot |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12790 |
33292 | 12791 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
|
12792 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
|
12793 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
|
12794 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12795 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
|
12796 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
|
12797 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12798 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12799 (setq gnus-secondary-select-methods |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12800 '((nnslashdot ""))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12801 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12802 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12803 This will make Gnus query the @code{nnslashdot} backend for new comments |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12804 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
|
12805 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
|
12806 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
|
12807 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
|
12808 Methods}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12809 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12810 If you want to remove an old @code{nnslashdot} group, the @kbd{G DEL} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12811 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
|
12812 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12813 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
|
12814 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
|
12815 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
|
12816 @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
|
12817 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
|
12818 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
|
12819 @sc{html} forms. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12820 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12821 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
|
12822 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12823 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12824 @item nnslashdot-threaded |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12825 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
|
12826 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
|
12827 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
|
12828 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
|
12829 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
|
12830 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
|
12831 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12832 @item nnslashdot-login-name |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12833 @vindex nnslashdot-login-name |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12834 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
|
12835 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12836 @item nnslashdot-password |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12837 @vindex nnslashdot-password |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12838 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
|
12839 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12840 @item nnslashdot-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12841 @vindex nnslashdot-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12842 Where @code{nnslashdot} will store its files. The default value is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12843 @samp{~/News/slashdot/}. |
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 nnslashdot-active-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12846 @vindex nnslashdot-active-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12847 The @sc{url} format string that will be used to fetch the information on |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12848 news articles and comments. The default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12849 @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
|
12850 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12851 @item nnslashdot-comments-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12852 @vindex nnslashdot-comments-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12853 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
|
12854 default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12855 @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
|
12856 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12857 @item nnslashdot-article-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12858 @vindex nnslashdot-article-url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12859 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
|
12860 default is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12861 @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
|
12862 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12863 @item nnslashdot-threshold |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12864 @vindex nnslashdot-threshold |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12865 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
|
12866 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12867 @item nnslashdot-group-number |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12868 @vindex nnslashdot-group-number |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12869 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
|
12870 updated. The default is 0. |
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 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12873 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12874 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12875 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12876 @node Ultimate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12877 @subsection Ultimate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12878 @cindex nnultimate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12879 @cindex Ultimate Bulletin Board |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12880 |
33292 | 12881 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
|
12882 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
|
12883 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
|
12884 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
|
12885 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12886 The easiest way to get started with @code{nnultimate} is to say |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12887 something like the following in the group buffer: @kbd{B nnultimate RET |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12888 http://www.tcj.com/messboard/ubbcgi/ RET}. (Substitute the @sc{url} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12889 (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
|
12890 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
|
12891 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
|
12892 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
|
12893 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12894 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
|
12895 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12896 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12897 @item nnultimate-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12898 @vindex nnultimate-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12899 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
|
12900 @samp{~/News/ultimate/}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12901 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12902 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12903 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12904 @node Web Archive |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12905 @subsection Web Archive |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12906 @cindex nnwarchive |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12907 @cindex Web Archive |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12908 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12909 Some mailing lists only have archives on Web servers, such as |
33292 | 12910 @uref{http://www.egroups.com/} and |
12911 @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
|
12912 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
|
12913 groups updated. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12914 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12915 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
|
12916 something like the following in the group buffer: @kbd{M-x |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12917 gnus-group-make-warchive-group RET an_egroup RET egroups RET |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12918 www.egroups.com RET your@@email.address RET}. (Substitute the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12919 @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
|
12920 @sc{your@@email.address} with your email address.), or to browse the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12921 backend by @kbd{B nnwarchive RET mail-archive RET}. |
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 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
|
12924 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12925 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12926 @item nnwarchive-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12927 @vindex nnwarchive-directory |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12928 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
|
12929 @samp{~/News/warchive/}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12930 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12931 @item nnwarchive-login |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12932 @vindex nnwarchive-login |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12933 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
|
12934 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12935 @item nnwarchive-passwd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12936 @vindex nnwarchive-passwd |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12937 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
|
12938 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12939 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12940 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12941 @node Customizing w3 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12942 @subsection Customizing w3 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12943 @cindex w3 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12944 @cindex html |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12945 @cindex url |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12946 @cindex Netscape |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12947 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12948 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
|
12949 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
|
12950 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
|
12951 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12952 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
|
12953 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
|
12954 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
|
12955 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12956 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12957 (eval-after-load "w3" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12958 '(progn |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12959 (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
|
12960 (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
|
12961 (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
|
12962 (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
|
12963 (browse-url url) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12964 (w3-fetch-orig url target))))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12965 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12966 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
12967 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
|
12968 @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
|
12969 follow the link. |
25829 | 12970 |
12971 | |
12972 @node Other Sources | |
12973 @section Other Sources | |
12974 | |
12975 Gnus can do more than just read news or mail. The methods described | |
12976 below allow Gnus to view directories and files as if they were | |
12977 newsgroups. | |
12978 | |
12979 @menu | |
12980 * Directory Groups:: You can read a directory as if it was a newsgroup. | |
12981 * Anything Groups:: Dired? Who needs dired? | |
12982 * Document Groups:: Single files can be the basis of a group. | |
26290 | 12983 * SOUP:: Reading @sc{soup} packets ``offline''. |
25829 | 12984 * 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
|
12985 * IMAP:: Using Gnus as a @sc{imap} client. |
25829 | 12986 @end menu |
12987 | |
12988 | |
12989 @node Directory Groups | |
12990 @subsection Directory Groups | |
12991 @cindex nndir | |
12992 @cindex directory groups | |
12993 | |
12994 If you have a directory that has lots of articles in separate files in | |
12995 it, you might treat it as a newsgroup. The files have to have numerical | |
12996 names, of course. | |
12997 | |
12998 This might be an opportune moment to mention @code{ange-ftp} (and its | |
12999 successor @code{efs}), that most wonderful of all wonderful Emacs | |
13000 packages. When I wrote @code{nndir}, I didn't think much about it---a | |
13001 backend to read directories. Big deal. | |
13002 | |
13003 @code{ange-ftp} changes that picture dramatically. For instance, if you | |
13004 enter the @code{ange-ftp} file name | |
13005 @file{/ftp.hpc.uh.edu:/pub/emacs/ding-list/} as the directory name, | |
13006 @code{ange-ftp} or @code{efs} will actually allow you to read this | |
13007 directory over at @samp{sina} as a newsgroup. Distributed news ahoy! | |
13008 | |
13009 @code{nndir} will use @sc{nov} files if they are present. | |
13010 | |
13011 @code{nndir} is a ``read-only'' backend---you can't delete or expire | |
13012 articles with this method. You can use @code{nnmh} or @code{nnml} for | |
13013 whatever you use @code{nndir} for, so you could switch to any of those | |
13014 methods if you feel the need to have a non-read-only @code{nndir}. | |
13015 | |
13016 | |
13017 @node Anything Groups | |
13018 @subsection Anything Groups | |
13019 @cindex nneething | |
13020 | |
13021 From the @code{nndir} backend (which reads a single spool-like | |
13022 directory), it's just a hop and a skip to @code{nneething}, which | |
13023 pretends that any arbitrary directory is a newsgroup. Strange, but | |
13024 true. | |
13025 | |
13026 When @code{nneething} is presented with a directory, it will scan this | |
13027 directory and assign article numbers to each file. When you enter such | |
13028 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
|
13029 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
|
13030 @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
|
13031 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
|
13032 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
|
13033 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
|
13034 @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
|
13035 file ownership, name and date and do whatever it can with these |
25829 | 13036 elements. |
13037 | |
13038 All this should happen automatically for you, and you will be presented | |
13039 with something that looks very much like a newsgroup. Totally like a | |
13040 newsgroup, to be precise. If you select an article, it will be displayed | |
13041 in the article buffer, just as usual. | |
13042 | |
13043 If you select a line that represents a directory, Gnus will pop you into | |
13044 a new summary buffer for this @code{nneething} group. And so on. You can | |
13045 traverse the entire disk this way, if you feel like, but remember that | |
13046 Gnus is not dired, really, and does not intend to be, either. | |
13047 | |
13048 There are two overall modes to this action---ephemeral or solid. When | |
13049 doing the ephemeral thing (i.e., @kbd{G D} from the group buffer), Gnus | |
13050 will not store information on what files you have read, and what files | |
13051 are new, and so on. If you create a solid @code{nneething} group the | |
13052 normal way with @kbd{G m}, Gnus will store a mapping table between | |
13053 article numbers and file names, and you can treat this group like any | |
13054 other groups. When you activate a solid @code{nneething} group, you will | |
13055 be told how many unread articles it contains, etc., etc. | |
13056 | |
13057 Some variables: | |
13058 | |
13059 @table @code | |
13060 @item nneething-map-file-directory | |
13061 @vindex nneething-map-file-directory | |
13062 All the mapping files for solid @code{nneething} groups will be stored | |
13063 in this directory, which defaults to @file{~/.nneething/}. | |
13064 | |
13065 @item nneething-exclude-files | |
13066 @vindex nneething-exclude-files | |
13067 All files that match this regexp will be ignored. Nice to use to exclude | |
13068 auto-save files and the like, which is what it does by default. | |
13069 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13070 @item nneething-include-files |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13071 @vindex nneething-include-files |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13072 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
|
13073 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
|
13074 |
25829 | 13075 @item nneething-map-file |
13076 @vindex nneething-map-file | |
13077 Name of the map files. | |
13078 @end table | |
13079 | |
13080 | |
13081 @node Document Groups | |
13082 @subsection Document Groups | |
13083 @cindex nndoc | |
13084 @cindex documentation group | |
13085 @cindex help group | |
13086 | |
13087 @code{nndoc} is a cute little thing that will let you read a single file | |
13088 as a newsgroup. Several files types are supported: | |
13089 | |
13090 @table @code | |
13091 @cindex babyl | |
13092 @cindex rmail mbox | |
13093 | |
13094 @item babyl | |
13095 The babyl (rmail) mail box. | |
13096 @cindex mbox | |
13097 @cindex Unix mbox | |
13098 | |
13099 @item mbox | |
13100 The standard Unix mbox file. | |
13101 | |
13102 @cindex MMDF mail box | |
13103 @item mmdf | |
13104 The MMDF mail box format. | |
13105 | |
13106 @item news | |
13107 Several news articles appended into a file. | |
13108 | |
13109 @item rnews | |
13110 @cindex rnews batch files | |
13111 The rnews batch transport format. | |
13112 @cindex forwarded messages | |
13113 | |
13114 @item forward | |
13115 Forwarded articles. | |
13116 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13117 @item nsmail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13118 Netscape mail boxes. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13119 |
25829 | 13120 @item mime-parts |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13121 MIME multipart messages. |
25829 | 13122 |
13123 @item standard-digest | |
13124 The standard (RFC 1153) digest format. | |
13125 | |
13126 @item slack-digest | |
13127 Non-standard digest format---matches most things, but does it badly. | |
13128 @end table | |
13129 | |
13130 You can also use the special ``file type'' @code{guess}, which means | |
13131 that @code{nndoc} will try to guess what file type it is looking at. | |
13132 @code{digest} means that @code{nndoc} should guess what digest type the | |
13133 file is. | |
13134 | |
13135 @code{nndoc} will not try to change the file or insert any extra headers into | |
13136 it---it will simply, like, let you use the file as the basis for a | |
13137 group. And that's it. | |
13138 | |
13139 If you have some old archived articles that you want to insert into your | |
13140 new & spiffy Gnus mail backend, @code{nndoc} can probably help you with | |
13141 that. Say you have an old @file{RMAIL} file with mail that you now want | |
13142 to split into your new @code{nnml} groups. You look at that file using | |
13143 @code{nndoc} (using the @kbd{G f} command in the group buffer | |
13144 (@pxref{Foreign Groups})), set the process mark on all the articles in | |
13145 the buffer (@kbd{M P b}, for instance), and then re-spool (@kbd{B r}) | |
13146 using @code{nnml}. If all goes well, all the mail in the @file{RMAIL} | |
13147 file is now also stored in lots of @code{nnml} directories, and you can | |
13148 delete that pesky @file{RMAIL} file. If you have the guts! | |
13149 | |
13150 Virtual server variables: | |
13151 | |
13152 @table @code | |
13153 @item nndoc-article-type | |
13154 @vindex nndoc-article-type | |
13155 This should be one of @code{mbox}, @code{babyl}, @code{digest}, | |
13156 @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
|
13157 @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
|
13158 @code{slack-digest}, @code{clari-briefs}, @code{nsmail} or @code{guess}. |
25829 | 13159 |
13160 @item nndoc-post-type | |
13161 @vindex nndoc-post-type | |
13162 This variable says whether Gnus is to consider the group a news group or | |
13163 a mail group. There are two valid values: @code{mail} (the default) | |
13164 and @code{news}. | |
13165 @end table | |
13166 | |
13167 @menu | |
13168 * Document Server Internals:: How to add your own document types. | |
13169 @end menu | |
13170 | |
13171 | |
13172 @node Document Server Internals | |
13173 @subsubsection Document Server Internals | |
13174 | |
13175 Adding new document types to be recognized by @code{nndoc} isn't | |
13176 difficult. You just have to whip up a definition of what the document | |
13177 looks like, write a predicate function to recognize that document type, | |
13178 and then hook into @code{nndoc}. | |
13179 | |
13180 First, here's an example document type definition: | |
13181 | |
13182 @example | |
13183 (mmdf | |
13184 (article-begin . "^\^A\^A\^A\^A\n") | |
13185 (body-end . "^\^A\^A\^A\^A\n")) | |
13186 @end example | |
13187 | |
13188 The definition is simply a unique @dfn{name} followed by a series of | |
13189 regexp pseudo-variable settings. Below are the possible | |
13190 variables---don't be daunted by the number of variables; most document | |
13191 types can be defined with very few settings: | |
13192 | |
13193 @table @code | |
13194 @item first-article | |
13195 If present, @code{nndoc} will skip past all text until it finds | |
13196 something that match this regexp. All text before this will be | |
13197 totally ignored. | |
13198 | |
13199 @item article-begin | |
13200 This setting has to be present in all document type definitions. It | |
13201 says what the beginning of each article looks like. | |
13202 | |
13203 @item head-begin-function | |
13204 If present, this should be a function that moves point to the head of | |
13205 the article. | |
13206 | |
13207 @item nndoc-head-begin | |
13208 If present, this should be a regexp that matches the head of the | |
13209 article. | |
13210 | |
13211 @item nndoc-head-end | |
13212 This should match the end of the head of the article. It defaults to | |
13213 @samp{^$}---the empty line. | |
13214 | |
13215 @item body-begin-function | |
13216 If present, this function should move point to the beginning of the body | |
13217 of the article. | |
13218 | |
13219 @item body-begin | |
13220 This should match the beginning of the body of the article. It defaults | |
13221 to @samp{^\n}. | |
13222 | |
13223 @item body-end-function | |
13224 If present, this function should move point to the end of the body of | |
13225 the article. | |
13226 | |
13227 @item body-end | |
13228 If present, this should match the end of the body of the article. | |
13229 | |
13230 @item file-end | |
13231 If present, this should match the end of the file. All text after this | |
13232 regexp will be totally ignored. | |
13233 | |
13234 @end table | |
13235 | |
13236 So, using these variables @code{nndoc} is able to dissect a document | |
13237 file into a series of articles, each with a head and a body. However, a | |
13238 few more variables are needed since not all document types are all that | |
13239 news-like---variables needed to transform the head or the body into | |
13240 something that's palatable for Gnus: | |
13241 | |
13242 @table @code | |
13243 @item prepare-body-function | |
13244 If present, this function will be called when requesting an article. It | |
13245 will be called with point at the start of the body, and is useful if the | |
13246 document has encoded some parts of its contents. | |
13247 | |
13248 @item article-transform-function | |
13249 If present, this function is called when requesting an article. It's | |
13250 meant to be used for more wide-ranging transformation of both head and | |
13251 body of the article. | |
13252 | |
13253 @item generate-head-function | |
13254 If present, this function is called to generate a head that Gnus can | |
13255 understand. It is called with the article number as a parameter, and is | |
13256 expected to generate a nice head for the article in question. It is | |
13257 called when requesting the headers of all articles. | |
13258 | |
13259 @end table | |
13260 | |
13261 Let's look at the most complicated example I can come up with---standard | |
13262 digests: | |
13263 | |
13264 @example | |
13265 (standard-digest | |
13266 (first-article . ,(concat "^" (make-string 70 ?-) "\n\n+")) | |
13267 (article-begin . ,(concat "\n\n" (make-string 30 ?-) "\n\n+")) | |
13268 (prepare-body-function . nndoc-unquote-dashes) | |
13269 (body-end-function . nndoc-digest-body-end) | |
13270 (head-end . "^ ?$") | |
13271 (body-begin . "^ ?\n") | |
13272 (file-end . "^End of .*digest.*[0-9].*\n\\*\\*\\|^End of.*Digest *$") | |
13273 (subtype digest guess)) | |
13274 @end example | |
13275 | |
13276 We see that all text before a 70-width line of dashes is ignored; all | |
13277 text after a line that starts with that @samp{^End of} is also ignored; | |
13278 each article begins with a 30-width line of dashes; the line separating | |
13279 the head from the body may contain a single space; and that the body is | |
13280 run through @code{nndoc-unquote-dashes} before being delivered. | |
13281 | |
13282 To hook your own document definition into @code{nndoc}, use the | |
13283 @code{nndoc-add-type} function. It takes two parameters---the first is | |
13284 the definition itself and the second (optional) parameter says where in | |
13285 the document type definition alist to put this definition. The alist is | |
13286 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 | |
13287 is of @code{mmdf} type, and so on. These type predicates should return | |
13288 @code{nil} if the document is not of the correct type; @code{t} if it is | |
13289 of the correct type; and a number if the document might be of the | |
13290 correct type. A high number means high probability; a low number means | |
13291 low probability with @samp{0} being the lowest valid number. | |
13292 | |
13293 | |
13294 @node SOUP | |
13295 @subsection SOUP | |
13296 @cindex SOUP | |
13297 @cindex offline | |
13298 | |
13299 In the PC world people often talk about ``offline'' newsreaders. These | |
13300 are thingies that are combined reader/news transport monstrosities. | |
13301 With built-in modem programs. Yecchh! | |
13302 | |
13303 Of course, us Unix Weenie types of human beans use things like | |
13304 @code{uucp} and, like, @code{nntpd} and set up proper news and mail | |
13305 transport things like Ghod intended. And then we just use normal | |
13306 newsreaders. | |
13307 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13308 However, it can sometimes be convenient to do something that's a bit |
25829 | 13309 easier on the brain if you have a very slow modem, and you're not really |
13310 that interested in doing things properly. | |
13311 | |
13312 A file format called @sc{soup} has been developed for transporting news | |
13313 and mail from servers to home machines and back again. It can be a bit | |
13314 fiddly. | |
13315 | |
13316 First some terminology: | |
13317 | |
13318 @table @dfn | |
13319 | |
13320 @item server | |
13321 This is the machine that is connected to the outside world and where you | |
13322 get news and/or mail from. | |
13323 | |
13324 @item home machine | |
13325 This is the machine that you want to do the actual reading and responding | |
13326 on. It is typically not connected to the rest of the world in any way. | |
13327 | |
13328 @item packet | |
13329 Something that contains messages and/or commands. There are two kinds | |
13330 of packets: | |
13331 | |
13332 @table @dfn | |
13333 @item message packets | |
13334 These are packets made at the server, and typically contain lots of | |
13335 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
|
13336 default, where @var{x} is a number. |
25829 | 13337 |
13338 @item response packets | |
13339 These are packets made at the home machine, and typically contains | |
13340 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
|
13341 default, where @var{x} is a number. |
25829 | 13342 |
13343 @end table | |
13344 | |
13345 @end table | |
13346 | |
13347 | |
13348 @enumerate | |
13349 | |
13350 @item | |
13351 You log in on the server and create a @sc{soup} packet. You can either | |
13352 use a dedicated @sc{soup} thingie (like the @code{awk} program), or you | |
13353 can use Gnus to create the packet with its @sc{soup} commands (@kbd{O | |
13354 s} and/or @kbd{G s b}; and then @kbd{G s p}) (@pxref{SOUP Commands}). | |
13355 | |
13356 @item | |
13357 You transfer the packet home. Rail, boat, car or modem will do fine. | |
13358 | |
13359 @item | |
13360 You put the packet in your home directory. | |
13361 | |
13362 @item | |
13363 You fire up Gnus on your home machine using the @code{nnsoup} backend as | |
13364 the native or secondary server. | |
13365 | |
13366 @item | |
13367 You read articles and mail and answer and followup to the things you | |
13368 want (@pxref{SOUP Replies}). | |
13369 | |
13370 @item | |
13371 You do the @kbd{G s r} command to pack these replies into a @sc{soup} | |
13372 packet. | |
13373 | |
13374 @item | |
13375 You transfer this packet to the server. | |
13376 | |
13377 @item | |
13378 You use Gnus to mail this packet out with the @kbd{G s s} command. | |
13379 | |
13380 @item | |
13381 You then repeat until you die. | |
13382 | |
13383 @end enumerate | |
13384 | |
13385 So you basically have a bipartite system---you use @code{nnsoup} for | |
13386 reading and Gnus for packing/sending these @sc{soup} packets. | |
13387 | |
13388 @menu | |
13389 * SOUP Commands:: Commands for creating and sending @sc{soup} packets | |
13390 * SOUP Groups:: A backend for reading @sc{soup} packets. | |
13391 * SOUP Replies:: How to enable @code{nnsoup} to take over mail and news. | |
13392 @end menu | |
13393 | |
13394 | |
13395 @node SOUP Commands | |
13396 @subsubsection SOUP Commands | |
13397 | |
13398 These are commands for creating and manipulating @sc{soup} packets. | |
13399 | |
13400 @table @kbd | |
13401 @item G s b | |
13402 @kindex G s b (Group) | |
13403 @findex gnus-group-brew-soup | |
13404 Pack all unread articles in the current group | |
13405 (@code{gnus-group-brew-soup}). This command understands the | |
13406 process/prefix convention. | |
13407 | |
13408 @item G s w | |
13409 @kindex G s w (Group) | |
13410 @findex gnus-soup-save-areas | |
13411 Save all @sc{soup} data files (@code{gnus-soup-save-areas}). | |
13412 | |
13413 @item G s s | |
13414 @kindex G s s (Group) | |
13415 @findex gnus-soup-send-replies | |
13416 Send all replies from the replies packet | |
13417 (@code{gnus-soup-send-replies}). | |
13418 | |
13419 @item G s p | |
13420 @kindex G s p (Group) | |
13421 @findex gnus-soup-pack-packet | |
13422 Pack all files into a @sc{soup} packet (@code{gnus-soup-pack-packet}). | |
13423 | |
13424 @item G s r | |
13425 @kindex G s r (Group) | |
13426 @findex nnsoup-pack-replies | |
13427 Pack all replies into a replies packet (@code{nnsoup-pack-replies}). | |
13428 | |
13429 @item O s | |
13430 @kindex O s (Summary) | |
13431 @findex gnus-soup-add-article | |
13432 This summary-mode command adds the current article to a @sc{soup} packet | |
13433 (@code{gnus-soup-add-article}). It understands the process/prefix | |
13434 convention (@pxref{Process/Prefix}). | |
13435 | |
13436 @end table | |
13437 | |
13438 | |
13439 There are a few variables to customize where Gnus will put all these | |
13440 thingies: | |
13441 | |
13442 @table @code | |
13443 | |
13444 @item gnus-soup-directory | |
13445 @vindex gnus-soup-directory | |
13446 Directory where Gnus will save intermediate files while composing | |
13447 @sc{soup} packets. The default is @file{~/SoupBrew/}. | |
13448 | |
13449 @item gnus-soup-replies-directory | |
13450 @vindex gnus-soup-replies-directory | |
13451 This is what Gnus will use as a temporary directory while sending our | |
13452 reply packets. @file{~/SoupBrew/SoupReplies/} is the default. | |
13453 | |
13454 @item gnus-soup-prefix-file | |
13455 @vindex gnus-soup-prefix-file | |
13456 Name of the file where Gnus stores the last used prefix. The default is | |
13457 @samp{gnus-prefix}. | |
13458 | |
13459 @item gnus-soup-packer | |
13460 @vindex gnus-soup-packer | |
13461 A format string command for packing a @sc{soup} packet. The default is | |
13462 @samp{tar cf - %s | gzip > $HOME/Soupout%d.tgz}. | |
13463 | |
13464 @item gnus-soup-unpacker | |
13465 @vindex gnus-soup-unpacker | |
13466 Format string command for unpacking a @sc{soup} packet. The default is | |
13467 @samp{gunzip -c %s | tar xvf -}. | |
13468 | |
13469 @item gnus-soup-packet-directory | |
13470 @vindex gnus-soup-packet-directory | |
13471 Where Gnus will look for reply packets. The default is @file{~/}. | |
13472 | |
13473 @item gnus-soup-packet-regexp | |
13474 @vindex gnus-soup-packet-regexp | |
13475 Regular expression matching @sc{soup} reply packets in | |
13476 @code{gnus-soup-packet-directory}. | |
13477 | |
13478 @end table | |
13479 | |
13480 | |
13481 @node SOUP Groups | |
13482 @subsubsection @sc{soup} Groups | |
13483 @cindex nnsoup | |
13484 | |
13485 @code{nnsoup} is the backend for reading @sc{soup} packets. It will | |
13486 read incoming packets, unpack them, and put them in a directory where | |
13487 you can read them at leisure. | |
13488 | |
13489 These are the variables you can use to customize its behavior: | |
13490 | |
13491 @table @code | |
13492 | |
13493 @item nnsoup-tmp-directory | |
13494 @vindex nnsoup-tmp-directory | |
13495 When @code{nnsoup} unpacks a @sc{soup} packet, it does it in this | |
13496 directory. (@file{/tmp/} by default.) | |
13497 | |
13498 @item nnsoup-directory | |
13499 @vindex nnsoup-directory | |
13500 @code{nnsoup} then moves each message and index file to this directory. | |
13501 The default is @file{~/SOUP/}. | |
13502 | |
13503 @item nnsoup-replies-directory | |
13504 @vindex nnsoup-replies-directory | |
13505 All replies will be stored in this directory before being packed into a | |
13506 reply packet. The default is @file{~/SOUP/replies/"}. | |
13507 | |
13508 @item nnsoup-replies-format-type | |
13509 @vindex nnsoup-replies-format-type | |
13510 The @sc{soup} format of the replies packets. The default is @samp{?n} | |
13511 (rnews), and I don't think you should touch that variable. I probably | |
13512 shouldn't even have documented it. Drats! Too late! | |
13513 | |
13514 @item nnsoup-replies-index-type | |
13515 @vindex nnsoup-replies-index-type | |
13516 The index type of the replies packet. The default is @samp{?n}, which | |
13517 means ``none''. Don't fiddle with this one either! | |
13518 | |
13519 @item nnsoup-active-file | |
13520 @vindex nnsoup-active-file | |
13521 Where @code{nnsoup} stores lots of information. This is not an ``active | |
13522 file'' in the @code{nntp} sense; it's an Emacs Lisp file. If you lose | |
13523 this file or mess it up in any way, you're dead. The default is | |
13524 @file{~/SOUP/active}. | |
13525 | |
13526 @item nnsoup-packer | |
13527 @vindex nnsoup-packer | |
13528 Format string command for packing a reply @sc{soup} packet. The default | |
13529 is @samp{tar cf - %s | gzip > $HOME/Soupin%d.tgz}. | |
13530 | |
13531 @item nnsoup-unpacker | |
13532 @vindex nnsoup-unpacker | |
13533 Format string command for unpacking incoming @sc{soup} packets. The | |
13534 default is @samp{gunzip -c %s | tar xvf -}. | |
13535 | |
13536 @item nnsoup-packet-directory | |
13537 @vindex nnsoup-packet-directory | |
13538 Where @code{nnsoup} will look for incoming packets. The default is | |
13539 @file{~/}. | |
13540 | |
13541 @item nnsoup-packet-regexp | |
13542 @vindex nnsoup-packet-regexp | |
13543 Regular expression matching incoming @sc{soup} packets. The default is | |
13544 @samp{Soupout}. | |
13545 | |
13546 @item nnsoup-always-save | |
13547 @vindex nnsoup-always-save | |
13548 If non-@code{nil}, save the replies buffer after each posted message. | |
13549 | |
13550 @end table | |
13551 | |
13552 | |
13553 @node SOUP Replies | |
13554 @subsubsection SOUP Replies | |
13555 | |
13556 Just using @code{nnsoup} won't mean that your postings and mailings end | |
13557 up in @sc{soup} reply packets automagically. You have to work a bit | |
13558 more for that to happen. | |
13559 | |
13560 @findex nnsoup-set-variables | |
13561 The @code{nnsoup-set-variables} command will set the appropriate | |
13562 variables to ensure that all your followups and replies end up in the | |
13563 @sc{soup} system. | |
13564 | |
13565 In specific, this is what it does: | |
13566 | |
13567 @lisp | |
13568 (setq message-send-news-function 'nnsoup-request-post) | |
13569 (setq message-send-mail-function 'nnsoup-request-mail) | |
13570 @end lisp | |
13571 | |
13572 And that's it, really. If you only want news to go into the @sc{soup} | |
13573 system you just use the first line. If you only want mail to be | |
13574 @sc{soup}ed you use the second. | |
13575 | |
13576 | |
13577 @node Mail-To-News Gateways | |
13578 @subsection Mail-To-News Gateways | |
13579 @cindex mail-to-news gateways | |
13580 @cindex gateways | |
13581 | |
13582 If your local @code{nntp} server doesn't allow posting, for some reason | |
13583 or other, you can post using one of the numerous mail-to-news gateways. | |
13584 The @code{nngateway} backend provides the interface. | |
13585 | |
13586 Note that you can't read anything from this backend---it can only be | |
13587 used to post with. | |
13588 | |
13589 Server variables: | |
13590 | |
13591 @table @code | |
13592 @item nngateway-address | |
13593 @vindex nngateway-address | |
13594 This is the address of the mail-to-news gateway. | |
13595 | |
13596 @item nngateway-header-transformation | |
13597 @vindex nngateway-header-transformation | |
13598 News headers often have to be transformed in some odd way or other | |
13599 for the mail-to-news gateway to accept it. This variable says what | |
13600 transformation should be called, and defaults to | |
13601 @code{nngateway-simple-header-transformation}. The function is called | |
13602 narrowed to the headers to be transformed and with one parameter---the | |
13603 gateway address. | |
13604 | |
13605 This default function just inserts a new @code{To} header based on the | |
13606 @code{Newsgroups} header and the gateway address. | |
13607 For instance, an article with this @code{Newsgroups} header: | |
13608 | |
13609 @example | |
13610 Newsgroups: alt.religion.emacs | |
13611 @end example | |
13612 | |
13613 will get this @code{From} header inserted: | |
13614 | |
13615 @example | |
13616 To: alt-religion-emacs@@GATEWAY | |
13617 @end example | |
13618 | |
13619 The following pre-defined functions exist: | |
13620 | |
13621 @findex nngateway-simple-header-transformation | |
13622 @table @code | |
13623 | |
13624 @item nngateway-simple-header-transformation | |
13625 Creates a @code{To} header that looks like | |
13626 @var{newsgroup}@@@code{nngateway-address}. | |
13627 | |
13628 @findex nngateway-mail2news-header-transformation | |
13629 | |
13630 @item nngateway-mail2news-header-transformation | |
13631 Creates a @code{To} header that looks like | |
13632 @code{nngateway-address}. | |
13633 | |
13634 Here's an example: | |
13635 | |
13636 @lisp | |
13637 (setq gnus-post-method | |
13638 '(nngateway "mail2news@@replay.com" | |
13639 (nngateway-header-transformation | |
13640 nngateway-mail2news-header-transformation))) | |
13641 @end lisp | |
13642 | |
13643 @end table | |
13644 | |
13645 | |
13646 @end table | |
13647 | |
13648 So, to use this, simply say something like: | |
13649 | |
13650 @lisp | |
13651 (setq gnus-post-method '(nngateway "GATEWAY.ADDRESS")) | |
13652 @end lisp | |
13653 | |
13654 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13655 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13656 @node IMAP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13657 @subsection @sc{imap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13658 @cindex nnimap |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13659 @cindex @sc{imap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13660 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13661 @sc{imap} is a network protocol for reading mail (or news, or ...), |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13662 think of it as a modernized @sc{nntp}. Connecting to a @sc{imap} server |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13663 is much similar to connecting to a news server, you just specify the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13664 network address of the server. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13665 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13666 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
|
13667 might look something like this: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13668 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13669 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13670 (setq gnus-secondary-select-methods |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13671 '((nnimap "simpleserver") ; no special configuration |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13672 ; 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
|
13673 (nnimap "dolk" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13674 (nnimap-address "localhost") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13675 (nnimap-server-port 1430)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13676 ; 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
|
13677 (nnimap "barbar" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13678 (nnimap-server-port 143) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13679 (nnimap-address "localhost") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13680 (nnimap-list-pattern ("INBOX" "mail/*"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13681 ; anonymous public cyrus server: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13682 (nnimap "cyrus.andrew.cmu.edu" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13683 (nnimap-authenticator anonymous) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13684 (nnimap-list-pattern "archive.*") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13685 (nnimap-stream network)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13686 ; 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
|
13687 (nnimap "vic20" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13688 (nnimap-address "vic20.somewhere.com") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13689 (nnimap-server-port 9930) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13690 (nnimap-stream ssl)))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13691 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13692 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13693 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
|
13694 server: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13695 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13696 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13697 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13698 @item nnimap-address |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13699 @vindex nnimap-address |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13700 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13701 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
|
13702 server name if not specified. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13703 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13704 @item nnimap-server-port |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13705 @vindex nnimap-server-port |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13706 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
|
13707 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13708 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
|
13709 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13710 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13711 (nnimap "mail.server.com" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13712 (nnimap-server-port 4711)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13713 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13714 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13715 @item nnimap-list-pattern |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13716 @vindex nnimap-list-pattern |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13717 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
|
13718 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
|
13719 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
|
13720 @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
|
13721 @file{~/Mail/*} then. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13722 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13723 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
|
13724 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
|
13725 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
|
13726 mailbox. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13727 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13728 Example server specification: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13729 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13730 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13731 (nnimap "mail.server.com" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13732 (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
|
13733 ("~friend/Mail/" . "list/*")))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13734 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13735 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13736 @item nnimap-stream |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13737 @vindex nnimap-stream |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13738 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
|
13739 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
|
13740 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
|
13741 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
|
13742 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13743 Example server specification: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13744 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13745 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13746 (nnimap "mail.server.com" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13747 (nnimap-stream ssl)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13748 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13749 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13750 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
|
13751 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13752 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13753 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13754 @dfn{gssapi:} Connect with GSSAPI (usually kerberos 5). Require the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13755 @samp{imtest} program. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13756 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13757 @dfn{kerberos4:} Connect with kerberos 4. Require the @samp{imtest} program. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13758 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13759 @dfn{starttls:} Connect via the STARTTLS extension (similar to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13760 SSL). Require the external library @samp{starttls.el} and program |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13761 @samp{starttls}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13762 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13763 @dfn{ssl:} Connect through SSL. Require OpenSSL (the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13764 program @samp{openssl}) or SSLeay (@samp{s_client}). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13765 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13766 @dfn{shell:} Use a shell command to start IMAP connection. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13767 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13768 @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
|
13769 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13770 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13771 @vindex imap-kerberos4-program |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13772 The @samp{imtest} program is shipped with Cyrus IMAPD, nnimap support |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13773 both @samp{imtest} version 1.5.x and version 1.6.x. The variable |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13774 @code{imap-kerberos4-program} contain parameters to pass to the imtest |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13775 program. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13776 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13777 @vindex imap-ssl-program |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13778 For SSL connections, the OpenSSL program is available from |
33292 | 13779 @uref{http://www.openssl.org/}. OpenSSL was formerly known as SSLeay, |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13780 and nnimap support it too - altough the most recent versions of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13781 SSLeay, 0.9.x, are known to have serious bugs making it |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13782 useless. Earlier versions, especially 0.8.x, of SSLeay are known to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13783 work. The variable @code{imap-ssl-program} contain parameters to pass |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13784 to OpenSSL/SSLeay. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13785 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13786 @vindex imap-shell-program |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13787 @vindex imap-shell-host |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13788 For IMAP connections using the @code{shell} stream, the variable |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13789 @code{imap-shell-program} specify what program to call. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13790 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13791 @item nnimap-authenticator |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13792 @vindex nnimap-authenticator |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13793 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13794 The authenticator used to connect to the server. By default, nnimap |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13795 will use the most secure authenticator your server is capable of. |
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 Example server specification: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13798 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13799 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13800 (nnimap "mail.server.com" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13801 (nnimap-authenticator anonymous)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13802 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13803 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13804 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
|
13805 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13806 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13807 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13808 @dfn{gssapi:} GSSAPI (usually kerberos 5) authentication. Require |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13809 external program @code{imtest}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13810 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13811 @dfn{kerberos4:} Kerberos authentication. Require external program |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13812 @code{imtest}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13813 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13814 @dfn{digest-md5:} Encrypted username/password via DIGEST-MD5. Require |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13815 external library @code{digest-md5.el}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13816 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13817 @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
|
13818 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13819 @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
|
13820 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13821 @dfn{anonymous:} Login as `anonymous', supplying your emailadress as password. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13822 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13823 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13824 @item nnimap-expunge-on-close |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13825 @cindex Expunging |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13826 @vindex nnimap-expunge-on-close |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13827 Unlike Parmenides the @sc{imap} designers has decided that things that |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13828 doesn't exist actually does exist. More specifically, @sc{imap} has |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13829 this concept of marking articles @code{Deleted} which doesn't actually |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13830 delete them, and this (marking them @code{Deleted}, that is) is what |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13831 nnimap does when you delete a article in Gnus (with @kbd{G DEL} or |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13832 similair). |
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 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
|
13835 @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
|
13836 running in circles yet? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13837 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13838 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
|
13839 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
|
13840 variable. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13841 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13842 The possible options are: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13843 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13844 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13845 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13846 @item always |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13847 The default behaviour, delete all articles marked as "Deleted" when |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13848 closing a mailbox. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13849 @item never |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13850 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
|
13851 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
|
13852 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
|
13853 manually, @xref{Expunging mailboxes}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13854 @item ask |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13855 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
|
13856 articles or not. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13857 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13858 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13859 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13860 @item nnimap-authinfo-file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13861 @vindex nnimap-authinfo-file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13862 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13863 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
|
13864 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
|
13865 `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
|
13866 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13867 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
|
13868 (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
|
13869 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
|
13870 @xref{NNTP}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13871 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13872 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13873 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13874 @menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13875 * 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
|
13876 * 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
|
13877 * 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
|
13878 @end menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13879 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13880 |
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 @node Splitting in IMAP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13883 @subsubsection Splitting in @sc{imap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13884 @cindex splitting imap mail |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13885 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13886 Splitting is something Gnus users has loved and used for years, and now |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13887 the rest of the world is catching up. Yeah, dream on, not many |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13888 @sc{imap} server has server side splitting and those that have splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13889 seem to use some non-standard protocol. This means that @sc{imap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13890 support for Gnus has to do it's own splitting. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13891 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13892 And it does. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13893 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13894 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
|
13895 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13896 @table @code |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13897 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13898 @item nnimap-split-crosspost |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13899 @cindex splitting, crosspost |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13900 @cindex crosspost |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13901 @vindex nnimap-split-crosspost |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13902 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13903 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
|
13904 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
|
13905 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13906 Nnmail equivalent: @code{nnmail-crosspost}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13907 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13908 @item nnimap-split-inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13909 @cindex splitting, inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13910 @cindex inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13911 @vindex nnimap-split-inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13912 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13913 A string or a list of strings that gives the name(s) of @sc{imap} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13914 mailboxes to split from. Defaults to nil, which means that splitting is |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13915 disabled! |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13916 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13917 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13918 (setq nnimap-split-inbox |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13919 '("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
|
13920 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13921 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13922 No nnmail equivalent. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13923 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13924 @item nnimap-split-rule |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13925 @cindex Splitting, rules |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13926 @vindex nnimap-split-rule |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13927 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13928 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
|
13929 this variable. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13930 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13931 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
|
13932 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
|
13933 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
|
13934 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
|
13935 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13936 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13937 (setq nnimap-split-rule |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13938 '(("INBOX.nnimap" "^Sender: owner-nnimap@@vic20.globalcom.se") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13939 ("INBOX.junk" "^Subject:.*MAKE MONEY") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13940 ("INBOX.private" ""))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13941 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13942 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13943 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
|
13944 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
|
13945 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
|
13946 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13947 The first string may contain `\\1' forms, like the ones used by |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13948 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
|
13949 instance: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13950 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13951 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13952 ("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
|
13953 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13954 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13955 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
|
13956 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
|
13957 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
|
13958 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
|
13959 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13960 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
|
13961 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
|
13962 nnimap. Articles not matching any of the regexps will not be moved out |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13963 of your inbox. (This might might affect performance if you keep lots of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13964 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
|
13965 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
|
13966 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13967 These rules are processed from the beginning of the alist toward the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13968 end. The first rule to make a match will "win", unless you have |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13969 crossposting enabled. In that case, all matching rules will "win". |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13970 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13971 This variable can also have a function as its value, the function will |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13972 be called with the headers narrowed and should return a group where it |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13973 thinks the article should be splitted to. See @code{nnimap-split-fancy}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13974 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13975 The splitting code tries to create mailboxes if it need too. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13976 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13977 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
|
13978 even different split rules in different inboxes on the same server, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13979 the syntax of this variable have been extended along the lines of: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13980 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13981 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13982 (setq nnimap-split-rule |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13983 '(("my1server" (".*" (("ding" "ding@@gnus.org") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13984 ("junk" "From:.*Simon"))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13985 ("my2server" ("INBOX" nnimap-split-fancy)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13986 ("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
|
13987 ("junk" my-junk-func))))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13988 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13989 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13990 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
|
13991 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
|
13992 @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
|
13993 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
|
13994 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
|
13995 group/function elements. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13996 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13997 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
|
13998 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
13999 @item nnimap-split-predicate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14000 @cindex splitting |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14001 @vindex nnimap-split-predicate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14002 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14003 Mail matching this predicate in @code{nnimap-split-inbox} will be |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14004 splitted, it is a string and the default is @samp{UNSEEN UNDELETED}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14005 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14006 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
|
14007 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
|
14008 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
|
14009 @samp{UNDELETED}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14010 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14011 @item nnimap-split-fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14012 @cindex splitting, fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14013 @findex nnimap-split-fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14014 @vindex nnimap-split-fancy |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14015 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14016 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
|
14017 @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
|
14018 splitting. @xref{Fancy Mail Splitting}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14019 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14020 However, to be able to have different fancy split rules for nnmail and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14021 nnimap backends you can 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
|
14022 @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
|
14023 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
|
14024 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14025 Example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14026 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14027 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14028 (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
|
14029 nnimap-split-fancy ...) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14030 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14031 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14032 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
|
14033 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14034 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14035 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14036 @node Editing IMAP ACLs |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14037 @subsubsection Editing @sc{imap} ACLs |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14038 @cindex editing imap acls |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14039 @cindex Access Control Lists |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14040 @cindex Editing @sc{imap} ACLs |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14041 @kindex G l |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14042 @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
|
14043 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14044 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
|
14045 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
|
14046 @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
|
14047 doesn't. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14048 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14049 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
|
14050 (@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
|
14051 editing window with detailed instructions. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14052 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14053 Some possible uses: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14054 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14055 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14056 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14057 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
|
14058 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
|
14059 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
|
14060 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14061 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
|
14062 "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
|
14063 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
|
14064 INBOX.mailbox). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14065 @end itemize |
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 @node Expunging mailboxes |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14068 @subsubsection Expunging mailboxes |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14069 @cindex expunging |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14070 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14071 @cindex Expunge |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14072 @cindex Manual expunging |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14073 @kindex G x |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14074 @findex gnus-group-nnimap-expunge |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14075 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14076 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
|
14077 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
|
14078 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
|
14079 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14080 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
|
14081 delete them. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14082 |
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 |
25829 | 14085 @node Combined Groups |
14086 @section Combined Groups | |
14087 | |
14088 Gnus allows combining a mixture of all the other group types into bigger | |
14089 groups. | |
14090 | |
14091 @menu | |
14092 * Virtual Groups:: Combining articles from many groups. | |
14093 * Kibozed Groups:: Looking through parts of the newsfeed for articles. | |
14094 @end menu | |
14095 | |
14096 | |
14097 @node Virtual Groups | |
14098 @subsection Virtual Groups | |
14099 @cindex nnvirtual | |
14100 @cindex virtual groups | |
14101 @cindex merging groups | |
14102 | |
14103 An @dfn{nnvirtual group} is really nothing more than a collection of | |
14104 other groups. | |
14105 | |
14106 For instance, if you are tired of reading many small groups, you can | |
14107 put them all in one big group, and then grow tired of reading one | |
14108 big, unwieldy group. The joys of computing! | |
14109 | |
14110 You specify @code{nnvirtual} as the method. The address should be a | |
14111 regexp to match component groups. | |
14112 | |
14113 All marks in the virtual group will stick to the articles in the | |
14114 component groups. So if you tick an article in a virtual group, the | |
14115 article will also be ticked in the component group from whence it came. | |
14116 (And vice versa---marks from the component groups will also be shown in | |
14117 the virtual group.) | |
14118 | |
14119 Here's an example @code{nnvirtual} method that collects all Andrea Dworkin | |
14120 newsgroups into one, big, happy newsgroup: | |
14121 | |
14122 @lisp | |
14123 (nnvirtual "^alt\\.fan\\.andrea-dworkin$\\|^rec\\.dworkin.*") | |
14124 @end lisp | |
14125 | |
14126 The component groups can be native or foreign; everything should work | |
14127 smoothly, but if your computer explodes, it was probably my fault. | |
14128 | |
14129 Collecting the same group from several servers might actually be a good | |
14130 idea if users have set the Distribution header to limit distribution. | |
14131 If you would like to read @samp{soc.motss} both from a server in Japan | |
14132 and a server in Norway, you could use the following as the group regexp: | |
14133 | |
14134 @example | |
14135 "^nntp\\+server\\.jp:soc\\.motss$\\|^nntp\\+server\\.no:soc\\.motss$" | |
14136 @end example | |
14137 | |
14138 (Remember, though, that if you're creating the group with @kbd{G m}, you | |
14139 shouldn't double the backslashes, and you should leave off the quote | |
14140 characters at the beginning and the end of the string.) | |
14141 | |
14142 This should work kinda smoothly---all articles from both groups should | |
14143 end up in this one, and there should be no duplicates. Threading (and | |
14144 the rest) will still work as usual, but there might be problems with the | |
14145 sequence of articles. Sorting on date might be an option here | |
14146 (@pxref{Selecting a Group}). | |
14147 | |
14148 One limitation, however---all groups included in a virtual | |
14149 group have to be alive (i.e., subscribed or unsubscribed). Killed or | |
14150 zombie groups can't be component groups for @code{nnvirtual} groups. | |
14151 | |
14152 @vindex nnvirtual-always-rescan | |
14153 If the @code{nnvirtual-always-rescan} is non-@code{nil}, | |
14154 @code{nnvirtual} will always scan groups for unread articles when | |
14155 entering a virtual group. If this variable is @code{nil} (which is the | |
14156 default) and you read articles in a component group after the virtual | |
14157 group has been activated, the read articles from the component group | |
14158 will show up when you enter the virtual group. You'll also see this | |
14159 effect if you have two virtual groups that have a component group in | |
14160 common. If that's the case, you should set this variable to @code{t}. | |
14161 Or you can just tap @code{M-g} on the virtual group every time before | |
14162 you enter it---it'll have much the same effect. | |
14163 | |
14164 @code{nnvirtual} can have both mail and news groups as component groups. | |
14165 When responding to articles in @code{nnvirtual} groups, @code{nnvirtual} | |
14166 has to ask the backend of the component group the article comes from | |
14167 whether it is a news or mail backend. However, when you do a @kbd{^}, | |
14168 there is typically no sure way for the component backend to know this, | |
14169 and in that case @code{nnvirtual} tells Gnus that the article came from a | |
14170 not-news backend. (Just to be on the safe side.) | |
14171 | |
14172 @kbd{C-c C-t} in the message buffer will insert the @code{Newsgroups} | |
14173 line from the article you respond to in these cases. | |
14174 | |
14175 | |
14176 | |
14177 @node Kibozed Groups | |
14178 @subsection Kibozed Groups | |
14179 @cindex nnkiboze | |
14180 @cindex kibozing | |
14181 | |
14182 @dfn{Kibozing} is defined by @sc{oed} as ``grepping through (parts of) | |
14183 the news feed''. @code{nnkiboze} is a backend that will do this for | |
14184 you. Oh joy! Now you can grind any @sc{nntp} server down to a halt | |
14185 with useless requests! Oh happiness! | |
14186 | |
14187 @kindex G k (Group) | |
14188 To create a kibozed group, use the @kbd{G k} command in the group | |
14189 buffer. | |
14190 | |
14191 The address field of the @code{nnkiboze} method is, as with | |
14192 @code{nnvirtual}, a regexp to match groups to be ``included'' in the | |
14193 @code{nnkiboze} group. That's where most similarities between @code{nnkiboze} | |
14194 and @code{nnvirtual} end. | |
14195 | |
14196 In addition to this regexp detailing component groups, an @code{nnkiboze} group | |
14197 must have a score file to say what articles are to be included in | |
14198 the group (@pxref{Scoring}). | |
14199 | |
14200 @kindex M-x nnkiboze-generate-groups | |
14201 @findex nnkiboze-generate-groups | |
14202 You must run @kbd{M-x nnkiboze-generate-groups} after creating the | |
14203 @code{nnkiboze} groups you want to have. This command will take time. Lots of | |
14204 time. Oodles and oodles of time. Gnus has to fetch the headers from | |
14205 all the articles in all the component groups and run them through the | |
14206 scoring process to determine if there are any articles in the groups | |
14207 that are to be part of the @code{nnkiboze} groups. | |
14208 | |
14209 Please limit the number of component groups by using restrictive | |
14210 regexps. Otherwise your sysadmin may become annoyed with you, and the | |
14211 @sc{nntp} site may throw you off and never let you back in again. | |
14212 Stranger things have happened. | |
14213 | |
14214 @code{nnkiboze} component groups do not have to be alive---they can be dead, | |
14215 and they can be foreign. No restrictions. | |
14216 | |
14217 @vindex nnkiboze-directory | |
14218 The generation of an @code{nnkiboze} group means writing two files in | |
14219 @code{nnkiboze-directory}, which is @file{~/News/} by default. One | |
14220 contains the @sc{nov} header lines for all the articles in the group, | |
14221 and the other is an additional @file{.newsrc} file to store information | |
14222 on what groups have been searched through to find component articles. | |
14223 | |
14224 Articles marked as read in the @code{nnkiboze} group will have | |
14225 their @sc{nov} lines removed from the @sc{nov} file. | |
14226 | |
14227 | |
14228 @node Gnus Unplugged | |
14229 @section Gnus Unplugged | |
14230 @cindex offline | |
14231 @cindex unplugged | |
14232 @cindex Agent | |
14233 @cindex Gnus Agent | |
14234 @cindex Gnus Unplugged | |
14235 | |
14236 In olden times (ca. February '88), people used to run their newsreaders | |
14237 on big machines with permanent connections to the net. News transport | |
14238 was dealt with by news servers, and all the newsreaders had to do was to | |
14239 read news. Believe it or not. | |
14240 | |
14241 Nowadays most people read news and mail at home, and use some sort of | |
14242 modem to connect to the net. To avoid running up huge phone bills, it | |
14243 would be nice to have a way to slurp down all the news and mail, hang up | |
14244 the phone, read for several hours, and then upload any responses you | |
14245 have to make. And then you repeat the procedure. | |
14246 | |
14247 Of course, you can use news servers for doing this as well. I've used | |
14248 @code{inn} together with @code{slurp}, @code{pop} and @code{sendmail} | |
14249 for some years, but doing that's a bore. Moving the news server | |
14250 functionality up to the newsreader makes sense if you're the only person | |
14251 reading news on a machine. | |
14252 | |
14253 Using Gnus as an ``offline'' newsreader is quite simple. | |
14254 | |
14255 @itemize @bullet | |
14256 @item | |
14257 First, set up Gnus as you would do if you were running it on a machine | |
14258 that has full connection to the net. Go ahead. I'll still be waiting | |
14259 here. | |
14260 | |
14261 @item | |
14262 Then, put the following magical incantation at the end of your | |
14263 @file{.gnus.el} file: | |
14264 | |
14265 @lisp | |
14266 (gnus-agentize) | |
14267 @end lisp | |
14268 @end itemize | |
14269 | |
14270 That's it. Gnus is now an ``offline'' newsreader. | |
14271 | |
14272 Of course, to use it as such, you have to learn a few new commands. | |
14273 | |
14274 @menu | |
14275 * Agent Basics:: How it all is supposed to work. | |
14276 * Agent Categories:: How to tell the Gnus Agent what to download. | |
14277 * Agent Commands:: New commands for all the buffers. | |
14278 * 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
|
14279 * Agent and IMAP:: How to use the Agent with IMAP. |
25829 | 14280 * Outgoing Messages:: What happens when you post/mail something? |
14281 * Agent Variables:: Customizing is fun. | |
14282 * Example Setup:: An example @file{.gnus.el} file for offline people. | |
14283 * 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
|
14284 * Agent Caveats:: What you think it'll do and what it does. |
25829 | 14285 @end menu |
14286 | |
14287 | |
14288 @node Agent Basics | |
14289 @subsection Agent Basics | |
14290 | |
14291 First, let's get some terminology out of the way. | |
14292 | |
14293 The Gnus Agent is said to be @dfn{unplugged} when you have severed the | |
14294 connection to the net (and notified the Agent that this is the case). | |
14295 When the connection to the net is up again (and Gnus knows this), the | |
14296 Agent is @dfn{plugged}. | |
14297 | |
14298 The @dfn{local} machine is the one you're running on, and which isn't | |
14299 connected to the net continuously. | |
14300 | |
14301 @dfn{Downloading} means fetching things from the net to your local | |
14302 machine. @dfn{Uploading} is doing the opposite. | |
14303 | |
14304 Let's take a typical Gnus session using the Agent. | |
14305 | |
14306 @itemize @bullet | |
14307 | |
14308 @item | |
14309 You start Gnus with @code{gnus-unplugged}. This brings up the Gnus | |
14310 Agent in a disconnected state. You can read all the news that you have | |
14311 already fetched while in this mode. | |
14312 | |
14313 @item | |
14314 You then decide to see whether any new news has arrived. You connect | |
14315 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
|
14316 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
|
14317 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
|
14318 Source Specifiers}). |
25829 | 14319 |
14320 @item | |
14321 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
|
14322 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
|
14323 to check if there are any new news and then @kbd{J |
25829 | 14324 s} to fetch all the eligible articles in all the groups. (To let Gnus |
14325 know which articles you want to download, @pxref{Agent Categories}.) | |
14326 | |
14327 @item | |
14328 After fetching the articles, you press @kbd{J j} to make Gnus become | |
14329 unplugged again, and you shut down the PPP thing (or whatever). And | |
14330 then you read the news offline. | |
14331 | |
14332 @item | |
14333 And then you go to step 2. | |
14334 @end itemize | |
14335 | |
14336 Here are some things you should do the first time (or so) that you use | |
14337 the Agent. | |
14338 | |
14339 @itemize @bullet | |
14340 | |
14341 @item | |
14342 Decide which servers should be covered by the Agent. If you have a mail | |
14343 backend, it would probably be nonsensical to have it covered by the | |
14344 Agent. Go to the server buffer (@kbd{^} in the group buffer) and press | |
14345 @kbd{J a} the server (or servers) that you wish to have covered by the | |
14346 Agent (@pxref{Server Agent Commands}). This will typically be only the | |
14347 primary select method, which is listed on the bottom in the buffer. | |
14348 | |
14349 @item | |
14350 Decide on download policy. @xref{Agent Categories}. | |
14351 | |
14352 @item | |
14353 Uhm... that's it. | |
14354 @end itemize | |
14355 | |
14356 | |
14357 @node Agent Categories | |
14358 @subsection Agent Categories | |
14359 | |
14360 One of the main reasons to integrate the news transport layer into the | |
14361 newsreader is to allow greater control over what articles to download. | |
14362 There's not much point in downloading huge amounts of articles, just to | |
14363 find out that you're not interested in reading any of them. It's better | |
14364 to be somewhat more conservative in choosing what to download, and then | |
14365 mark the articles for downloading manually if it should turn out that | |
14366 you're interested in the articles anyway. | |
14367 | |
14368 The main way to control what is to be downloaded is to create a | |
14369 @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
|
14370 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
|
14371 @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
|
14372 managing categories. |
25829 | 14373 |
14374 @menu | |
14375 * Category Syntax:: What a category looks like. | |
14376 * The Category Buffer:: A buffer for maintaining categories. | |
14377 * Category Variables:: Customize'r'Us. | |
14378 @end menu | |
14379 | |
14380 | |
14381 @node Category Syntax | |
14382 @subsubsection Category Syntax | |
14383 | |
14384 A category consists of two things. | |
14385 | |
14386 @enumerate | |
14387 @item | |
14388 A predicate which (generally) gives a rough outline of which articles | |
14389 are eligible for downloading; and | |
14390 | |
14391 @item | |
14392 a score rule which (generally) gives you a finer granularity when | |
14393 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
|
14394 score} is not necessarily related to normal scores.) |
25829 | 14395 @end enumerate |
14396 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14397 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
|
14398 @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
|
14399 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
|
14400 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
|
14401 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14402 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
|
14403 their scores in relationship to @code{gnus-agent-high-score} and |
33292 | 14404 @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
|
14405 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14406 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
|
14407 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
|
14408 operators sprinkled in between. |
25829 | 14409 |
14410 Perhaps some examples are in order. | |
14411 | |
14412 Here's a simple predicate. (It's the default predicate, in fact, used | |
14413 for all groups that don't belong to any other category.) | |
14414 | |
14415 @lisp | |
14416 short | |
14417 @end lisp | |
14418 | |
14419 Quite simple, eh? This predicate is true if and only if the article is | |
14420 short (for some value of ``short''). | |
14421 | |
14422 Here's a more complex predicate: | |
14423 | |
14424 @lisp | |
14425 (or high | |
14426 (and | |
14427 (not low) | |
14428 (not long))) | |
14429 @end lisp | |
14430 | |
14431 This means that an article should be downloaded if it has a high score, | |
14432 or if the score is not low and the article is not long. You get the | |
14433 drift. | |
14434 | |
14435 The available logical operators are @code{or}, @code{and} and | |
14436 @code{not}. (If you prefer, you can use the more ``C''-ish operators | |
14437 @samp{|}, @code{&} and @code{!} instead.) | |
14438 | |
14439 The following predicates are pre-defined, but if none of these fit what | |
14440 you want to do, you can write your own. | |
14441 | |
14442 @table @code | |
14443 @item short | |
14444 True iff the article is shorter than @code{gnus-agent-short-article} | |
14445 lines; default 100. | |
14446 | |
14447 @item long | |
14448 True iff the article is longer than @code{gnus-agent-long-article} | |
14449 lines; default 200. | |
14450 | |
14451 @item low | |
14452 True iff the article has a download score less than | |
14453 @code{gnus-agent-low-score}; default 0. | |
14454 | |
14455 @item high | |
14456 True iff the article has a download score greater than | |
14457 @code{gnus-agent-high-score}; default 0. | |
14458 | |
14459 @item spam | |
14460 True iff the Gnus Agent guesses that the article is spam. The | |
14461 heuristics may change over time, but at present it just computes a | |
14462 checksum and sees whether articles match. | |
14463 | |
14464 @item true | |
14465 Always true. | |
14466 | |
14467 @item false | |
14468 Always false. | |
14469 @end table | |
14470 | |
14471 If you want to create your own predicate function, here's what you have | |
14472 to know: The functions are called with no parameters, but the | |
14473 @code{gnus-headers} and @code{gnus-score} dynamic variables are bound to | |
14474 useful values. | |
14475 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14476 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
|
14477 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
|
14478 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
|
14479 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
|
14480 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14481 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14482 (defun my-article-old-p () |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14483 "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
|
14484 (< (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
|
14485 (- (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
|
14486 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14487 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14488 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
|
14489 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14490 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14491 (not my-article-old-p) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14492 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14493 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14494 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
|
14495 @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
|
14496 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
|
14497 @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
|
14498 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14499 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14500 (defvar gnus-category-predicate-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14501 (append gnus-category-predicate-alist |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14502 '((old . my-article-old-p)))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14503 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14504 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14505 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
|
14506 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14507 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14508 (not old) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14509 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14510 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14511 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
|
14512 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
|
14513 always a reliable indication of when it was posted. Hell, some people |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14514 just don't give a damm. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14515 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14516 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
|
14517 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
|
14518 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
|
14519 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
|
14520 parameters like so: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14521 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14522 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14523 (agent-predicate . short) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14524 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14525 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14526 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
|
14527 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
|
14528 @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
|
14529 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14530 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
|
14531 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14532 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14533 (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
|
14534 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14535 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14536 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
|
14537 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
|
14538 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
|
14539 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14540 |
25829 | 14541 Now, the syntax of the download score is the same as the syntax of |
14542 normal score files, except that all elements that require actually | |
14543 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
|
14544 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
|
14545 @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
|
14546 @code{Lines}, and @code{Xref}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14547 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14548 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
|
14549 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
|
14550 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
|
14551 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
|
14552 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14553 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
|
14554 three forms: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14555 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14556 @enumerate |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14557 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14558 Score rule |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14559 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14560 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
|
14561 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
|
14562 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14563 example: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14564 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14565 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14566 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14567 Category specification |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14568 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14569 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14570 (("from" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14571 ("Lars Ingebrigtsen" 1000000 nil s)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14572 ("lines" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14573 (500 -100 nil <))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14574 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14575 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14576 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14577 Group Parameter specification |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14578 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14579 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14580 (agent-score ("from" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14581 ("Lars Ingebrigtsen" 1000000 nil s)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14582 ("lines" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14583 (500 -100 nil <))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14584 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14585 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14586 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
|
14587 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14588 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14589 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14590 Agent score file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14591 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14592 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
|
14593 stated above. |
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 example: |
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 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14598 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14599 Category specification |
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 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14602 ("~/News/agent.SCORE") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14603 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14604 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14605 or perhaps |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14606 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14607 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14608 ("~/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
|
14609 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14610 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14611 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14612 Group Parameter specification |
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 (agent-score "~/News/agent.SCORE") |
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 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
|
14619 about parenthesis? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14620 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14621 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14622 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14623 Use @code{normal} score files |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14624 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14625 If you dont want to maintain two sets of scoring rules for a group, and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14626 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
|
14627 @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
|
14628 @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
|
14629 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14630 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
|
14631 parameters will cause the agent to read in all the applicable score |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14632 files for a group, *filtering out* those those sections that do not |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14633 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
|
14634 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14635 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14636 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14637 Category Specification |
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 file |
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 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14644 Group Parameter specification |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14645 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14646 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14647 (agent-score . file) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14648 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14649 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14650 @end enumerate |
25829 | 14651 |
14652 @node The Category Buffer | |
14653 @subsubsection The Category Buffer | |
14654 | |
14655 You'd normally do all category maintenance from the category buffer. | |
14656 When you enter it for the first time (with the @kbd{J c} command from | |
14657 the group buffer), you'll only see the @code{default} category. | |
14658 | |
14659 The following commands are available in this buffer: | |
14660 | |
14661 @table @kbd | |
14662 @item q | |
14663 @kindex q (Category) | |
14664 @findex gnus-category-exit | |
14665 Return to the group buffer (@code{gnus-category-exit}). | |
14666 | |
14667 @item k | |
14668 @kindex k (Category) | |
14669 @findex gnus-category-kill | |
14670 Kill the current category (@code{gnus-category-kill}). | |
14671 | |
14672 @item c | |
14673 @kindex c (Category) | |
14674 @findex gnus-category-copy | |
14675 Copy the current category (@code{gnus-category-copy}). | |
14676 | |
14677 @item a | |
14678 @kindex a (Category) | |
14679 @findex gnus-category-add | |
14680 Add a new category (@code{gnus-category-add}). | |
14681 | |
14682 @item p | |
14683 @kindex p (Category) | |
14684 @findex gnus-category-edit-predicate | |
14685 Edit the predicate of the current category | |
14686 (@code{gnus-category-edit-predicate}). | |
14687 | |
14688 @item g | |
14689 @kindex g (Category) | |
14690 @findex gnus-category-edit-groups | |
14691 Edit the list of groups belonging to the current category | |
14692 (@code{gnus-category-edit-groups}). | |
14693 | |
14694 @item s | |
14695 @kindex s (Category) | |
14696 @findex gnus-category-edit-score | |
14697 Edit the download score rule of the current category | |
14698 (@code{gnus-category-edit-score}). | |
14699 | |
14700 @item l | |
14701 @kindex l (Category) | |
14702 @findex gnus-category-list | |
14703 List all the categories (@code{gnus-category-list}). | |
14704 @end table | |
14705 | |
14706 | |
14707 @node Category Variables | |
14708 @subsubsection Category Variables | |
14709 | |
14710 @table @code | |
14711 @item gnus-category-mode-hook | |
14712 @vindex gnus-category-mode-hook | |
14713 Hook run in category buffers. | |
14714 | |
14715 @item gnus-category-line-format | |
14716 @vindex gnus-category-line-format | |
14717 Format of the lines in the category buffer (@pxref{Formatting | |
14718 Variables}). Valid elements are: | |
14719 | |
14720 @table @samp | |
14721 @item c | |
14722 The name of the category. | |
14723 | |
14724 @item g | |
14725 The number of groups in the category. | |
14726 @end table | |
14727 | |
14728 @item gnus-category-mode-line-format | |
14729 @vindex gnus-category-mode-line-format | |
14730 Format of the category mode line (@pxref{Mode Line Formatting}). | |
14731 | |
14732 @item gnus-agent-short-article | |
14733 @vindex gnus-agent-short-article | |
14734 Articles that have fewer lines than this are short. Default 100. | |
14735 | |
14736 @item gnus-agent-long-article | |
14737 @vindex gnus-agent-long-article | |
14738 Articles that have more lines than this are long. Default 200. | |
14739 | |
14740 @item gnus-agent-low-score | |
14741 @vindex gnus-agent-low-score | |
14742 Articles that have a score lower than this have a low score. Default | |
14743 0. | |
14744 | |
14745 @item gnus-agent-high-score | |
14746 @vindex gnus-agent-high-score | |
14747 Articles that have a score higher than this have a high score. Default | |
14748 0. | |
14749 | |
14750 @end table | |
14751 | |
14752 | |
14753 @node Agent Commands | |
14754 @subsection Agent Commands | |
14755 | |
14756 All the Gnus Agent commands are on the @kbd{J} submap. The @kbd{J j} | |
14757 (@code{gnus-agent-toggle-plugged} command works in all modes, and | |
14758 toggles the plugged/unplugged state of the Gnus Agent. | |
14759 | |
14760 | |
14761 @menu | |
14762 * Group Agent Commands:: | |
14763 * Summary Agent Commands:: | |
14764 * Server Agent Commands:: | |
14765 @end menu | |
14766 | |
14767 You can run a complete batch fetch from the command line with the | |
14768 following incantation: | |
14769 | |
14770 @cindex gnus-agent-batch-fetch | |
14771 @example | |
14772 $ emacs -batch -l ~/.gnus.el -f gnus-agent-batch-fetch | |
14773 @end example | |
14774 | |
14775 | |
14776 | |
14777 @node Group Agent Commands | |
14778 @subsubsection Group Agent Commands | |
14779 | |
14780 @table @kbd | |
14781 @item J u | |
14782 @kindex J u (Agent Group) | |
14783 @findex gnus-agent-fetch-groups | |
14784 Fetch all eligible articles in the current group | |
14785 (@code{gnus-agent-fetch-groups}). | |
14786 | |
14787 @item J c | |
14788 @kindex J c (Agent Group) | |
14789 @findex gnus-enter-category-buffer | |
14790 Enter the Agent category buffer (@code{gnus-enter-category-buffer}). | |
14791 | |
14792 @item J s | |
14793 @kindex J s (Agent Group) | |
14794 @findex gnus-agent-fetch-session | |
14795 Fetch all eligible articles in all groups | |
14796 (@code{gnus-agent-fetch-session}). | |
14797 | |
14798 @item J S | |
14799 @kindex J S (Agent Group) | |
14800 @findex gnus-group-send-drafts | |
14801 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
|
14802 (@code{gnus-group-send-drafts}). @xref{Drafts}. |
25829 | 14803 |
14804 @item J a | |
14805 @kindex J a (Agent Group) | |
14806 @findex gnus-agent-add-group | |
14807 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
|
14808 (@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
|
14809 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
|
14810 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14811 @item J r |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14812 @kindex J r (Agent Group) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14813 @findex gnus-agent-remove-group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14814 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
|
14815 (@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
|
14816 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
|
14817 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14818 @item J Y |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14819 @kindex J Y (Agent Group) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14820 @findex gnus-agent-synchronize-flags |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14821 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
|
14822 |
25829 | 14823 |
14824 @end table | |
14825 | |
14826 | |
14827 @node Summary Agent Commands | |
14828 @subsubsection Summary Agent Commands | |
14829 | |
14830 @table @kbd | |
14831 @item J # | |
14832 @kindex J # (Agent Summary) | |
14833 @findex gnus-agent-mark-article | |
14834 Mark the article for downloading (@code{gnus-agent-mark-article}). | |
14835 | |
14836 @item J M-# | |
14837 @kindex J M-# (Agent Summary) | |
14838 @findex gnus-agent-unmark-article | |
14839 Remove the downloading mark from the article | |
14840 (@code{gnus-agent-unmark-article}). | |
14841 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14842 @item @@ |
25829 | 14843 @kindex @@ (Agent Summary) |
14844 @findex gnus-agent-toggle-mark | |
14845 Toggle whether to download the article (@code{gnus-agent-toggle-mark}). | |
14846 | |
14847 @item J c | |
14848 @kindex J c (Agent Summary) | |
14849 @findex gnus-agent-catchup | |
14850 Mark all undownloaded articles as read (@code{gnus-agent-catchup}). | |
14851 | |
14852 @end table | |
14853 | |
14854 | |
14855 @node Server Agent Commands | |
14856 @subsubsection Server Agent Commands | |
14857 | |
14858 @table @kbd | |
14859 @item J a | |
14860 @kindex J a (Agent Server) | |
14861 @findex gnus-agent-add-server | |
14862 Add the current server to the list of servers covered by the Gnus Agent | |
14863 (@code{gnus-agent-add-server}). | |
14864 | |
14865 @item J r | |
14866 @kindex J r (Agent Server) | |
14867 @findex gnus-agent-remove-server | |
14868 Remove the current server from the list of servers covered by the Gnus | |
14869 Agent (@code{gnus-agent-remove-server}). | |
14870 | |
14871 @end table | |
14872 | |
14873 | |
14874 @node Agent Expiry | |
14875 @subsection Agent Expiry | |
14876 | |
14877 @vindex gnus-agent-expire-days | |
14878 @findex gnus-agent-expire | |
14879 @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
|
14880 @cindex Agent expiry |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14881 @cindex Gnus Agent expiry |
25829 | 14882 @cindex expiry |
14883 | |
14884 @code{nnagent} doesn't handle expiry. Instead, there's a special | |
14885 @code{gnus-agent-expire} command that will expire all read articles that | |
14886 are older than @code{gnus-agent-expire-days} days. It can be run | |
14887 whenever you feel that you're running out of space. It's not | |
14888 particularly fast or efficient, and it's not a particularly good idea to | |
14889 interrupt it (with @kbd{C-g} or anything else) once you've started it. | |
14890 | |
14891 @vindex gnus-agent-expire-all | |
14892 if @code{gnus-agent-expire-all} is non-@code{nil}, this command will | |
14893 expire all articles---unread, read, ticked and dormant. If @code{nil} | |
14894 (which is the default), only read articles are eligible for expiry, and | |
14895 unread, ticked and dormant articles will be kept indefinitely. | |
14896 | |
14897 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14898 @node Agent and IMAP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14899 @subsection Agent and IMAP |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14900 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14901 The Agent work with any Gnus backend, including nnimap. However, since |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14902 there are some conceptual differences between NNTP and IMAP, this |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14903 section (should) provide you with some information to make Gnus Agent |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14904 work smoother as a IMAP Disconnected Mode client. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14905 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14906 The first thing to keep in mind is that all flags (read, ticked, etc) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14907 are kept on the IMAP server, rather than in @code{.newsrc} as is the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14908 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
|
14909 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
|
14910 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14911 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
|
14912 Agent by default. When you plug back in, by default Gnus will check if |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14913 you have any changed any flags and ask if you wish to synchronize theese |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14914 with the server. This behaviour is customizable with |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14915 @code{gnus-agent-synchronize-flags}. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14916 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14917 @vindex gnus-agent-synchronize-flags |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14918 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
|
14919 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
|
14920 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
|
14921 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
|
14922 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
|
14923 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14924 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
|
14925 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
|
14926 @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
|
14927 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
|
14928 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14929 Some things are currently not implemented in the Agent that you'd might |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14930 expect from a disconnected IMAP client, including: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14931 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14932 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14933 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14934 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14935 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
|
14936 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14937 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14938 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
|
14939 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14940 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14941 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14942 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
|
14943 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
|
14944 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
|
14945 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
|
14946 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
|
14947 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
|
14948 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
|
14949 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
|
14950 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
14951 |
25829 | 14952 @node Outgoing Messages |
14953 @subsection Outgoing Messages | |
14954 | |
14955 When Gnus is unplugged, all outgoing messages (both mail and news) are | |
14956 stored in the draft groups (@pxref{Drafts}). You can view them there | |
14957 after posting, and edit them at will. | |
14958 | |
14959 When Gnus is plugged again, you can send the messages either from the | |
14960 draft group with the special commands available there, or you can use | |
14961 the @kbd{J S} command in the group buffer to send all the sendable | |
14962 messages in the draft group. | |
14963 | |
14964 | |
14965 | |
14966 @node Agent Variables | |
14967 @subsection Agent Variables | |
14968 | |
14969 @table @code | |
14970 @item gnus-agent-directory | |
14971 @vindex gnus-agent-directory | |
14972 Where the Gnus Agent will store its files. The default is | |
14973 @file{~/News/agent/}. | |
14974 | |
14975 @item gnus-agent-handle-level | |
14976 @vindex gnus-agent-handle-level | |
14977 Groups on levels (@pxref{Group Levels}) higher than this variable will | |
14978 be ignored by the Agent. The default is @code{gnus-level-subscribed}, | |
14979 which means that only subscribed group will be considered by the Agent | |
14980 by default. | |
14981 | |
14982 @item gnus-agent-plugged-hook | |
14983 @vindex gnus-agent-plugged-hook | |
14984 Hook run when connecting to the network. | |
14985 | |
14986 @item gnus-agent-unplugged-hook | |
14987 @vindex gnus-agent-unplugged-hook | |
14988 Hook run when disconnecting from the network. | |
14989 | |
14990 @end table | |
14991 | |
14992 | |
14993 @node Example Setup | |
14994 @subsection Example Setup | |
14995 | |
14996 If you don't want to read this manual, and you have a fairly standard | |
14997 setup, you may be able to use something like the following as your | |
14998 @file{.gnus.el} file to get started. | |
14999 | |
15000 @lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15001 ;;; Define how Gnus is to fetch news. We do this over @sc{nntp} |
25829 | 15002 ;;; 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
|
15003 (setq gnus-select-method '(nntp "news.your-isp.com")) |
25829 | 15004 |
15005 ;;; Define how Gnus is to read your mail. We read mail from | |
15006 ;;; 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
|
15007 (setq mail-sources '((pop :server "pop.your-isp.com"))) |
25829 | 15008 |
15009 ;;; Say how Gnus is to store the mail. We use nnml groups. | |
15010 (setq gnus-secondary-select-methods '((nnml ""))) | |
15011 | |
15012 ;;; Make Gnus into an offline newsreader. | |
15013 (gnus-agentize) | |
15014 @end lisp | |
15015 | |
15016 That should be it, basically. Put that in your @file{~/.gnus.el} file, | |
15017 edit to suit your needs, start up PPP (or whatever), and type @kbd{M-x | |
15018 gnus}. | |
15019 | |
15020 If this is the first time you've run Gnus, you will be subscribed | |
15021 automatically to a few default newsgroups. You'll probably want to | |
15022 subscribe to more groups, and to do that, you have to query the | |
15023 @sc{nntp} server for a complete list of groups with the @kbd{A A} | |
15024 command. This usually takes quite a while, but you only have to do it | |
15025 once. | |
15026 | |
15027 After reading and parsing a while, you'll be presented with a list of | |
15028 groups. Subscribe to the ones you want to read with the @kbd{u} | |
15029 command. @kbd{l} to make all the killed groups disappear after you've | |
15030 subscribe to all the groups you want to read. (@kbd{A k} will bring | |
15031 back all the killed groups.) | |
15032 | |
15033 You can now read the groups at once, or you can download the articles | |
15034 with the @kbd{J s} command. And then read the rest of this manual to | |
15035 find out which of the other gazillion things you want to customize. | |
15036 | |
15037 | |
15038 @node Batching Agents | |
15039 @subsection Batching Agents | |
15040 | |
15041 Having the Gnus Agent fetch articles (and post whatever messages you've | |
15042 written) is quite easy once you've gotten things set up properly. The | |
15043 following shell script will do everything that is necessary: | |
15044 | |
15045 @example | |
15046 #!/bin/sh | |
15047 emacs -batch -l ~/.emacs -f gnus-agent-batch >/dev/null | |
15048 @end example | |
15049 | |
15050 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15051 @node Agent Caveats |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15052 @subsection Agent Caveats |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15053 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15054 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
|
15055 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
|
15056 may ask: |
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 @table @dfn |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15059 @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
|
15060 Agent? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15061 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15062 @strong{No.} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15063 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15064 @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
|
15065 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
|
15066 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15067 @strong{Yes.} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15068 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15069 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15070 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15071 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
|
15072 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
|
15073 |
25829 | 15074 |
15075 @node Scoring | |
15076 @chapter Scoring | |
15077 @cindex scoring | |
15078 | |
15079 Other people use @dfn{kill files}, but we here at Gnus Towers like | |
15080 scoring better than killing, so we'd rather switch than fight. They do | |
15081 something completely different as well, so sit up straight and pay | |
15082 attention! | |
15083 | |
15084 @vindex gnus-summary-mark-below | |
15085 All articles have a default score (@code{gnus-summary-default-score}), | |
15086 which is 0 by default. This score may be raised or lowered either | |
15087 interactively or by score files. Articles that have a score lower than | |
15088 @code{gnus-summary-mark-below} are marked as read. | |
15089 | |
15090 Gnus will read any @dfn{score files} that apply to the current group | |
15091 before generating the summary buffer. | |
15092 | |
15093 There are several commands in the summary buffer that insert score | |
15094 entries based on the current article. You can, for instance, ask Gnus to | |
15095 lower or increase the score of all articles with a certain subject. | |
15096 | |
15097 There are two sorts of scoring entries: Permanent and temporary. | |
15098 Temporary score entries are self-expiring entries. Any entries that are | |
15099 temporary and have not been used for, say, a week, will be removed | |
15100 silently to help keep the sizes of the score files down. | |
15101 | |
15102 @menu | |
15103 * Summary Score Commands:: Adding score entries for the current group. | |
15104 * Group Score Commands:: General score commands. | |
15105 * Score Variables:: Customize your scoring. (My, what terminology). | |
15106 * Score File Format:: What a score file may contain. | |
15107 * Score File Editing:: You can edit score files by hand as well. | |
15108 * Adaptive Scoring:: Big Sister Gnus knows what you read. | |
15109 * Home Score File:: How to say where new score entries are to go. | |
15110 * Followups To Yourself:: Having Gnus notice when people answer you. | |
15111 * Scoring Tips:: How to score effectively. | |
15112 * Reverse Scoring:: That problem child of old is not problem. | |
15113 * Global Score Files:: Earth-spanning, ear-splitting score files. | |
15114 * Kill Files:: They are still here, but they can be ignored. | |
15115 * Converting Kill Files:: Translating kill files to score files. | |
15116 * GroupLens:: Getting predictions on what you like to read. | |
15117 * Advanced Scoring:: Using logical expressions to build score rules. | |
15118 * Score Decays:: It can be useful to let scores wither away. | |
15119 @end menu | |
15120 | |
15121 | |
15122 @node Summary Score Commands | |
15123 @section Summary Score Commands | |
15124 @cindex score commands | |
15125 | |
15126 The score commands that alter score entries do not actually modify real | |
15127 score files. That would be too inefficient. Gnus maintains a cache of | |
15128 previously loaded score files, one of which is considered the | |
15129 @dfn{current score file alist}. The score commands simply insert | |
15130 entries into this list, and upon group exit, this list is saved. | |
15131 | |
15132 The current score file is by default the group's local score file, even | |
15133 if no such score file actually exists. To insert score commands into | |
15134 some other score file (e.g. @file{all.SCORE}), you must first make this | |
15135 score file the current one. | |
15136 | |
15137 General score commands that don't actually change the score file: | |
15138 | |
15139 @table @kbd | |
15140 | |
15141 @item V s | |
15142 @kindex V s (Summary) | |
15143 @findex gnus-summary-set-score | |
15144 Set the score of the current article (@code{gnus-summary-set-score}). | |
15145 | |
15146 @item V S | |
15147 @kindex V S (Summary) | |
15148 @findex gnus-summary-current-score | |
15149 Display the score of the current article | |
15150 (@code{gnus-summary-current-score}). | |
15151 | |
15152 @item V t | |
15153 @kindex V t (Summary) | |
15154 @findex gnus-score-find-trace | |
15155 Display all score rules that have been used on the current article | |
15156 (@code{gnus-score-find-trace}). | |
15157 | |
15158 @item V R | |
15159 @kindex V R (Summary) | |
15160 @findex gnus-summary-rescore | |
15161 Run the current summary through the scoring process | |
15162 (@code{gnus-summary-rescore}). This might be useful if you're playing | |
15163 around with your score files behind Gnus' back and want to see the | |
15164 effect you're having. | |
15165 | |
15166 @item V c | |
15167 @kindex V c (Summary) | |
15168 @findex gnus-score-change-score-file | |
15169 Make a different score file the current | |
15170 (@code{gnus-score-change-score-file}). | |
15171 | |
15172 @item V e | |
15173 @kindex V e (Summary) | |
15174 @findex gnus-score-edit-current-scores | |
15175 Edit the current score file (@code{gnus-score-edit-current-scores}). | |
15176 You will be popped into a @code{gnus-score-mode} buffer (@pxref{Score | |
15177 File Editing}). | |
15178 | |
15179 @item V f | |
15180 @kindex V f (Summary) | |
15181 @findex gnus-score-edit-file | |
15182 Edit a score file and make this score file the current one | |
15183 (@code{gnus-score-edit-file}). | |
15184 | |
15185 @item V F | |
15186 @kindex V F (Summary) | |
15187 @findex gnus-score-flush-cache | |
15188 Flush the score cache (@code{gnus-score-flush-cache}). This is useful | |
15189 after editing score files. | |
15190 | |
15191 @item V C | |
15192 @kindex V C (Summary) | |
15193 @findex gnus-score-customize | |
15194 Customize a score file in a visually pleasing manner | |
15195 (@code{gnus-score-customize}). | |
15196 | |
15197 @end table | |
15198 | |
15199 The rest of these commands modify the local score file. | |
15200 | |
15201 @table @kbd | |
15202 | |
15203 @item V m | |
15204 @kindex V m (Summary) | |
15205 @findex gnus-score-set-mark-below | |
15206 Prompt for a score, and mark all articles with a score below this as | |
15207 read (@code{gnus-score-set-mark-below}). | |
15208 | |
15209 @item V x | |
15210 @kindex V x (Summary) | |
15211 @findex gnus-score-set-expunge-below | |
15212 Prompt for a score, and add a score rule to the current score file to | |
15213 expunge all articles below this score | |
15214 (@code{gnus-score-set-expunge-below}). | |
15215 @end table | |
15216 | |
15217 The keystrokes for actually making score entries follow a very regular | |
15218 pattern, so there's no need to list all the commands. (Hundreds of | |
15219 them.) | |
15220 | |
15221 @findex gnus-summary-increase-score | |
15222 @findex gnus-summary-lower-score | |
15223 | |
15224 @enumerate | |
15225 @item | |
15226 The first key is either @kbd{I} (upper case i) for increasing the score | |
15227 or @kbd{L} for lowering the score. | |
15228 @item | |
15229 The second key says what header you want to score on. The following | |
15230 keys are available: | |
15231 @table @kbd | |
15232 | |
15233 @item a | |
15234 Score on the author name. | |
15235 | |
15236 @item s | |
15237 Score on the subject line. | |
15238 | |
15239 @item x | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15240 Score on the @code{Xref} line---i.e., the cross-posting line. |
25829 | 15241 |
15242 @item r | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15243 Score on the @code{References} line. |
25829 | 15244 |
15245 @item d | |
15246 Score on the date. | |
15247 | |
15248 @item l | |
15249 Score on the number of lines. | |
15250 | |
15251 @item i | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15252 Score on the @code{Message-ID} header. |
25829 | 15253 |
15254 @item f | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15255 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
|
15256 the followups to this author. |
25829 | 15257 |
15258 @item b | |
15259 Score on the body. | |
15260 | |
15261 @item h | |
15262 Score on the head. | |
15263 | |
15264 @item t | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15265 Score on thread. |
25829 | 15266 |
15267 @end table | |
15268 | |
15269 @item | |
15270 The third key is the match type. Which match types are valid depends on | |
15271 what headers you are scoring on. | |
15272 | |
15273 @table @code | |
15274 | |
15275 @item strings | |
15276 | |
15277 @table @kbd | |
15278 | |
15279 @item e | |
15280 Exact matching. | |
15281 | |
15282 @item s | |
15283 Substring matching. | |
15284 | |
15285 @item f | |
15286 Fuzzy matching (@pxref{Fuzzy Matching}). | |
15287 | |
15288 @item r | |
15289 Regexp matching | |
15290 @end table | |
15291 | |
15292 @item date | |
15293 @table @kbd | |
15294 | |
15295 @item b | |
15296 Before date. | |
15297 | |
15298 @item a | |
15299 After date. | |
15300 | |
15301 @item n | |
15302 This date. | |
15303 @end table | |
15304 | |
15305 @item number | |
15306 @table @kbd | |
15307 | |
15308 @item < | |
15309 Less than number. | |
15310 | |
15311 @item = | |
15312 Equal to number. | |
15313 | |
15314 @item > | |
15315 Greater than number. | |
15316 @end table | |
15317 @end table | |
15318 | |
15319 @item | |
15320 The fourth and final key says whether this is a temporary (i.e., expiring) | |
15321 score entry, or a permanent (i.e., non-expiring) score entry, or whether | |
15322 it is to be done immediately, without adding to the score file. | |
15323 @table @kbd | |
15324 | |
15325 @item t | |
15326 Temporary score entry. | |
15327 | |
15328 @item p | |
15329 Permanent score entry. | |
15330 | |
15331 @item i | |
15332 Immediately scoring. | |
15333 @end table | |
15334 | |
15335 @end enumerate | |
15336 | |
15337 So, let's say you want to increase the score on the current author with | |
15338 exact matching permanently: @kbd{I a e p}. If you want to lower the | |
15339 score based on the subject line, using substring matching, and make a | |
15340 temporary score entry: @kbd{L s s t}. Pretty easy. | |
15341 | |
15342 To make things a bit more complicated, there are shortcuts. If you use | |
15343 a capital letter on either the second or third keys, Gnus will use | |
15344 defaults for the remaining one or two keystrokes. The defaults are | |
15345 ``substring'' and ``temporary''. So @kbd{I A} is the same as @kbd{I a s | |
15346 t}, and @kbd{I a R} is the same as @kbd{I a r t}. | |
15347 | |
15348 These functions take both the numerical prefix and the symbolic prefix | |
15349 (@pxref{Symbolic Prefixes}). A numerical prefix says how much to lower | |
15350 (or increase) the score of the article. A symbolic prefix of @code{a} | |
15351 says to use the @file{all.SCORE} file for the command instead of the | |
15352 current score file. | |
15353 | |
15354 @vindex gnus-score-mimic-keymap | |
15355 The @code{gnus-score-mimic-keymap} says whether these commands will | |
15356 pretend they are keymaps or not. | |
15357 | |
15358 | |
15359 @node Group Score Commands | |
15360 @section Group Score Commands | |
15361 @cindex group score commands | |
15362 | |
15363 There aren't many of these as yet, I'm afraid. | |
15364 | |
15365 @table @kbd | |
15366 | |
15367 @item W f | |
15368 @kindex W f (Group) | |
15369 @findex gnus-score-flush-cache | |
15370 Gnus maintains a cache of score alists to avoid having to reload them | |
15371 all the time. This command will flush the cache | |
15372 (@code{gnus-score-flush-cache}). | |
15373 | |
15374 @end table | |
15375 | |
15376 You can do scoring from the command line by saying something like: | |
15377 | |
15378 @findex gnus-batch-score | |
15379 @cindex batch scoring | |
15380 @example | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15381 $ emacs -batch -l ~/.emacs -l ~/.gnus.el -f gnus-batch-score |
25829 | 15382 @end example |
15383 | |
15384 | |
15385 @node Score Variables | |
15386 @section Score Variables | |
15387 @cindex score variables | |
15388 | |
15389 @table @code | |
15390 | |
15391 @item gnus-use-scoring | |
15392 @vindex gnus-use-scoring | |
15393 If @code{nil}, Gnus will not check for score files, and will not, in | |
15394 general, do any score-related work. This is @code{t} by default. | |
15395 | |
15396 @item gnus-kill-killed | |
15397 @vindex gnus-kill-killed | |
15398 If this variable is @code{nil}, Gnus will never apply score files to | |
15399 articles that have already been through the kill process. While this | |
15400 may save you lots of time, it also means that if you apply a kill file | |
15401 to a group, and then change the kill file and want to run it over you | |
15402 group again to kill more articles, it won't work. You have to set this | |
15403 variable to @code{t} to do that. (It is @code{t} by default.) | |
15404 | |
15405 @item gnus-kill-files-directory | |
15406 @vindex gnus-kill-files-directory | |
15407 All kill and score files will be stored in this directory, which is | |
15408 initialized from the @code{SAVEDIR} environment variable by default. | |
15409 This is @file{~/News/} by default. | |
15410 | |
15411 @item gnus-score-file-suffix | |
15412 @vindex gnus-score-file-suffix | |
15413 Suffix to add to the group name to arrive at the score file name | |
15414 (@samp{SCORE} by default.) | |
15415 | |
15416 @item gnus-score-uncacheable-files | |
15417 @vindex gnus-score-uncacheable-files | |
15418 @cindex score cache | |
15419 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
|
15420 score files. However, if this might make your Emacs grow big and |
25829 | 15421 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 |
15422 @file{all.SCORE}, while it might be a good idea to not cache | |
15423 @file{comp.infosystems.www.authoring.misc.ADAPT}. In fact, this | |
15424 variable is @samp{ADAPT$} by default, so no adaptive score files will | |
15425 be cached. | |
15426 | |
15427 @item gnus-save-score | |
15428 @vindex gnus-save-score | |
15429 If you have really complicated score files, and do lots of batch | |
15430 scoring, then you might set this variable to @code{t}. This will make | |
15431 Gnus save the scores into the @file{.newsrc.eld} file. | |
15432 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15433 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
|
15434 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
|
15435 across group visits. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15436 |
25829 | 15437 @item gnus-score-interactive-default-score |
15438 @vindex gnus-score-interactive-default-score | |
15439 Score used by all the interactive raise/lower commands to raise/lower | |
15440 score with. Default is 1000, which may seem excessive, but this is to | |
15441 ensure that the adaptive scoring scheme gets enough room to play with. | |
15442 We don't want the small changes from the adaptive scoring to overwrite | |
15443 manually entered data. | |
15444 | |
15445 @item gnus-summary-default-score | |
15446 @vindex gnus-summary-default-score | |
15447 Default score of an article, which is 0 by default. | |
15448 | |
15449 @item gnus-summary-expunge-below | |
15450 @vindex gnus-summary-expunge-below | |
15451 Don't display the summary lines of articles that have scores lower than | |
15452 this variable. This is @code{nil} by default, which means that no | |
15453 articles will be hidden. This variable is local to the summary buffers, | |
15454 and has to be set from @code{gnus-summary-mode-hook}. | |
15455 | |
15456 @item gnus-score-over-mark | |
15457 @vindex gnus-score-over-mark | |
15458 Mark (in the third column) used for articles with a score over the | |
15459 default. Default is @samp{+}. | |
15460 | |
15461 @item gnus-score-below-mark | |
15462 @vindex gnus-score-below-mark | |
15463 Mark (in the third column) used for articles with a score below the | |
15464 default. Default is @samp{-}. | |
15465 | |
15466 @item gnus-score-find-score-files-function | |
15467 @vindex gnus-score-find-score-files-function | |
15468 Function used to find score files for the current group. This function | |
15469 is called with the name of the group as the argument. | |
15470 | |
15471 Predefined functions available are: | |
15472 @table @code | |
15473 | |
15474 @item gnus-score-find-single | |
15475 @findex gnus-score-find-single | |
15476 Only apply the group's own score file. | |
15477 | |
15478 @item gnus-score-find-bnews | |
15479 @findex gnus-score-find-bnews | |
15480 Apply all score files that match, using bnews syntax. This is the | |
15481 default. If the current group is @samp{gnu.emacs.gnus}, for instance, | |
15482 @file{all.emacs.all.SCORE}, @file{not.alt.all.SCORE} and | |
15483 @file{gnu.all.SCORE} would all apply. In short, the instances of | |
15484 @samp{all} in the score file names are translated into @samp{.*}, and | |
15485 then a regexp match is done. | |
15486 | |
15487 This means that if you have some score entries that you want to apply to | |
15488 all groups, then you put those entries in the @file{all.SCORE} file. | |
15489 | |
15490 The score files are applied in a semi-random order, although Gnus will | |
15491 try to apply the more general score files before the more specific score | |
15492 files. It does this by looking at the number of elements in the score | |
15493 file names---discarding the @samp{all} elements. | |
15494 | |
15495 @item gnus-score-find-hierarchical | |
15496 @findex gnus-score-find-hierarchical | |
15497 Apply all score files from all the parent groups. This means that you | |
15498 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
|
15499 @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
|
15500 server. |
25829 | 15501 |
15502 @end table | |
15503 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
|
15504 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
|
15505 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
|
15506 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
|
15507 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
|
15508 ``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
|
15509 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
|
15510 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15511 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
|
15512 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
|
15513 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15514 (list (lambda (group) ("all.SCORE")) 'gnus-score-find-hierarchical) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
15515 @end example |
25829 | 15516 |
15517 @item gnus-score-expiry-days | |
15518 @vindex gnus-score-expiry-days | |
15519 This variable says how many days should pass before an unused score file | |
15520 entry is expired. If this variable is @code{nil}, no score file entries | |
15521 are expired. It's 7 by default. | |
15522 | |
15523 @item gnus-update-score-entry-dates | |
15524 @vindex gnus-update-score-entry-dates | |
15525 If this variable is non-@code{nil}, matching score entries will have | |
15526 their dates updated. (This is how Gnus controls expiry---all | |
15527 non-matching entries will become too old while matching entries will | |
15528 stay fresh and young.) However, if you set this variable to @code{nil}, | |
15529 even matching entries will grow old and will have to face that oh-so | |
15530 grim reaper. | |
15531 | |
15532 @item gnus-score-after-write-file-function | |
15533 @vindex gnus-score-after-write-file-function | |
15534 Function called with the name of the score file just written. | |
15535 | |
15536 @item gnus-score-thread-simplify | |
15537 @vindex gnus-score-thread-simplify | |
15538 If this variable is non-@code{nil}, article subjects will be simplified | |
15539 for subject scoring purposes in the same manner as with | |
15540 threading---according to the current value of | |
15541 gnus-simplify-subject-functions. If the scoring entry uses | |
15542 @code{substring} or @code{exact} matching, the match will also be | |
15543 simplified in this manner. | |
15544 | |
15545 @end table | |
15546 | |
15547 | |
15548 @node Score File Format | |
15549 @section Score File Format | |
15550 @cindex score file format | |
15551 | |
15552 A score file is an @code{emacs-lisp} file that normally contains just a | |
15553 single form. Casual users are not expected to edit these files; | |
15554 everything can be changed from the summary buffer. | |
15555 | |
15556 Anyway, if you'd like to dig into it yourself, here's an example: | |
15557 | |
15558 @lisp | |
15559 (("from" | |
15560 ("Lars Ingebrigtsen" -10000) | |
15561 ("Per Abrahamsen") | |
15562 ("larsi\\|lmi" -50000 nil R)) | |
15563 ("subject" | |
15564 ("Ding is Badd" nil 728373)) | |
15565 ("xref" | |
15566 ("alt.politics" -1000 728372 s)) | |
15567 ("lines" | |
15568 (2 -100 nil <)) | |
15569 (mark 0) | |
15570 (expunge -1000) | |
15571 (mark-and-expunge -10) | |
15572 (read-only nil) | |
15573 (orphan -10) | |
15574 (adapt t) | |
15575 (files "/hom/larsi/News/gnu.SCORE") | |
15576 (exclude-files "all.SCORE") | |
15577 (local (gnus-newsgroup-auto-expire t) | |
15578 (gnus-summary-make-false-root empty)) | |
15579 (eval (ding))) | |
15580 @end lisp | |
15581 | |
15582 This example demonstrates most score file elements. For a different | |
15583 approach, see @pxref{Advanced Scoring}. | |
15584 | |
15585 Even though this looks much like lisp code, nothing here is actually | |
15586 @code{eval}ed. The lisp reader is used to read this form, though, so it | |
15587 has to be valid syntactically, if not semantically. | |
15588 | |
15589 Six keys are supported by this alist: | |
15590 | |
15591 @table @code | |
15592 | |
15593 @item STRING | |
15594 If the key is a string, it is the name of the header to perform the | |
15595 match on. Scoring can only be performed on these eight headers: | |
15596 @code{From}, @code{Subject}, @code{References}, @code{Message-ID}, | |
15597 @code{Xref}, @code{Lines}, @code{Chars} and @code{Date}. In addition to | |
15598 these headers, there are three strings to tell Gnus to fetch the entire | |
15599 article and do the match on larger parts of the article: @code{Body} | |
15600 will perform the match on the body of the article, @code{Head} will | |
15601 perform the match on the head of the article, and @code{All} will | |
15602 perform the match on the entire article. Note that using any of these | |
15603 last three keys will slow down group entry @emph{considerably}. The | |
15604 final ``header'' you can score on is @code{Followup}. These score | |
15605 entries will result in new score entries being added for all follow-ups | |
15606 to articles that matches these score entries. | |
15607 | |
15608 Following this key is a arbitrary number of score entries, where each | |
15609 score entry has one to four elements. | |
15610 @enumerate | |
15611 | |
15612 @item | |
15613 The first element is the @dfn{match element}. On most headers this will | |
15614 be a string, but on the Lines and Chars headers, this must be an | |
15615 integer. | |
15616 | |
15617 @item | |
15618 If the second element is present, it should be a number---the @dfn{score | |
15619 element}. This number should be an integer in the neginf to posinf | |
15620 interval. This number is added to the score of the article if the match | |
15621 is successful. If this element is not present, the | |
15622 @code{gnus-score-interactive-default-score} number will be used | |
15623 instead. This is 1000 by default. | |
15624 | |
15625 @item | |
15626 If the third element is present, it should be a number---the @dfn{date | |
15627 element}. This date says when the last time this score entry matched, | |
15628 which provides a mechanism for expiring the score entries. It this | |
15629 element is not present, the score entry is permanent. The date is | |
15630 represented by the number of days since December 31, 1 BCE. | |
15631 | |
15632 @item | |
15633 If the fourth element is present, it should be a symbol---the @dfn{type | |
15634 element}. This element specifies what function should be used to see | |
15635 whether this score entry matches the article. What match types that can | |
15636 be used depends on what header you wish to perform the match on. | |
15637 @table @dfn | |
15638 | |
15639 @item From, Subject, References, Xref, Message-ID | |
15640 For most header types, there are the @code{r} and @code{R} (regexp), as | |
15641 well as @code{s} and @code{S} (substring) types, and @code{e} and | |
15642 @code{E} (exact match), and @code{w} (word match) types. If this | |
15643 element is not present, Gnus will assume that substring matching should | |
15644 be used. @code{R}, @code{S}, and @code{E} differ from the others in | |
15645 that the matches will be done in a case-sensitive manner. All these | |
15646 one-letter types are really just abbreviations for the @code{regexp}, | |
15647 @code{string}, @code{exact}, and @code{word} types, which you can use | |
15648 instead, if you feel like. | |
15649 | |
15650 @item Lines, Chars | |
15651 These two headers use different match types: @code{<}, @code{>}, | |
15652 @code{=}, @code{>=} and @code{<=}. | |
15653 | |
15654 These predicates are true if | |
15655 | |
15656 @example | |
15657 (PREDICATE HEADER MATCH) | |
15658 @end example | |
15659 | |
15660 evaluates to non-@code{nil}. For instance, the advanced match | |
15661 @code{("lines" 4 <)} (@pxref{Advanced Scoring}) will result in the | |
15662 following form: | |
15663 | |
15664 @lisp | |
15665 (< header-value 4) | |
15666 @end lisp | |
15667 | |
15668 Or to put it another way: When using @code{<} on @code{Lines} with 4 as | |
15669 the match, we get the score added if the article has less than 4 lines. | |
15670 (It's easy to get confused and think it's the other way around. But | |
15671 it's not. I think.) | |
15672 | |
15673 When matching on @code{Lines}, be careful because some backends (like | |
15674 @code{nndir}) do not generate @code{Lines} header, so every article ends | |
15675 up being marked as having 0 lines. This can lead to strange results if | |
15676 you happen to lower score of the articles with few lines. | |
15677 | |
15678 @item Date | |
15679 For the Date header we have three kinda silly match types: | |
15680 @code{before}, @code{at} and @code{after}. I can't really imagine this | |
15681 ever being useful, but, like, it would feel kinda silly not to provide | |
15682 this function. Just in case. You never know. Better safe than sorry. | |
15683 Once burnt, twice shy. Don't judge a book by its cover. Never not have | |
15684 sex on a first date. (I have been told that at least one person, and I | |
15685 quote, ``found this function indispensable'', however.) | |
15686 | |
15687 @cindex ISO8601 | |
15688 @cindex date | |
15689 A more useful match type is @code{regexp}. With it, you can match the | |
15690 date string using a regular expression. The date is normalized to | |
15691 ISO8601 compact format first---@var{YYYYMMDD}@code{T}@var{HHMMSS}. If | |
15692 you want to match all articles that have been posted on April 1st in | |
15693 every year, you could use @samp{....0401.........} as a match string, | |
15694 for instance. (Note that the date is kept in its original time zone, so | |
15695 this will match articles that were posted when it was April 1st where | |
15696 the article was posted from. Time zones are such wholesome fun for the | |
15697 whole family, eh?) | |
15698 | |
15699 @item Head, Body, All | |
15700 These three match keys use the same match types as the @code{From} (etc) | |
15701 header uses. | |
15702 | |
15703 @item Followup | |
15704 This match key is somewhat special, in that it will match the | |
15705 @code{From} header, and affect the score of not only the matching | |
15706 articles, but also all followups to the matching articles. This allows | |
15707 you e.g. increase the score of followups to your own articles, or | |
15708 decrease the score of followups to the articles of some known | |
15709 trouble-maker. Uses the same match types as the @code{From} header | |
15710 uses. (Using this match key will lead to creation of @file{ADAPT} | |
15711 files.) | |
15712 | |
15713 @item Thread | |
15714 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
|
15715 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
|
15716 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
|
15717 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
|
15718 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
|
15719 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
|
15720 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
|
15721 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
|
15722 @code{References} headers. Note that using this may lead to |
25829 | 15723 undeterministic scores of the articles in the thread. (Using this match |
15724 key will lead to creation of @file{ADAPT} files.) | |
15725 @end table | |
15726 @end enumerate | |
15727 | |
15728 @cindex Score File Atoms | |
15729 @item mark | |
15730 The value of this entry should be a number. Any articles with a score | |
15731 lower than this number will be marked as read. | |
15732 | |
15733 @item expunge | |
15734 The value of this entry should be a number. Any articles with a score | |
15735 lower than this number will be removed from the summary buffer. | |
15736 | |
15737 @item mark-and-expunge | |
15738 The value of this entry should be a number. Any articles with a score | |
15739 lower than this number will be marked as read and removed from the | |
15740 summary buffer. | |
15741 | |
15742 @item thread-mark-and-expunge | |
15743 The value of this entry should be a number. All articles that belong to | |
15744 a thread that has a total score below this number will be marked as read | |
15745 and removed from the summary buffer. @code{gnus-thread-score-function} | |
15746 says how to compute the total score for a thread. | |
15747 | |
15748 @item files | |
15749 The value of this entry should be any number of file names. These files | |
15750 are assumed to be score files as well, and will be loaded the same way | |
15751 this one was. | |
15752 | |
15753 @item exclude-files | |
15754 The clue of this entry should be any number of files. These files will | |
15755 not be loaded, even though they would normally be so, for some reason or | |
15756 other. | |
15757 | |
15758 @item eval | |
15759 The value of this entry will be @code{eval}el. This element will be | |
15760 ignored when handling global score files. | |
15761 | |
15762 @item read-only | |
15763 Read-only score files will not be updated or saved. Global score files | |
15764 should feature this atom (@pxref{Global Score Files}). (Note: | |
15765 @dfn{Global} here really means @dfn{global}; not your personal | |
15766 apply-to-all-groups score files.) | |
15767 | |
15768 @item orphan | |
15769 The value of this entry should be a number. Articles that do not have | |
15770 parents will get this number added to their scores. Imagine you follow | |
15771 some high-volume newsgroup, like @samp{comp.lang.c}. Most likely you | |
15772 will only follow a few of the threads, also want to see any new threads. | |
15773 | |
15774 You can do this with the following two score file entries: | |
15775 | |
15776 @example | |
15777 (orphan -500) | |
15778 (mark-and-expunge -100) | |
15779 @end example | |
15780 | |
15781 When you enter the group the first time, you will only see the new | |
15782 threads. You then raise the score of the threads that you find | |
15783 interesting (with @kbd{I T} or @kbd{I S}), and ignore (@kbd{C y}) the | |
15784 rest. Next time you enter the group, you will see new articles in the | |
15785 interesting threads, plus any new threads. | |
15786 | |
15787 I.e.---the orphan score atom is for high-volume groups where there | |
15788 exist a few interesting threads which can't be found automatically by | |
15789 ordinary scoring rules. | |
15790 | |
15791 @item adapt | |
15792 This entry controls the adaptive scoring. If it is @code{t}, the | |
15793 default adaptive scoring rules will be used. If it is @code{ignore}, no | |
15794 adaptive scoring will be performed on this group. If it is a list, this | |
15795 list will be used as the adaptive scoring rules. If it isn't present, | |
15796 or is something other than @code{t} or @code{ignore}, the default | |
15797 adaptive scoring rules will be used. If you want to use adaptive | |
15798 scoring on most groups, you'd set @code{gnus-use-adaptive-scoring} to | |
15799 @code{t}, and insert an @code{(adapt ignore)} in the groups where you do | |
15800 not want adaptive scoring. If you only want adaptive scoring in a few | |
15801 groups, you'd set @code{gnus-use-adaptive-scoring} to @code{nil}, and | |
15802 insert @code{(adapt t)} in the score files of the groups where you want | |
15803 it. | |
15804 | |
15805 @item adapt-file | |
15806 All adaptive score entries will go to the file named by this entry. It | |
15807 will also be applied when entering the group. This atom might be handy | |
15808 if you want to adapt on several groups at once, using the same adaptive | |
15809 file for a number of groups. | |
15810 | |
15811 @item local | |
15812 @cindex local variables | |
15813 The value of this entry should be a list of @code{(VAR VALUE)} pairs. | |
15814 Each @var{var} will be made buffer-local to the current summary buffer, | |
15815 and set to the value specified. This is a convenient, if somewhat | |
15816 strange, way of setting variables in some groups if you don't like hooks | |
15817 much. Note that the @var{value} won't be evaluated. | |
15818 @end table | |
15819 | |
15820 | |
15821 @node Score File Editing | |
15822 @section Score File Editing | |
15823 | |
15824 You normally enter all scoring commands from the summary buffer, but you | |
15825 might feel the urge to edit them by hand as well, so we've supplied you | |
15826 with a mode for that. | |
15827 | |
15828 It's simply a slightly customized @code{emacs-lisp} mode, with these | |
15829 additional commands: | |
15830 | |
15831 @table @kbd | |
15832 | |
15833 @item C-c C-c | |
15834 @kindex C-c C-c (Score) | |
15835 @findex gnus-score-edit-done | |
15836 Save the changes you have made and return to the summary buffer | |
15837 (@code{gnus-score-edit-done}). | |
15838 | |
15839 @item C-c C-d | |
15840 @kindex C-c C-d (Score) | |
15841 @findex gnus-score-edit-insert-date | |
15842 Insert the current date in numerical format | |
15843 (@code{gnus-score-edit-insert-date}). This is really the day number, if | |
15844 you were wondering. | |
15845 | |
15846 @item C-c C-p | |
15847 @kindex C-c C-p (Score) | |
15848 @findex gnus-score-pretty-print | |
15849 The adaptive score files are saved in an unformatted fashion. If you | |
15850 intend to read one of these files, you want to @dfn{pretty print} it | |
15851 first. This command (@code{gnus-score-pretty-print}) does that for | |
15852 you. | |
15853 | |
15854 @end table | |
15855 | |
15856 Type @kbd{M-x gnus-score-mode} to use this mode. | |
15857 | |
15858 @vindex gnus-score-mode-hook | |
15859 @code{gnus-score-menu-hook} is run in score mode buffers. | |
15860 | |
15861 In the summary buffer you can use commands like @kbd{V f} and @kbd{V | |
15862 e} to begin editing score files. | |
15863 | |
15864 | |
15865 @node Adaptive Scoring | |
15866 @section Adaptive Scoring | |
15867 @cindex adaptive scoring | |
15868 | |
15869 If all this scoring is getting you down, Gnus has a way of making it all | |
15870 happen automatically---as if by magic. Or rather, as if by artificial | |
15871 stupidity, to be precise. | |
15872 | |
15873 @vindex gnus-use-adaptive-scoring | |
15874 When you read an article, or mark an article as read, or kill an | |
15875 article, you leave marks behind. On exit from the group, Gnus can sniff | |
15876 these marks and add score elements depending on what marks it finds. | |
15877 You turn on this ability by setting @code{gnus-use-adaptive-scoring} to | |
15878 @code{t} or @code{(line)}. If you want score adaptively on separate | |
15879 words appearing in the subjects, you should set this variable to | |
15880 @code{(word)}. If you want to use both adaptive methods, set this | |
15881 variable to @code{(word line)}. | |
15882 | |
15883 @vindex gnus-default-adaptive-score-alist | |
15884 To give you complete control over the scoring process, you can customize | |
15885 the @code{gnus-default-adaptive-score-alist} variable. For instance, it | |
15886 might look something like this: | |
15887 | |
15888 @lisp | |
15889 (defvar gnus-default-adaptive-score-alist | |
15890 '((gnus-unread-mark) | |
15891 (gnus-ticked-mark (from 4)) | |
15892 (gnus-dormant-mark (from 5)) | |
15893 (gnus-del-mark (from -4) (subject -1)) | |
15894 (gnus-read-mark (from 4) (subject 2)) | |
15895 (gnus-expirable-mark (from -1) (subject -1)) | |
15896 (gnus-killed-mark (from -1) (subject -3)) | |
15897 (gnus-kill-file-mark) | |
15898 (gnus-ancient-mark) | |
15899 (gnus-low-score-mark) | |
15900 (gnus-catchup-mark (from -1) (subject -1)))) | |
15901 @end lisp | |
15902 | |
15903 As you see, each element in this alist has a mark as a key (either a | |
15904 variable name or a ``real'' mark---a character). Following this key is | |
15905 a arbitrary number of header/score pairs. If there are no header/score | |
15906 pairs following the key, no adaptive scoring will be done on articles | |
15907 that have that key as the article mark. For instance, articles with | |
15908 @code{gnus-unread-mark} in the example above will not get adaptive score | |
15909 entries. | |
15910 | |
15911 Each article can have only one mark, so just a single of these rules | |
15912 will be applied to each article. | |
15913 | |
15914 To take @code{gnus-del-mark} as an example---this alist says that all | |
15915 articles that have that mark (i.e., are marked with @samp{D}) will have a | |
15916 score entry added to lower based on the @code{From} header by -4, and | |
15917 lowered by @code{Subject} by -1. Change this to fit your prejudices. | |
15918 | |
15919 If you have marked 10 articles with the same subject with | |
15920 @code{gnus-del-mark}, the rule for that mark will be applied ten times. | |
15921 That means that that subject will get a score of ten times -1, which | |
15922 should be, unless I'm much mistaken, -10. | |
15923 | |
15924 If you have auto-expirable (mail) groups (@pxref{Expiring Mail}), all | |
15925 the read articles will be marked with the @samp{E} mark. This'll | |
15926 probably make adaptive scoring slightly impossible, so auto-expiring and | |
15927 adaptive scoring doesn't really mix very well. | |
15928 | |
15929 The headers you can score on are @code{from}, @code{subject}, | |
15930 @code{message-id}, @code{references}, @code{xref}, @code{lines}, | |
15931 @code{chars} and @code{date}. In addition, you can score on | |
15932 @code{followup}, which will create an adaptive score entry that matches | |
15933 on the @code{References} header using the @code{Message-ID} of the | |
15934 current article, thereby matching the following thread. | |
15935 | |
15936 You can also score on @code{thread}, which will try to score all | |
15937 articles that appear in a thread. @code{thread} matches uses a | |
15938 @code{Message-ID} to match on the @code{References} header of the | |
15939 article. If the match is made, the @code{Message-ID} of the article is | |
15940 added to the @code{thread} rule. (Think about it. I'd recommend two | |
15941 aspirins afterwards.) | |
15942 | |
15943 If you use this scheme, you should set the score file atom @code{mark} | |
15944 to something small---like -300, perhaps, to avoid having small random | |
15945 changes result in articles getting marked as read. | |
15946 | |
15947 After using adaptive scoring for a week or so, Gnus should start to | |
15948 become properly trained and enhance the authors you like best, and kill | |
15949 the authors you like least, without you having to say so explicitly. | |
15950 | |
15951 You can control what groups the adaptive scoring is to be performed on | |
15952 by using the score files (@pxref{Score File Format}). This will also | |
15953 let you use different rules in different groups. | |
15954 | |
15955 @vindex gnus-adaptive-file-suffix | |
15956 The adaptive score entries will be put into a file where the name is the | |
15957 group name with @code{gnus-adaptive-file-suffix} appended. The default | |
15958 is @samp{ADAPT}. | |
15959 | |
15960 @vindex gnus-score-exact-adapt-limit | |
15961 When doing adaptive scoring, substring or fuzzy matching would probably | |
15962 give you the best results in most cases. However, if the header one | |
15963 matches is short, the possibility for false positives is great, so if | |
15964 the length of the match is less than | |
15965 @code{gnus-score-exact-adapt-limit}, exact matching will be used. If | |
15966 this variable is @code{nil}, exact matching will always be used to avoid | |
15967 this problem. | |
15968 | |
15969 @vindex gnus-default-adaptive-word-score-alist | |
15970 As mentioned above, you can adapt either on individual words or entire | |
15971 headers. If you adapt on words, the | |
15972 @code{gnus-default-adaptive-word-score-alist} variable says what score | |
15973 each instance of a word should add given a mark. | |
15974 | |
15975 @lisp | |
15976 (setq gnus-default-adaptive-word-score-alist | |
15977 `((,gnus-read-mark . 30) | |
15978 (,gnus-catchup-mark . -10) | |
15979 (,gnus-killed-mark . -20) | |
15980 (,gnus-del-mark . -15))) | |
15981 @end lisp | |
15982 | |
15983 This is the default value. If you have adaption on words enabled, every | |
15984 word that appears in subjects of articles marked with | |
15985 @code{gnus-read-mark} will result in a score rule that increase the | |
15986 score with 30 points. | |
15987 | |
15988 @vindex gnus-default-ignored-adaptive-words | |
15989 @vindex gnus-ignored-adaptive-words | |
15990 Words that appear in the @code{gnus-default-ignored-adaptive-words} list | |
15991 will be ignored. If you wish to add more words to be ignored, use the | |
15992 @code{gnus-ignored-adaptive-words} list instead. | |
15993 | |
15994 @vindex gnus-adaptive-word-syntax-table | |
15995 When the scoring is done, @code{gnus-adaptive-word-syntax-table} is the | |
15996 syntax table in effect. It is similar to the standard syntax table, but | |
15997 it considers numbers to be non-word-constituent characters. | |
15998 | |
15999 @vindex gnus-adaptive-word-minimum | |
16000 If @code{gnus-adaptive-word-minimum} is set to a number, the adaptive | |
16001 word scoring process will never bring down the score of an article to | |
16002 below this number. The default is @code{nil}. | |
16003 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16004 @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
|
16005 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
|
16006 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
|
16007 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
|
16008 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
|
16009 |
25829 | 16010 After using this scheme for a while, it might be nice to write a |
16011 @code{gnus-psychoanalyze-user} command to go through the rules and see | |
16012 what words you like and what words you don't like. Or perhaps not. | |
16013 | |
16014 Note that the adaptive word scoring thing is highly experimental and is | |
16015 likely to change in the future. Initial impressions seem to indicate | |
16016 that it's totally useless as it stands. Some more work (involving more | |
16017 rigorous statistical methods) will have to be done to make this useful. | |
16018 | |
16019 | |
16020 @node Home Score File | |
16021 @section Home Score File | |
16022 | |
16023 The score file where new score file entries will go is called the | |
16024 @dfn{home score file}. This is normally (and by default) the score file | |
16025 for the group itself. For instance, the home score file for | |
16026 @samp{gnu.emacs.gnus} is @file{gnu.emacs.gnus.SCORE}. | |
16027 | |
16028 However, this may not be what you want. It is often convenient to share | |
16029 a common home score file among many groups---all @samp{emacs} groups | |
16030 could perhaps use the same home score file. | |
16031 | |
16032 @vindex gnus-home-score-file | |
16033 The variable that controls this is @code{gnus-home-score-file}. It can | |
16034 be: | |
16035 | |
16036 @enumerate | |
16037 @item | |
16038 A string. Then this file will be used as the home score file for all | |
16039 groups. | |
16040 | |
16041 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16042 A function. The result of this function will be used as the home score |
25829 | 16043 file. The function will be called with the name of the group as the |
16044 parameter. | |
16045 | |
16046 @item | |
16047 A list. The elements in this list can be: | |
16048 | |
16049 @enumerate | |
16050 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16051 @code{(@var{regexp} @var{file-name})}. If the @var{regexp} matches the |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16052 group name, the @var{file-name} will will be used as the home score file. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16053 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16054 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16055 A function. If the function returns non-nil, the result will be used as |
25829 | 16056 the home score file. |
16057 | |
16058 @item | |
16059 A string. Use the string as the home score file. | |
16060 @end enumerate | |
16061 | |
16062 The list will be traversed from the beginning towards the end looking | |
16063 for matches. | |
16064 | |
16065 @end enumerate | |
16066 | |
16067 So, if you want to use just a single score file, you could say: | |
16068 | |
16069 @lisp | |
16070 (setq gnus-home-score-file | |
16071 "my-total-score-file.SCORE") | |
16072 @end lisp | |
16073 | |
16074 If you want to use @file{gnu.SCORE} for all @samp{gnu} groups and | |
16075 @file{rec.SCORE} for all @samp{rec} groups (and so on), you can say: | |
16076 | |
16077 @findex gnus-hierarchial-home-score-file | |
16078 @lisp | |
16079 (setq gnus-home-score-file | |
16080 'gnus-hierarchial-home-score-file) | |
16081 @end lisp | |
16082 | |
16083 This is a ready-made function provided for your convenience. | |
16084 Other functions include | |
16085 | |
16086 @table @code | |
16087 @item gnus-current-home-score-file | |
16088 @findex gnus-current-home-score-file | |
16089 Return the ``current'' regular score file. This will make scoring | |
16090 commands add entry to the ``innermost'' matching score file. | |
16091 | |
16092 @end table | |
16093 | |
16094 If you want to have one score file for the @samp{emacs} groups and | |
16095 another for the @samp{comp} groups, while letting all other groups use | |
16096 their own home score files: | |
16097 | |
16098 @lisp | |
16099 (setq gnus-home-score-file | |
16100 ;; All groups that match the regexp "\\.emacs" | |
16101 '(("\\.emacs" "emacs.SCORE") | |
16102 ;; All the comp groups in one score file | |
16103 ("^comp" "comp.SCORE"))) | |
16104 @end lisp | |
16105 | |
16106 @vindex gnus-home-adapt-file | |
16107 @code{gnus-home-adapt-file} works exactly the same way as | |
16108 @code{gnus-home-score-file}, but says what the home adaptive score file | |
16109 is instead. All new adaptive file entries will go into the file | |
16110 specified by this variable, and the same syntax is allowed. | |
16111 | |
16112 In addition to using @code{gnus-home-score-file} and | |
16113 @code{gnus-home-adapt-file}, you can also use group parameters | |
16114 (@pxref{Group Parameters}) and topic parameters (@pxref{Topic | |
16115 Parameters}) to achieve much the same. Group and topic parameters take | |
16116 precedence over this variable. | |
16117 | |
16118 | |
16119 @node Followups To Yourself | |
16120 @section Followups To Yourself | |
16121 | |
16122 Gnus offers two commands for picking out the @code{Message-ID} header in | |
16123 the current buffer. Gnus will then add a score rule that scores using | |
16124 this @code{Message-ID} on the @code{References} header of other | |
16125 articles. This will, in effect, increase the score of all articles that | |
16126 respond to the article in the current buffer. Quite useful if you want | |
16127 to easily note when people answer what you've said. | |
16128 | |
16129 @table @code | |
16130 | |
16131 @item gnus-score-followup-article | |
16132 @findex gnus-score-followup-article | |
16133 This will add a score to articles that directly follow up your own | |
16134 article. | |
16135 | |
16136 @item gnus-score-followup-thread | |
16137 @findex gnus-score-followup-thread | |
16138 This will add a score to all articles that appear in a thread ``below'' | |
16139 your own article. | |
16140 @end table | |
16141 | |
16142 @vindex message-sent-hook | |
16143 These two functions are both primarily meant to be used in hooks like | |
16144 @code{message-sent-hook}. | |
16145 | |
16146 If you look closely at your own @code{Message-ID}, you'll notice that | |
16147 the first two or three characters are always the same. Here's two of | |
16148 mine: | |
16149 | |
16150 @example | |
16151 <x6u3u47icf.fsf@@eyesore.no> | |
16152 <x6sp9o7ibw.fsf@@eyesore.no> | |
16153 @end example | |
16154 | |
16155 So ``my'' ident on this machine is @samp{x6}. This can be | |
16156 exploited---the following rule will raise the score on all followups to | |
16157 myself: | |
16158 | |
16159 @lisp | |
16160 ("references" | |
16161 ("<x6[0-9a-z]+\\.fsf\\(_-_\\)?@@.*eyesore.no>" | |
16162 1000 nil r)) | |
16163 @end lisp | |
16164 | |
16165 Whether it's the first two or first three characters that are ``yours'' | |
16166 is system-dependent. | |
16167 | |
16168 | |
16169 @node Scoring Tips | |
16170 @section Scoring Tips | |
16171 @cindex scoring tips | |
16172 | |
16173 @table @dfn | |
16174 | |
16175 @item Crossposts | |
16176 @cindex crossposts | |
16177 @cindex scoring crossposts | |
16178 If you want to lower the score of crossposts, the line to match on is | |
16179 the @code{Xref} header. | |
16180 @lisp | |
16181 ("xref" (" talk.politics.misc:" -1000)) | |
16182 @end lisp | |
16183 | |
16184 @item Multiple crossposts | |
16185 If you want to lower the score of articles that have been crossposted to | |
16186 more than, say, 3 groups: | |
16187 @lisp | |
16188 ("xref" ("[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+" -1000 nil r)) | |
16189 @end lisp | |
16190 | |
16191 @item Matching on the body | |
16192 This is generally not a very good idea---it takes a very long time. | |
16193 Gnus actually has to fetch each individual article from the server. But | |
16194 you might want to anyway, I guess. Even though there are three match | |
16195 keys (@code{Head}, @code{Body} and @code{All}), you should choose one | |
16196 and stick with it in each score file. If you use any two, each article | |
16197 will be fetched @emph{twice}. If you want to match a bit on the | |
16198 @code{Head} and a bit on the @code{Body}, just use @code{All} for all | |
16199 the matches. | |
16200 | |
16201 @item Marking as read | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16202 You will probably want to mark articles that have scores below a certain |
25829 | 16203 number as read. This is most easily achieved by putting the following |
16204 in your @file{all.SCORE} file: | |
16205 @lisp | |
16206 ((mark -100)) | |
16207 @end lisp | |
16208 You may also consider doing something similar with @code{expunge}. | |
16209 | |
16210 @item Negated character classes | |
16211 If you say stuff like @code{[^abcd]*}, you may get unexpected results. | |
16212 That will match newlines, which might lead to, well, The Unknown. Say | |
16213 @code{[^abcd\n]*} instead. | |
16214 @end table | |
16215 | |
16216 | |
16217 @node Reverse Scoring | |
16218 @section Reverse Scoring | |
16219 @cindex reverse scoring | |
16220 | |
16221 If you want to keep just articles that have @samp{Sex with Emacs} in the | |
16222 subject header, and expunge all other articles, you could put something | |
16223 like this in your score file: | |
16224 | |
16225 @lisp | |
16226 (("subject" | |
16227 ("Sex with Emacs" 2)) | |
16228 (mark 1) | |
16229 (expunge 1)) | |
16230 @end lisp | |
16231 | |
16232 So, you raise all articles that match @samp{Sex with Emacs} and mark the | |
16233 rest as read, and expunge them to boot. | |
16234 | |
16235 | |
16236 @node Global Score Files | |
16237 @section Global Score Files | |
16238 @cindex global score files | |
16239 | |
16240 Sure, other newsreaders have ``global kill files''. These are usually | |
16241 nothing more than a single kill file that applies to all groups, stored | |
16242 in the user's home directory. Bah! Puny, weak newsreaders! | |
16243 | |
16244 What I'm talking about here are Global Score Files. Score files from | |
16245 all over the world, from users everywhere, uniting all nations in one | |
16246 big, happy score file union! Ange-score! New and untested! | |
16247 | |
16248 @vindex gnus-global-score-files | |
16249 All you have to do to use other people's score files is to set the | |
16250 @code{gnus-global-score-files} variable. One entry for each score file, | |
16251 or each score file directory. Gnus will decide by itself what score | |
16252 files are applicable to which group. | |
16253 | |
16254 Say you want to use the score file | |
16255 @file{/ftp@@ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE} and | |
16256 all score files in the @file{/ftp@@ftp.some-where:/pub/score} directory: | |
16257 | |
16258 @lisp | |
16259 (setq gnus-global-score-files | |
16260 '("/ftp@@ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE" | |
16261 "/ftp@@ftp.some-where:/pub/score/")) | |
16262 @end lisp | |
16263 | |
16264 @findex gnus-score-search-global-directories | |
16265 Simple, eh? Directory names must end with a @samp{/}. These | |
16266 directories are typically scanned only once during each Gnus session. | |
16267 If you feel the need to manually re-scan the remote directories, you can | |
16268 use the @code{gnus-score-search-global-directories} command. | |
16269 | |
16270 Note that, at present, using this option will slow down group entry | |
16271 somewhat. (That is---a lot.) | |
16272 | |
16273 If you want to start maintaining score files for other people to use, | |
16274 just put your score file up for anonymous ftp and announce it to the | |
16275 world. Become a retro-moderator! Participate in the retro-moderator | |
16276 wars sure to ensue, where retro-moderators battle it out for the | |
16277 sympathy of the people, luring them to use their score files on false | |
16278 premises! Yay! The net is saved! | |
16279 | |
16280 Here are some tips for the would-be retro-moderator, off the top of my | |
16281 head: | |
16282 | |
16283 @itemize @bullet | |
16284 | |
16285 @item | |
16286 Articles heavily crossposted are probably junk. | |
16287 @item | |
16288 To lower a single inappropriate article, lower by @code{Message-ID}. | |
16289 @item | |
16290 Particularly brilliant authors can be raised on a permanent basis. | |
16291 @item | |
16292 Authors that repeatedly post off-charter for the group can safely be | |
16293 lowered out of existence. | |
16294 @item | |
16295 Set the @code{mark} and @code{expunge} atoms to obliterate the nastiest | |
16296 articles completely. | |
16297 | |
16298 @item | |
16299 Use expiring score entries to keep the size of the file down. You | |
16300 should probably have a long expiry period, though, as some sites keep | |
16301 old articles for a long time. | |
16302 @end itemize | |
16303 | |
16304 ... I wonder whether other newsreaders will support global score files | |
16305 in the future. @emph{Snicker}. Yup, any day now, newsreaders like Blue | |
16306 Wave, xrn and 1stReader are bound to implement scoring. Should we start | |
16307 holding our breath yet? | |
16308 | |
16309 | |
16310 @node Kill Files | |
16311 @section Kill Files | |
16312 @cindex kill files | |
16313 | |
16314 Gnus still supports those pesky old kill files. In fact, the kill file | |
16315 entries can now be expiring, which is something I wrote before Daniel | |
16316 Quinlan thought of doing score files, so I've left the code in there. | |
16317 | |
16318 In short, kill processing is a lot slower (and I do mean @emph{a lot}) | |
16319 than score processing, so it might be a good idea to rewrite your kill | |
16320 files into score files. | |
16321 | |
16322 Anyway, a kill file is a normal @code{emacs-lisp} file. You can put any | |
16323 forms into this file, which means that you can use kill files as some | |
16324 sort of primitive hook function to be run on group entry, even though | |
16325 that isn't a very good idea. | |
16326 | |
16327 Normal kill files look like this: | |
16328 | |
16329 @lisp | |
16330 (gnus-kill "From" "Lars Ingebrigtsen") | |
16331 (gnus-kill "Subject" "ding") | |
16332 (gnus-expunge "X") | |
16333 @end lisp | |
16334 | |
16335 This will mark every article written by me as read, and remove the | |
16336 marked articles from the summary buffer. Very useful, you'll agree. | |
16337 | |
16338 Other programs use a totally different kill file syntax. If Gnus | |
16339 encounters what looks like a @code{rn} kill file, it will take a stab at | |
16340 interpreting it. | |
16341 | |
16342 Two summary functions for editing a GNUS kill file: | |
16343 | |
16344 @table @kbd | |
16345 | |
16346 @item M-k | |
16347 @kindex M-k (Summary) | |
16348 @findex gnus-summary-edit-local-kill | |
16349 Edit this group's kill file (@code{gnus-summary-edit-local-kill}). | |
16350 | |
16351 @item M-K | |
16352 @kindex M-K (Summary) | |
16353 @findex gnus-summary-edit-global-kill | |
16354 Edit the general kill file (@code{gnus-summary-edit-global-kill}). | |
16355 @end table | |
16356 | |
16357 Two group mode functions for editing the kill files: | |
16358 | |
16359 @table @kbd | |
16360 | |
16361 @item M-k | |
16362 @kindex M-k (Group) | |
16363 @findex gnus-group-edit-local-kill | |
16364 Edit this group's kill file (@code{gnus-group-edit-local-kill}). | |
16365 | |
16366 @item M-K | |
16367 @kindex M-K (Group) | |
16368 @findex gnus-group-edit-global-kill | |
16369 Edit the general kill file (@code{gnus-group-edit-global-kill}). | |
16370 @end table | |
16371 | |
16372 Kill file variables: | |
16373 | |
16374 @table @code | |
16375 @item gnus-kill-file-name | |
16376 @vindex gnus-kill-file-name | |
16377 A kill file for the group @samp{soc.motss} is normally called | |
16378 @file{soc.motss.KILL}. The suffix appended to the group name to get | |
16379 this file name is detailed by the @code{gnus-kill-file-name} variable. | |
16380 The ``global'' kill file (not in the score file sense of ``global'', of | |
16381 course) is just called @file{KILL}. | |
16382 | |
16383 @vindex gnus-kill-save-kill-file | |
16384 @item gnus-kill-save-kill-file | |
16385 If this variable is non-@code{nil}, Gnus will save the | |
16386 kill file after processing, which is necessary if you use expiring | |
16387 kills. | |
16388 | |
16389 @item gnus-apply-kill-hook | |
16390 @vindex gnus-apply-kill-hook | |
16391 @findex gnus-apply-kill-file-unless-scored | |
16392 @findex gnus-apply-kill-file | |
16393 A hook called to apply kill files to a group. It is | |
16394 @code{(gnus-apply-kill-file)} by default. If you want to ignore the | |
16395 kill file if you have a score file for the same group, you can set this | |
16396 hook to @code{(gnus-apply-kill-file-unless-scored)}. If you don't want | |
16397 kill files to be processed, you should set this variable to @code{nil}. | |
16398 | |
16399 @item gnus-kill-file-mode-hook | |
16400 @vindex gnus-kill-file-mode-hook | |
16401 A hook called in kill-file mode buffers. | |
16402 | |
16403 @end table | |
16404 | |
16405 | |
16406 @node Converting Kill Files | |
16407 @section Converting Kill Files | |
16408 @cindex kill files | |
16409 @cindex converting kill files | |
16410 | |
16411 If you have loads of old kill files, you may want to convert them into | |
16412 score files. If they are ``regular'', you can use | |
16413 the @file{gnus-kill-to-score.el} package; if not, you'll have to do it | |
16414 by hand. | |
16415 | |
16416 The kill to score conversion package isn't included in Gnus by default. | |
16417 You can fetch it from | |
33292 | 16418 @uref{http://www.stud.ifi.uio.no/~larsi/ding-various/gnus-kill-to-score.el}. |
25829 | 16419 |
16420 If your old kill files are very complex---if they contain more | |
16421 non-@code{gnus-kill} forms than not, you'll have to convert them by | |
16422 hand. Or just let them be as they are. Gnus will still use them as | |
16423 before. | |
16424 | |
16425 | |
16426 @node GroupLens | |
16427 @section GroupLens | |
16428 @cindex GroupLens | |
16429 | |
16430 GroupLens is a collaborative filtering system that helps you work | |
16431 together with other people to find the quality news articles out of the | |
16432 huge volume of news articles generated every day. | |
16433 | |
16434 To accomplish this the GroupLens system combines your opinions about | |
16435 articles you have already read with the opinions of others who have done | |
16436 likewise and gives you a personalized prediction for each unread news | |
16437 article. Think of GroupLens as a matchmaker. GroupLens watches how you | |
16438 rate articles, and finds other people that rate articles the same way. | |
16439 Once it has found some people you agree with it tells you, in the form | |
16440 of a prediction, what they thought of the article. You can use this | |
16441 prediction to help you decide whether or not you want to read the | |
16442 article. | |
16443 | |
16444 @menu | |
16445 * Using GroupLens:: How to make Gnus use GroupLens. | |
16446 * Rating Articles:: Letting GroupLens know how you rate articles. | |
16447 * Displaying Predictions:: Displaying predictions given by GroupLens. | |
16448 * GroupLens Variables:: Customizing GroupLens. | |
16449 @end menu | |
16450 | |
16451 | |
16452 @node Using GroupLens | |
16453 @subsection Using GroupLens | |
16454 | |
16455 To use GroupLens you must register a pseudonym with your local Better | |
16456 Bit Bureau (BBB). | |
33292 | 16457 @uref{http://www.cs.umn.edu/Research/GroupLens/bbb.html} is the only |
25829 | 16458 better bit in town at the moment. |
16459 | |
16460 Once you have registered you'll need to set a couple of variables. | |
16461 | |
16462 @table @code | |
16463 | |
16464 @item gnus-use-grouplens | |
16465 @vindex gnus-use-grouplens | |
16466 Setting this variable to a non-@code{nil} value will make Gnus hook into | |
16467 all the relevant GroupLens functions. | |
16468 | |
16469 @item grouplens-pseudonym | |
16470 @vindex grouplens-pseudonym | |
16471 This variable should be set to the pseudonym you got when registering | |
16472 with the Better Bit Bureau. | |
16473 | |
16474 @item grouplens-newsgroups | |
16475 @vindex grouplens-newsgroups | |
16476 A list of groups that you want to get GroupLens predictions for. | |
16477 | |
16478 @end table | |
16479 | |
16480 That's the minimum of what you need to get up and running with GroupLens. | |
16481 Once you've registered, GroupLens will start giving you scores for | |
16482 articles based on the average of what other people think. But, to get | |
16483 the real benefit of GroupLens you need to start rating articles | |
16484 yourself. Then the scores GroupLens gives you will be personalized for | |
16485 you, based on how the people you usually agree with have already rated. | |
16486 | |
16487 | |
16488 @node Rating Articles | |
16489 @subsection Rating Articles | |
16490 | |
16491 In GroupLens, an article is rated on a scale from 1 to 5, inclusive. | |
16492 Where 1 means something like this article is a waste of bandwidth and 5 | |
16493 means that the article was really good. The basic question to ask | |
16494 yourself is, "on a scale from 1 to 5 would I like to see more articles | |
16495 like this one?" | |
16496 | |
16497 There are four ways to enter a rating for an article in GroupLens. | |
16498 | |
16499 @table @kbd | |
16500 | |
16501 @item r | |
16502 @kindex r (GroupLens) | |
16503 @findex bbb-summary-rate-article | |
16504 This function will prompt you for a rating on a scale of one to five. | |
16505 | |
16506 @item k | |
16507 @kindex k (GroupLens) | |
16508 @findex grouplens-score-thread | |
16509 This function will prompt you for a rating, and rate all the articles in | |
16510 the thread. This is really useful for some of those long running giant | |
16511 threads in rec.humor. | |
16512 | |
16513 @end table | |
16514 | |
16515 The next two commands, @kbd{n} and @kbd{,} take a numerical prefix to be | |
16516 the score of the article you're reading. | |
16517 | |
16518 @table @kbd | |
16519 | |
16520 @item 1-5 n | |
16521 @kindex n (GroupLens) | |
16522 @findex grouplens-next-unread-article | |
16523 Rate the article and go to the next unread article. | |
16524 | |
16525 @item 1-5 , | |
16526 @kindex , (GroupLens) | |
16527 @findex grouplens-best-unread-article | |
16528 Rate the article and go to the next unread article with the highest score. | |
16529 | |
16530 @end table | |
16531 | |
16532 If you want to give the current article a score of 4 and then go to the | |
16533 next article, just type @kbd{4 n}. | |
16534 | |
16535 | |
16536 @node Displaying Predictions | |
16537 @subsection Displaying Predictions | |
16538 | |
16539 GroupLens makes a prediction for you about how much you will like a | |
16540 news article. The predictions from GroupLens are on a scale from 1 to | |
16541 5, where 1 is the worst and 5 is the best. You can use the predictions | |
16542 from GroupLens in one of three ways controlled by the variable | |
16543 @code{gnus-grouplens-override-scoring}. | |
16544 | |
16545 @vindex gnus-grouplens-override-scoring | |
16546 There are three ways to display predictions in grouplens. You may | |
16547 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
|
16548 regular gnus scoring mechanism. override is the default; however, some |
25829 | 16549 people prefer to see the Gnus scores plus the grouplens scores. To get |
16550 the separate scoring behavior you need to set | |
16551 @code{gnus-grouplens-override-scoring} to @code{'separate}. To have the | |
16552 GroupLens predictions combined with the grouplens scores set it to | |
16553 @code{'override} and to combine the scores set | |
16554 @code{gnus-grouplens-override-scoring} to @code{'combine}. When you use | |
16555 the combine option you will also want to set the values for | |
16556 @code{grouplens-prediction-offset} and | |
16557 @code{grouplens-score-scale-factor}. | |
16558 | |
16559 @vindex grouplens-prediction-display | |
16560 In either case, GroupLens gives you a few choices for how you would like | |
16561 to see your predictions displayed. The display of predictions is | |
16562 controlled by the @code{grouplens-prediction-display} variable. | |
16563 | |
16564 The following are valid values for that variable. | |
16565 | |
16566 @table @code | |
16567 @item prediction-spot | |
16568 The higher the prediction, the further to the right an @samp{*} is | |
16569 displayed. | |
16570 | |
16571 @item confidence-interval | |
16572 A numeric confidence interval. | |
16573 | |
16574 @item prediction-bar | |
16575 The higher the prediction, the longer the bar. | |
16576 | |
16577 @item confidence-bar | |
16578 Numerical confidence. | |
16579 | |
16580 @item confidence-spot | |
16581 The spot gets bigger with more confidence. | |
16582 | |
16583 @item prediction-num | |
16584 Plain-old numeric value. | |
16585 | |
16586 @item confidence-plus-minus | |
16587 Prediction +/- confidence. | |
16588 | |
16589 @end table | |
16590 | |
16591 | |
16592 @node GroupLens Variables | |
16593 @subsection GroupLens Variables | |
16594 | |
16595 @table @code | |
16596 | |
16597 @item gnus-summary-grouplens-line-format | |
16598 The summary line format used in GroupLens-enhanced summary buffers. It | |
16599 accepts the same specs as the normal summary line format (@pxref{Summary | |
16600 Buffer Lines}). The default is @samp{%U%R%z%l%I%(%[%4L: %-20,20n%]%) | |
16601 %s\n}. | |
16602 | |
16603 @item grouplens-bbb-host | |
16604 Host running the bbbd server. @samp{grouplens.cs.umn.edu} is the | |
16605 default. | |
16606 | |
16607 @item grouplens-bbb-port | |
16608 Port of the host running the bbbd server. The default is 9000. | |
16609 | |
16610 @item grouplens-score-offset | |
16611 Offset the prediction by this value. In other words, subtract the | |
16612 prediction value by this number to arrive at the effective score. The | |
16613 default is 0. | |
16614 | |
16615 @item grouplens-score-scale-factor | |
16616 This variable allows the user to magnify the effect of GroupLens scores. | |
16617 The scale factor is applied after the offset. The default is 1. | |
16618 | |
16619 @end table | |
16620 | |
16621 | |
16622 @node Advanced Scoring | |
16623 @section Advanced Scoring | |
16624 | |
16625 Scoring on Subjects and From headers is nice enough, but what if you're | |
16626 really interested in what a person has to say only when she's talking | |
16627 about a particular subject? Or what if you really don't want to | |
16628 read what person A has to say when she's following up to person B, but | |
16629 want to read what she says when she's following up to person C? | |
16630 | |
16631 By using advanced scoring rules you may create arbitrarily complex | |
16632 scoring patterns. | |
16633 | |
16634 @menu | |
16635 * Advanced Scoring Syntax:: A definition. | |
16636 * Advanced Scoring Examples:: What they look like. | |
16637 * Advanced Scoring Tips:: Getting the most out of it. | |
16638 @end menu | |
16639 | |
16640 | |
16641 @node Advanced Scoring Syntax | |
16642 @subsection Advanced Scoring Syntax | |
16643 | |
16644 Ordinary scoring rules have a string as the first element in the rule. | |
16645 Advanced scoring rules have a list as the first element. The second | |
16646 element is the score to be applied if the first element evaluated to a | |
16647 non-@code{nil} value. | |
16648 | |
16649 These lists may consist of three logical operators, one redirection | |
16650 operator, and various match operators. | |
16651 | |
16652 Logical operators: | |
16653 | |
16654 @table @code | |
16655 @item & | |
16656 @itemx and | |
16657 This logical operator will evaluate each of its arguments until it finds | |
16658 one that evaluates to @code{false}, and then it'll stop. If all arguments | |
16659 evaluate to @code{true} values, then this operator will return | |
16660 @code{true}. | |
16661 | |
16662 @item | | |
16663 @itemx or | |
16664 This logical operator will evaluate each of its arguments until it finds | |
16665 one that evaluates to @code{true}. If no arguments are @code{true}, | |
16666 then this operator will return @code{false}. | |
16667 | |
16668 @item ! | |
16669 @itemx not | |
16670 @itemx ¬ | |
16671 This logical operator only takes a single argument. It returns the | |
16672 logical negation of the value of its argument. | |
16673 | |
16674 @end table | |
16675 | |
16676 There is an @dfn{indirection operator} that will make its arguments | |
16677 apply to the ancestors of the current article being scored. For | |
16678 instance, @code{1-} will make score rules apply to the parent of the | |
16679 current article. @code{2-} will make score rules apply to the | |
16680 grandparent of the current article. Alternatively, you can write | |
16681 @code{^^}, where the number of @code{^}s (carets) says how far back into | |
16682 the ancestry you want to go. | |
16683 | |
16684 Finally, we have the match operators. These are the ones that do the | |
16685 real work. Match operators are header name strings followed by a match | |
16686 and a match type. A typical match operator looks like @samp{("from" | |
16687 "Lars Ingebrigtsen" s)}. The header names are the same as when using | |
16688 simple scoring, and the match types are also the same. | |
16689 | |
16690 | |
16691 @node Advanced Scoring Examples | |
16692 @subsection Advanced Scoring Examples | |
16693 | |
16694 Let's say you want to increase the score of articles written by Lars | |
16695 when he's talking about Gnus: | |
16696 | |
16697 @example | |
16698 ((& | |
16699 ("from" "Lars Ingebrigtsen") | |
16700 ("subject" "Gnus")) | |
16701 1000) | |
16702 @end example | |
16703 | |
16704 Quite simple, huh? | |
16705 | |
16706 When he writes long articles, he sometimes has something nice to say: | |
16707 | |
16708 @example | |
16709 ((& | |
16710 ("from" "Lars Ingebrigtsen") | |
16711 (| | |
16712 ("subject" "Gnus") | |
16713 ("lines" 100 >))) | |
16714 1000) | |
16715 @end example | |
16716 | |
16717 However, when he responds to things written by Reig Eigil Logge, you | |
16718 really don't want to read what he's written: | |
16719 | |
16720 @example | |
16721 ((& | |
16722 ("from" "Lars Ingebrigtsen") | |
16723 (1- ("from" "Reig Eigir Logge"))) | |
16724 -100000) | |
16725 @end example | |
16726 | |
16727 Everybody that follows up Redmondo when he writes about disappearing | |
16728 socks should have their scores raised, but only when they talk about | |
16729 white socks. However, when Lars talks about socks, it's usually not | |
16730 very interesting: | |
16731 | |
16732 @example | |
16733 ((& | |
16734 (1- | |
16735 (& | |
16736 ("from" "redmondo@@.*no" r) | |
16737 ("body" "disappearing.*socks" t))) | |
16738 (! ("from" "Lars Ingebrigtsen")) | |
16739 ("body" "white.*socks")) | |
16740 1000) | |
16741 @end example | |
16742 | |
16743 The possibilities are endless. | |
16744 | |
16745 | |
16746 @node Advanced Scoring Tips | |
16747 @subsection Advanced Scoring Tips | |
16748 | |
16749 The @code{&} and @code{|} logical operators do short-circuit logic. | |
16750 That is, they stop processing their arguments when it's clear what the | |
16751 result of the operation will be. For instance, if one of the arguments | |
16752 of an @code{&} evaluates to @code{false}, there's no point in evaluating | |
16753 the rest of the arguments. This means that you should put slow matches | |
16754 (@samp{body}, @samp{header}) last and quick matches (@samp{from}, | |
16755 @samp{subject}) first. | |
16756 | |
16757 The indirection arguments (@code{1-} and so on) will make their | |
16758 arguments work on previous generations of the thread. If you say | |
16759 something like: | |
16760 | |
16761 @example | |
16762 ... | |
16763 (1- | |
16764 (1- | |
16765 ("from" "lars"))) | |
16766 ... | |
16767 @end example | |
16768 | |
16769 Then that means "score on the from header of the grandparent of the | |
16770 current article". An indirection is quite fast, but it's better to say: | |
16771 | |
16772 @example | |
16773 (1- | |
16774 (& | |
16775 ("from" "Lars") | |
16776 ("subject" "Gnus"))) | |
16777 @end example | |
16778 | |
16779 than it is to say: | |
16780 | |
16781 @example | |
16782 (& | |
16783 (1- ("from" "Lars")) | |
16784 (1- ("subject" "Gnus"))) | |
16785 @end example | |
16786 | |
16787 | |
16788 @node Score Decays | |
16789 @section Score Decays | |
16790 @cindex score decays | |
16791 @cindex decays | |
16792 | |
16793 You may find that your scores have a tendency to grow without | |
16794 bounds, especially if you're using adaptive scoring. If scores get too | |
16795 big, they lose all meaning---they simply max out and it's difficult to | |
16796 use them in any sensible way. | |
16797 | |
16798 @vindex gnus-decay-scores | |
16799 @findex gnus-decay-score | |
16800 @vindex gnus-decay-score-function | |
16801 Gnus provides a mechanism for decaying scores to help with this problem. | |
16802 When score files are loaded and @code{gnus-decay-scores} is | |
16803 non-@code{nil}, Gnus will run the score files through the decaying | |
16804 mechanism thereby lowering the scores of all non-permanent score rules. | |
16805 The decay itself if performed by the @code{gnus-decay-score-function} | |
16806 function, which is @code{gnus-decay-score} by default. Here's the | |
16807 definition of that function: | |
16808 | |
16809 @lisp | |
16810 (defun gnus-decay-score (score) | |
16811 "Decay SCORE. | |
16812 This is done according to `gnus-score-decay-constant' | |
16813 and `gnus-score-decay-scale'." | |
16814 (floor | |
16815 (- score | |
16816 (* (if (< score 0) 1 -1) | |
16817 (min (abs score) | |
16818 (max gnus-score-decay-constant | |
16819 (* (abs score) | |
16820 gnus-score-decay-scale))))))) | |
16821 @end lisp | |
16822 | |
16823 @vindex gnus-score-decay-scale | |
16824 @vindex gnus-score-decay-constant | |
16825 @code{gnus-score-decay-constant} is 3 by default and | |
16826 @code{gnus-score-decay-scale} is 0.05. This should cause the following: | |
16827 | |
16828 @enumerate | |
16829 @item | |
16830 Scores between -3 and 3 will be set to 0 when this function is called. | |
16831 | |
16832 @item | |
16833 Scores with magnitudes between 3 and 60 will be shrunk by 3. | |
16834 | |
16835 @item | |
16836 Scores with magnitudes greater than 60 will be shrunk by 5% of the | |
16837 score. | |
16838 @end enumerate | |
16839 | |
16840 If you don't like this decay function, write your own. It is called | |
16841 with the score to be decayed as its only parameter, and it should return | |
16842 the new score, which should be an integer. | |
16843 | |
16844 Gnus will try to decay scores once a day. If you haven't run Gnus for | |
16845 four days, Gnus will decay the scores four times, for instance. | |
16846 | |
16847 | |
16848 @node Various | |
16849 @chapter Various | |
16850 | |
16851 @menu | |
16852 * Process/Prefix:: A convention used by many treatment commands. | |
16853 * Interactive:: Making Gnus ask you many questions. | |
16854 * Symbolic Prefixes:: How to supply some Gnus functions with options. | |
16855 * Formatting Variables:: You can specify what buffers should look like. | |
16856 * Windows Configuration:: Configuring the Gnus buffer windows. | |
16857 * Faces and Fonts:: How to change how faces look. | |
16858 * Compilation:: How to speed Gnus up. | |
16859 * Mode Lines:: Displaying information in the mode lines. | |
16860 * Highlighting and Menus:: Making buffers look all nice and cozy. | |
16861 * Buttons:: Get tendonitis in ten easy steps! | |
16862 * Daemons:: Gnus can do things behind your back. | |
16863 * NoCeM:: How to avoid spam and other fatty foods. | |
16864 * Undo:: Some actions can be undone. | |
16865 * Moderation:: What to do if you're a moderator. | |
33292 | 16866 * Emacs Enhancements:: There can be more pictures and stuff under |
16867 Emacs 21. | |
25829 | 16868 * XEmacs Enhancements:: There are more pictures and stuff under XEmacs. |
16869 * Fuzzy Matching:: What's the big fuzz? | |
16870 * Thwarting Email Spam:: A how-to on avoiding unsolicited commercial email. | |
16871 * Various Various:: Things that are really various. | |
16872 @end menu | |
16873 | |
16874 | |
16875 @node Process/Prefix | |
16876 @section Process/Prefix | |
16877 @cindex process/prefix convention | |
16878 | |
16879 Many functions, among them functions for moving, decoding and saving | |
16880 articles, use what is known as the @dfn{Process/Prefix convention}. | |
16881 | |
16882 This is a method for figuring out what articles the user wants the | |
16883 command to be performed on. | |
16884 | |
16885 It goes like this: | |
16886 | |
16887 If the numeric prefix is N, perform the operation on the next N | |
16888 articles, starting with the current one. If the numeric prefix is | |
16889 negative, perform the operation on the previous N articles, starting | |
16890 with the current one. | |
16891 | |
16892 @vindex transient-mark-mode | |
16893 If @code{transient-mark-mode} in non-@code{nil} and the region is | |
16894 active, all articles in the region will be worked upon. | |
16895 | |
16896 If there is no numeric prefix, but some articles are marked with the | |
16897 process mark, perform the operation on the articles marked with | |
16898 the process mark. | |
16899 | |
16900 If there is neither a numeric prefix nor any articles marked with the | |
16901 process mark, just perform the operation on the current article. | |
16902 | |
16903 Quite simple, really, but it needs to be made clear so that surprises | |
16904 are avoided. | |
16905 | |
16906 Commands that react to the process mark will push the current list of | |
16907 process marked articles onto a stack and will then clear all process | |
16908 marked articles. You can restore the previous configuration with the | |
16909 @kbd{M P y} command (@pxref{Setting Process Marks}). | |
16910 | |
16911 @vindex gnus-summary-goto-unread | |
16912 One thing that seems to shock & horrify lots of people is that, for | |
16913 instance, @kbd{3 d} does exactly the same as @kbd{d} @kbd{d} @kbd{d}. | |
16914 Since each @kbd{d} (which marks the current article as read) by default | |
16915 goes to the next unread article after marking, this means that @kbd{3 d} | |
16916 will mark the next three unread articles as read, no matter what the | |
16917 summary buffer looks like. Set @code{gnus-summary-goto-unread} to | |
16918 @code{nil} for a more straightforward action. | |
16919 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16920 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
|
16921 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
|
16922 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
|
16923 command. For instance, to mark all the articles in the group as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16924 expirable, you could say `M P b M-& E'. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
16925 |
25829 | 16926 |
16927 @node Interactive | |
16928 @section Interactive | |
16929 @cindex interaction | |
16930 | |
16931 @table @code | |
16932 | |
16933 @item gnus-novice-user | |
16934 @vindex gnus-novice-user | |
16935 If this variable is non-@code{nil}, you are either a newcomer to the | |
16936 World of Usenet, or you are very cautious, which is a nice thing to be, | |
16937 really. You will be given questions of the type ``Are you sure you want | |
16938 to do this?'' before doing anything dangerous. This is @code{t} by | |
16939 default. | |
16940 | |
16941 @item gnus-expert-user | |
16942 @vindex gnus-expert-user | |
16943 If this variable is non-@code{nil}, you will seldom be asked any | |
16944 questions by Gnus. It will simply assume you know what you're doing, no | |
16945 matter how strange. | |
16946 | |
16947 @item gnus-interactive-catchup | |
16948 @vindex gnus-interactive-catchup | |
16949 Require confirmation before catching up a group if non-@code{nil}. It | |
16950 is @code{t} by default. | |
16951 | |
16952 @item gnus-interactive-exit | |
16953 @vindex gnus-interactive-exit | |
16954 Require confirmation before exiting Gnus. This variable is @code{t} by | |
16955 default. | |
16956 @end table | |
16957 | |
16958 | |
16959 @node Symbolic Prefixes | |
16960 @section Symbolic Prefixes | |
16961 @cindex symbolic prefixes | |
16962 | |
16963 Quite a lot of Emacs commands react to the (numeric) prefix. For | |
16964 instance, @kbd{C-u 4 C-f} moves point four characters forward, and | |
16965 @kbd{C-u 9 0 0 I s s p} adds a permanent @code{Subject} substring score | |
16966 rule of 900 to the current article. | |
16967 | |
16968 This is all nice and well, but what if you want to give a command some | |
16969 additional information? Well, what most commands do is interpret the | |
16970 ``raw'' prefix in some special way. @kbd{C-u 0 C-x C-s} means that one | |
16971 doesn't want a backup file to be created when saving the current buffer, | |
16972 for instance. But what if you want to save without making a backup | |
16973 file, and you want Emacs to flash lights and play a nice tune at the | |
16974 same time? You can't, and you're probably perfectly happy that way. | |
16975 | |
16976 @kindex M-i (Summary) | |
16977 @findex gnus-symbolic-argument | |
16978 I'm not, so I've added a second prefix---the @dfn{symbolic prefix}. The | |
16979 prefix key is @kbd{M-i} (@code{gnus-symbolic-argument}), and the next | |
16980 character typed in is the value. You can stack as many @kbd{M-i} | |
16981 prefixes as you want. @kbd{M-i a M-C-u} means ``feed the @kbd{M-C-u} | |
16982 command the symbolic prefix @code{a}''. @kbd{M-i a M-i b M-C-u} means | |
16983 ``feed the @kbd{M-C-u} command the symbolic prefixes @code{a} and | |
16984 @code{b}''. You get the drift. | |
16985 | |
16986 Typing in symbolic prefixes to commands that don't accept them doesn't | |
16987 hurt, but it doesn't do any good either. Currently not many Gnus | |
16988 functions make use of the symbolic prefix. | |
16989 | |
16990 If you're interested in how Gnus implements this, @pxref{Extended | |
16991 Interactive}. | |
16992 | |
16993 | |
16994 @node Formatting Variables | |
16995 @section Formatting Variables | |
16996 @cindex formatting variables | |
16997 | |
16998 Throughout this manual you've probably noticed lots of variables called | |
16999 things like @code{gnus-group-line-format} and | |
17000 @code{gnus-summary-mode-line-format}. These control how Gnus is to | |
17001 output lines in the various buffers. There's quite a lot of them. | |
17002 Fortunately, they all use the same syntax, so there's not that much to | |
17003 be annoyed by. | |
17004 | |
17005 Here's an example format spec (from the group buffer): @samp{%M%S%5y: | |
17006 %(%g%)\n}. We see that it is indeed extremely ugly, and that there are | |
17007 lots of percentages everywhere. | |
17008 | |
17009 @menu | |
17010 * Formatting Basics:: A formatting variable is basically a format string. | |
17011 * Mode Line Formatting:: Some rules about mode line formatting variables. | |
17012 * Advanced Formatting:: Modifying output in various ways. | |
17013 * User-Defined Specs:: Having Gnus call your own functions. | |
17014 * Formatting Fonts:: Making the formatting look colorful and nice. | |
17015 @end menu | |
17016 | |
17017 Currently Gnus uses the following formatting variables: | |
17018 @code{gnus-group-line-format}, @code{gnus-summary-line-format}, | |
17019 @code{gnus-server-line-format}, @code{gnus-topic-line-format}, | |
17020 @code{gnus-group-mode-line-format}, | |
17021 @code{gnus-summary-mode-line-format}, | |
17022 @code{gnus-article-mode-line-format}, | |
17023 @code{gnus-server-mode-line-format}, and | |
17024 @code{gnus-summary-pick-line-format}. | |
17025 | |
17026 All these format variables can also be arbitrary elisp forms. In that | |
17027 case, they will be @code{eval}ed to insert the required lines. | |
17028 | |
17029 @kindex M-x gnus-update-format | |
17030 @findex gnus-update-format | |
17031 Gnus includes a command to help you while creating your own format | |
17032 specs. @kbd{M-x gnus-update-format} will @code{eval} the current form, | |
17033 update the spec in question and pop you to a buffer where you can | |
17034 examine the resulting lisp code to be run to generate the line. | |
17035 | |
17036 | |
17037 | |
17038 @node Formatting Basics | |
17039 @subsection Formatting Basics | |
17040 | |
17041 Each @samp{%} element will be replaced by some string or other when the | |
17042 buffer in question is generated. @samp{%5y} means ``insert the @samp{y} | |
17043 spec, and pad with spaces to get a 5-character field''. | |
17044 | |
17045 As with normal C and Emacs Lisp formatting strings, the numerical | |
17046 modifier between the @samp{%} and the formatting type character will | |
17047 @dfn{pad} the output so that it is always at least that long. | |
17048 @samp{%5y} will make the field always (at least) five characters wide by | |
17049 padding with spaces to the left. If you say @samp{%-5y}, it will pad to | |
17050 the right instead. | |
17051 | |
17052 You may also wish to limit the length of the field to protect against | |
17053 particularly wide values. For that you can say @samp{%4,6y}, which | |
17054 means that the field will never be more than 6 characters wide and never | |
17055 less than 4 characters wide. | |
17056 | |
17057 | |
17058 @node Mode Line Formatting | |
17059 @subsection Mode Line Formatting | |
17060 | |
17061 Mode line formatting variables (e.g., | |
17062 @code{gnus-summary-mode-line-format}) follow the same rules as other, | |
17063 buffer line oriented formatting variables (@pxref{Formatting Basics}) | |
17064 with the following two differences: | |
17065 | |
17066 @enumerate | |
17067 | |
17068 @item | |
17069 There must be no newline (@samp{\n}) at the end. | |
17070 | |
17071 @item | |
17072 The special @samp{%%b} spec can be used to display the buffer name. | |
17073 Well, it's no spec at all, really---@samp{%%} is just a way to quote | |
17074 @samp{%} to allow it to pass through the formatting machinery unmangled, | |
17075 so that Emacs receives @samp{%b}, which is something the Emacs mode line | |
17076 display interprets to mean ``show the buffer name''. For a full list of | |
17077 mode line specs Emacs understands, see the documentation of the | |
17078 @code{mode-line-format} variable. | |
17079 | |
17080 @end enumerate | |
17081 | |
17082 | |
17083 @node Advanced Formatting | |
17084 @subsection Advanced Formatting | |
17085 | |
17086 It is frequently useful to post-process the fields in some way. | |
17087 Padding, limiting, cutting off parts and suppressing certain values can | |
17088 be achieved by using @dfn{tilde modifiers}. A typical tilde spec might | |
17089 look like @samp{%~(cut 3)~(ignore "0")y}. | |
17090 | |
17091 These are the valid modifiers: | |
17092 | |
17093 @table @code | |
17094 @item pad | |
17095 @itemx pad-left | |
17096 Pad the field to the left with spaces until it reaches the required | |
17097 length. | |
17098 | |
17099 @item pad-right | |
17100 Pad the field to the right with spaces until it reaches the required | |
17101 length. | |
17102 | |
17103 @item max | |
17104 @itemx max-left | |
17105 Cut off characters from the left until it reaches the specified length. | |
17106 | |
17107 @item max-right | |
17108 Cut off characters from the right until it reaches the specified | |
17109 length. | |
17110 | |
17111 @item cut | |
17112 @itemx cut-left | |
17113 Cut off the specified number of characters from the left. | |
17114 | |
17115 @item cut-right | |
17116 Cut off the specified number of characters from the right. | |
17117 | |
17118 @item ignore | |
17119 Return an empty string if the field is equal to the specified value. | |
17120 | |
17121 @item form | |
17122 Use the specified form as the field value when the @samp{@@} spec is | |
17123 used. | |
17124 @end table | |
17125 | |
17126 Let's take an example. The @samp{%o} spec in the summary mode lines | |
17127 will return a date in compact ISO8601 format---@samp{19960809T230410}. | |
17128 This is quite a mouthful, so we want to shave off the century number and | |
17129 the time, leaving us with a six-character date. That would be | |
17130 @samp{%~(cut-left 2)~(max-right 6)~(pad 6)o}. (Cutting is done before | |
17131 maxing, and we need the padding to ensure that the date is never less | |
17132 than 6 characters to make it look nice in columns.) | |
17133 | |
17134 Ignoring is done first; then cutting; then maxing; and then as the very | |
17135 last operation, padding. | |
17136 | |
17137 If you use lots of these advanced thingies, you'll find that Gnus gets | |
17138 quite slow. This can be helped enormously by running @kbd{M-x | |
17139 gnus-compile} when you are satisfied with the look of your lines. | |
17140 @xref{Compilation}. | |
17141 | |
17142 | |
17143 @node User-Defined Specs | |
17144 @subsection User-Defined Specs | |
17145 | |
17146 All the specs allow for inserting user defined specifiers---@samp{u}. | |
17147 The next character in the format string should be a letter. Gnus | |
17148 will call the function @code{gnus-user-format-function-}@samp{X}, where | |
17149 @samp{X} is the letter following @samp{%u}. The function will be passed | |
17150 a single parameter---what the parameter means depends on what buffer | |
17151 it's being called from. The function should return a string, which will | |
17152 be inserted into the buffer just like information from any other | |
17153 specifier. This function may also be called with dummy values, so it | |
17154 should protect against that. | |
17155 | |
17156 You can also use tilde modifiers (@pxref{Advanced Formatting} to achieve | |
17157 much the same without defining new functions. Here's an example: | |
17158 @samp{%~(form (count-lines (point-min) (point)))@@}. The form | |
17159 given here will be evaluated to yield the current line number, and then | |
17160 inserted. | |
17161 | |
17162 | |
17163 @node Formatting Fonts | |
17164 @subsection Formatting Fonts | |
17165 | |
17166 There are specs for highlighting, and these are shared by all the format | |
17167 variables. Text inside the @samp{%(} and @samp{%)} specifiers will get | |
17168 the special @code{mouse-face} property set, which means that it will be | |
17169 highlighted (with @code{gnus-mouse-face}) when you put the mouse pointer | |
17170 over it. | |
17171 | |
17172 Text inside the @samp{%@{} and @samp{%@}} specifiers will have their | |
17173 normal faces set using @code{gnus-face-0}, which is @code{bold} by | |
17174 default. If you say @samp{%1@{}, you'll get @code{gnus-face-1} instead, | |
17175 and so on. Create as many faces as you wish. The same goes for the | |
17176 @code{mouse-face} specs---you can say @samp{%3(hello%)} to have | |
17177 @samp{hello} mouse-highlighted with @code{gnus-mouse-face-3}. | |
17178 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17179 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
|
17180 @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
|
17181 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
|
17182 @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
|
17183 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
|
17184 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
|
17185 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
|
17186 @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
|
17187 |
25829 | 17188 Here's an alternative recipe for the group buffer: |
17189 | |
17190 @lisp | |
17191 ;; Create three face types. | |
17192 (setq gnus-face-1 'bold) | |
17193 (setq gnus-face-3 'italic) | |
17194 | |
17195 ;; We want the article count to be in | |
17196 ;; a bold and green face. So we create | |
17197 ;; a new face called `my-green-bold'. | |
17198 (copy-face 'bold 'my-green-bold) | |
17199 ;; Set the color. | |
17200 (set-face-foreground 'my-green-bold "ForestGreen") | |
17201 (setq gnus-face-2 'my-green-bold) | |
17202 | |
17203 ;; Set the new & fancy format. | |
17204 (setq gnus-group-line-format | |
17205 "%M%S%3@{%5y%@}%2[:%] %(%1@{%g%@}%)\n") | |
17206 @end lisp | |
17207 | |
17208 I'm sure you'll be able to use this scheme to create totally unreadable | |
17209 and extremely vulgar displays. Have fun! | |
17210 | |
17211 Note that the @samp{%(} specs (and friends) do not make any sense on the | |
17212 mode-line variables. | |
17213 | |
17214 | |
17215 @node Windows Configuration | |
17216 @section Windows Configuration | |
17217 @cindex windows configuration | |
17218 | |
17219 No, there's nothing here about X, so be quiet. | |
17220 | |
17221 @vindex gnus-use-full-window | |
17222 If @code{gnus-use-full-window} non-@code{nil}, Gnus will delete all | |
17223 other windows and occupy the entire Emacs screen by itself. It is | |
17224 @code{t} by default. | |
17225 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17226 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
|
17227 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
|
17228 |
25829 | 17229 @vindex gnus-buffer-configuration |
17230 @code{gnus-buffer-configuration} describes how much space each Gnus | |
17231 buffer should be given. Here's an excerpt of this variable: | |
17232 | |
17233 @lisp | |
17234 ((group (vertical 1.0 (group 1.0 point) | |
17235 (if gnus-carpal (group-carpal 4)))) | |
17236 (article (vertical 1.0 (summary 0.25 point) | |
17237 (article 1.0)))) | |
17238 @end lisp | |
17239 | |
17240 This is an alist. The @dfn{key} is a symbol that names some action or | |
17241 other. For instance, when displaying the group buffer, the window | |
17242 configuration function will use @code{group} as the key. A full list of | |
17243 possible names is listed below. | |
17244 | |
17245 The @dfn{value} (i.e., the @dfn{split}) says how much space each buffer | |
17246 should occupy. To take the @code{article} split as an example - | |
17247 | |
17248 @lisp | |
17249 (article (vertical 1.0 (summary 0.25 point) | |
17250 (article 1.0))) | |
17251 @end lisp | |
17252 | |
17253 This @dfn{split} says that the summary buffer should occupy 25% of upper | |
17254 half of the screen, and that it is placed over the article buffer. As | |
17255 you may have noticed, 100% + 25% is actually 125% (yup, I saw y'all | |
17256 reaching for that calculator there). However, the special number | |
17257 @code{1.0} is used to signal that this buffer should soak up all the | |
17258 rest of the space available after the rest of the buffers have taken | |
17259 whatever they need. There should be only one buffer with the @code{1.0} | |
17260 size spec per split. | |
17261 | |
17262 Point will be put in the buffer that has the optional third element | |
17263 @code{point}. In a @code{frame} split, the last subsplit having a leaf | |
17264 split where the tag @code{frame-focus} is a member (i.e. is the third or | |
17265 fourth element in the list, depending on whether the @code{point} tag is | |
17266 present) gets focus. | |
17267 | |
17268 Here's a more complicated example: | |
17269 | |
17270 @lisp | |
17271 (article (vertical 1.0 (group 4) | |
17272 (summary 0.25 point) | |
17273 (if gnus-carpal (summary-carpal 4)) | |
17274 (article 1.0))) | |
17275 @end lisp | |
17276 | |
17277 If the size spec is an integer instead of a floating point number, | |
17278 then that number will be used to say how many lines a buffer should | |
17279 occupy, not a percentage. | |
17280 | |
17281 If the @dfn{split} looks like something that can be @code{eval}ed (to be | |
17282 precise---if the @code{car} of the split is a function or a subr), this | |
17283 split will be @code{eval}ed. If the result is non-@code{nil}, it will | |
17284 be used as a split. This means that there will be three buffers if | |
17285 @code{gnus-carpal} is @code{nil}, and four buffers if @code{gnus-carpal} | |
17286 is non-@code{nil}. | |
17287 | |
17288 Not complicated enough for you? Well, try this on for size: | |
17289 | |
17290 @lisp | |
17291 (article (horizontal 1.0 | |
17292 (vertical 0.5 | |
17293 (group 1.0) | |
17294 (gnus-carpal 4)) | |
17295 (vertical 1.0 | |
17296 (summary 0.25 point) | |
17297 (summary-carpal 4) | |
17298 (article 1.0)))) | |
17299 @end lisp | |
17300 | |
17301 Whoops. Two buffers with the mystery 100% tag. And what's that | |
17302 @code{horizontal} thingie? | |
17303 | |
17304 If the first element in one of the split is @code{horizontal}, Gnus will | |
17305 split the window horizontally, giving you two windows side-by-side. | |
17306 Inside each of these strips you may carry on all you like in the normal | |
17307 fashion. The number following @code{horizontal} says what percentage of | |
17308 the screen is to be given to this strip. | |
17309 | |
17310 For each split, there @emph{must} be one element that has the 100% tag. | |
17311 The splitting is never accurate, and this buffer will eat any leftover | |
17312 lines from the splits. | |
17313 | |
17314 To be slightly more formal, here's a definition of what a valid split | |
17315 may look like: | |
17316 | |
17317 @example | |
17318 split = frame | horizontal | vertical | buffer | form | |
17319 frame = "(frame " size *split ")" | |
17320 horizontal = "(horizontal " size *split ")" | |
17321 vertical = "(vertical " size *split ")" | |
17322 buffer = "(" buffer-name " " size *[ "point" ] *[ "frame-focus"] ")" | |
17323 size = number | frame-params | |
17324 buffer-name = group | article | summary ... | |
17325 @end example | |
17326 | |
17327 The limitations are that the @code{frame} split can only appear as the | |
17328 top-level split. @var{form} should be an Emacs Lisp form that should | |
17329 return a valid split. We see that each split is fully recursive, and | |
17330 may contain any number of @code{vertical} and @code{horizontal} splits. | |
17331 | |
17332 @vindex gnus-window-min-width | |
17333 @vindex gnus-window-min-height | |
17334 @cindex window height | |
17335 @cindex window width | |
17336 Finding the right sizes can be a bit complicated. No window may be less | |
17337 than @code{gnus-window-min-height} (default 1) characters high, and all | |
17338 windows must be at least @code{gnus-window-min-width} (default 1) | |
17339 characters wide. Gnus will try to enforce this before applying the | |
17340 splits. If you want to use the normal Emacs window width/height limit, | |
17341 you can just set these two variables to @code{nil}. | |
17342 | |
17343 If you're not familiar with Emacs terminology, @code{horizontal} and | |
17344 @code{vertical} splits may work the opposite way of what you'd expect. | |
17345 Windows inside a @code{horizontal} split are shown side-by-side, and | |
17346 windows within a @code{vertical} split are shown above each other. | |
17347 | |
17348 @findex gnus-configure-frame | |
17349 If you want to experiment with window placement, a good tip is to call | |
17350 @code{gnus-configure-frame} directly with a split. This is the function | |
17351 that does all the real work when splitting buffers. Below is a pretty | |
17352 nonsensical configuration with 5 windows; two for the group buffer and | |
17353 three for the article buffer. (I said it was nonsensical.) If you | |
17354 @code{eval} the statement below, you can get an idea of how that would | |
17355 look straight away, without going through the normal Gnus channels. | |
17356 Play with it until you're satisfied, and then use | |
17357 @code{gnus-add-configuration} to add your new creation to the buffer | |
17358 configuration list. | |
17359 | |
17360 @lisp | |
17361 (gnus-configure-frame | |
17362 '(horizontal 1.0 | |
17363 (vertical 10 | |
17364 (group 1.0) | |
17365 (article 0.3 point)) | |
17366 (vertical 1.0 | |
17367 (article 1.0) | |
17368 (horizontal 4 | |
17369 (group 1.0) | |
17370 (article 10))))) | |
17371 @end lisp | |
17372 | |
17373 You might want to have several frames as well. No prob---just use the | |
17374 @code{frame} split: | |
17375 | |
17376 @lisp | |
17377 (gnus-configure-frame | |
17378 '(frame 1.0 | |
17379 (vertical 1.0 | |
17380 (summary 0.25 point frame-focus) | |
17381 (article 1.0)) | |
17382 (vertical ((height . 5) (width . 15) | |
17383 (user-position . t) | |
17384 (left . -1) (top . 1)) | |
17385 (picon 1.0)))) | |
17386 | |
17387 @end lisp | |
17388 | |
17389 This split will result in the familiar summary/article window | |
17390 configuration in the first (or ``main'') frame, while a small additional | |
17391 frame will be created where picons will be shown. As you can see, | |
17392 instead of the normal @code{1.0} top-level spec, each additional split | |
17393 should have a frame parameter alist as the size spec. | |
17394 @xref{Frame Parameters, , Frame Parameters, elisp, The GNU Emacs Lisp | |
17395 Reference Manual}. Under XEmacs, a frame property list will be | |
17396 accepted, too---for instance, @code{(height 5 width 15 left -1 top 1)} | |
17397 is such a plist. | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17398 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
|
17399 be found in its default value. |
25829 | 17400 |
17401 Note that the @code{message} key is used for both | |
17402 @code{gnus-group-mail} and @code{gnus-summary-mail-other-window}. If | |
17403 it is desirable to distinguish between the two, something like this | |
17404 might be used: | |
17405 | |
17406 @lisp | |
17407 (message (horizontal 1.0 | |
17408 (vertical 1.0 (message 1.0 point)) | |
17409 (vertical 0.24 | |
17410 (if (buffer-live-p gnus-summary-buffer) | |
17411 '(summary 0.5)) | |
17412 (group 1.0))))) | |
17413 @end lisp | |
17414 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17415 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
|
17416 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
|
17417 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
|
17418 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17419 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17420 (message (frame 1.0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17421 (if (not (buffer-live-p gnus-summary-buffer)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17422 (car (cdr (assoc 'group gnus-buffer-configuration))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17423 (car (cdr (assoc 'summary gnus-buffer-configuration)))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17424 (vertical ((user-position . t) (top . 1) (left . 1) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17425 (name . "Message")) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17426 (message 1.0 point)))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17427 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17428 |
25829 | 17429 @findex gnus-add-configuration |
17430 Since the @code{gnus-buffer-configuration} variable is so long and | |
17431 complicated, there's a function you can use to ease changing the config | |
17432 of a single setting: @code{gnus-add-configuration}. If, for instance, | |
17433 you want to change the @code{article} setting, you could say: | |
17434 | |
17435 @lisp | |
17436 (gnus-add-configuration | |
17437 '(article (vertical 1.0 | |
17438 (group 4) | |
17439 (summary .25 point) | |
17440 (article 1.0)))) | |
17441 @end lisp | |
17442 | |
17443 You'd typically stick these @code{gnus-add-configuration} calls in your | |
17444 @file{.gnus.el} file or in some startup hook---they should be run after | |
17445 Gnus has been loaded. | |
17446 | |
17447 @vindex gnus-always-force-window-configuration | |
17448 If all windows mentioned in the configuration are already visible, Gnus | |
17449 won't change the window configuration. If you always want to force the | |
17450 ``right'' window configuration, you can set | |
17451 @code{gnus-always-force-window-configuration} to non-@code{nil}. | |
17452 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17453 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
|
17454 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
|
17455 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
|
17456 windows resized. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17457 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17458 @subsection Example Window Configurations |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17459 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17460 @itemize @bullet |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17461 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17462 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
|
17463 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
|
17464 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17465 @ifinfo |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17466 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17467 +---+---------+ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17468 | G | Summary | |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17469 | r +---------+ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17470 | o | | |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17471 | u | Article | |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17472 | p | | |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17473 +---+---------+ |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17474 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17475 @end ifinfo |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17476 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17477 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17478 (gnus-add-configuration |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17479 '(article |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17480 (horizontal 1.0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17481 (vertical 25 (group 1.0)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17482 (vertical 1.0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17483 (summary 0.16 point) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17484 (article 1.0))))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17485 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17486 (gnus-add-configuration |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17487 '(summary |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17488 (horizontal 1.0 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17489 (vertical 25 (group 1.0)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17490 (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
|
17491 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17492 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17493 @end itemize |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17494 |
25829 | 17495 |
17496 @node Faces and Fonts | |
17497 @section Faces and Fonts | |
17498 @cindex faces | |
17499 @cindex fonts | |
17500 @cindex colors | |
17501 | |
17502 Fiddling with fonts and faces used to be very difficult, but these days | |
17503 it is very simple. You simply say @kbd{M-x customize-face}, pick out | |
17504 the face you want to alter, and alter it via the standard Customize | |
17505 interface. | |
17506 | |
17507 | |
17508 @node Compilation | |
17509 @section Compilation | |
17510 @cindex compilation | |
17511 @cindex byte-compilation | |
17512 | |
17513 @findex gnus-compile | |
17514 | |
17515 Remember all those line format specification variables? | |
17516 @code{gnus-summary-line-format}, @code{gnus-group-line-format}, and so | |
17517 on. Now, Gnus will of course heed whatever these variables are, but, | |
17518 unfortunately, changing them will mean a quite significant slow-down. | |
17519 (The default values of these variables have byte-compiled functions | |
17520 associated with them, while the user-generated versions do not, of | |
17521 course.) | |
17522 | |
17523 To help with this, you can run @kbd{M-x gnus-compile} after you've | |
17524 fiddled around with the variables and feel that you're (kind of) | |
17525 satisfied. This will result in the new specs being byte-compiled, and | |
17526 you'll get top speed again. Gnus will save these compiled specs in the | |
17527 @file{.newsrc.eld} file. (User-defined functions aren't compiled by | |
17528 this function, though---you should compile them yourself by sticking | |
17529 them into the @code{.gnus.el} file and byte-compiling that file.) | |
17530 | |
17531 | |
17532 @node Mode Lines | |
17533 @section Mode Lines | |
17534 @cindex mode lines | |
17535 | |
17536 @vindex gnus-updated-mode-lines | |
17537 @code{gnus-updated-mode-lines} says what buffers should keep their mode | |
17538 lines updated. It is a list of symbols. Supported symbols include | |
17539 @code{group}, @code{article}, @code{summary}, @code{server}, | |
17540 @code{browse}, and @code{tree}. If the corresponding symbol is present, | |
17541 Gnus will keep that mode line updated with information that may be | |
17542 pertinent. If this variable is @code{nil}, screen refresh may be | |
17543 quicker. | |
17544 | |
17545 @cindex display-time | |
17546 | |
17547 @vindex gnus-mode-non-string-length | |
17548 By default, Gnus displays information on the current article in the mode | |
17549 lines of the summary and article buffers. The information Gnus wishes | |
17550 to display (e.g. the subject of the article) is often longer than the | |
17551 mode lines, and therefore have to be cut off at some point. The | |
17552 @code{gnus-mode-non-string-length} variable says how long the other | |
17553 elements on the line is (i.e., the non-info part). If you put | |
17554 additional elements on the mode line (e.g. a clock), you should modify | |
17555 this variable: | |
17556 | |
17557 @c Hook written by Francesco Potorti` <pot@cnuce.cnr.it> | |
17558 @lisp | |
17559 (add-hook 'display-time-hook | |
17560 (lambda () (setq gnus-mode-non-string-length | |
17561 (+ 21 | |
17562 (if line-number-mode 5 0) | |
17563 (if column-number-mode 4 0) | |
17564 (length display-time-string))))) | |
17565 @end lisp | |
17566 | |
17567 If this variable is @code{nil} (which is the default), the mode line | |
17568 strings won't be chopped off, and they won't be padded either. Note | |
17569 that the default is unlikely to be desirable, as even the percentage | |
17570 complete in the buffer may be crowded off the mode line; the user should | |
17571 configure this variable appropriately for her configuration. | |
17572 | |
17573 | |
17574 @node Highlighting and Menus | |
17575 @section Highlighting and Menus | |
17576 @cindex visual | |
17577 @cindex highlighting | |
17578 @cindex menus | |
17579 | |
17580 @vindex gnus-visual | |
17581 The @code{gnus-visual} variable controls most of the Gnus-prettifying | |
17582 aspects. If @code{nil}, Gnus won't attempt to create menus or use fancy | |
17583 colors or fonts. This will also inhibit loading the @file{gnus-vis.el} | |
17584 file. | |
17585 | |
17586 This variable can be a list of visual properties that are enabled. The | |
17587 following elements are valid, and are all included by default: | |
17588 | |
17589 @table @code | |
17590 @item group-highlight | |
17591 Do highlights in the group buffer. | |
17592 @item summary-highlight | |
17593 Do highlights in the summary buffer. | |
17594 @item article-highlight | |
17595 Do highlights in the article buffer. | |
17596 @item highlight | |
17597 Turn on highlighting in all buffers. | |
17598 @item group-menu | |
17599 Create menus in the group buffer. | |
17600 @item summary-menu | |
17601 Create menus in the summary buffers. | |
17602 @item article-menu | |
17603 Create menus in the article buffer. | |
17604 @item browse-menu | |
17605 Create menus in the browse buffer. | |
17606 @item server-menu | |
17607 Create menus in the server buffer. | |
17608 @item score-menu | |
17609 Create menus in the score buffers. | |
17610 @item menu | |
17611 Create menus in all buffers. | |
17612 @end table | |
17613 | |
17614 So if you only want highlighting in the article buffer and menus in all | |
17615 buffers, you could say something like: | |
17616 | |
17617 @lisp | |
17618 (setq gnus-visual '(article-highlight menu)) | |
17619 @end lisp | |
17620 | |
17621 If you want highlighting only and no menus whatsoever, you'd say: | |
17622 | |
17623 @lisp | |
17624 (setq gnus-visual '(highlight)) | |
17625 @end lisp | |
17626 | |
17627 If @code{gnus-visual} is @code{t}, highlighting and menus will be used | |
17628 in all Gnus buffers. | |
17629 | |
17630 Other general variables that influence the look of all buffers include: | |
17631 | |
17632 @table @code | |
17633 @item gnus-mouse-face | |
17634 @vindex gnus-mouse-face | |
17635 This is the face (i.e., font) used for mouse highlighting in Gnus. No | |
17636 mouse highlights will be done if @code{gnus-visual} is @code{nil}. | |
17637 | |
17638 @end table | |
17639 | |
17640 There are hooks associated with the creation of all the different menus: | |
17641 | |
17642 @table @code | |
17643 | |
17644 @item gnus-article-menu-hook | |
17645 @vindex gnus-article-menu-hook | |
17646 Hook called after creating the article mode menu. | |
17647 | |
17648 @item gnus-group-menu-hook | |
17649 @vindex gnus-group-menu-hook | |
17650 Hook called after creating the group mode menu. | |
17651 | |
17652 @item gnus-summary-menu-hook | |
17653 @vindex gnus-summary-menu-hook | |
17654 Hook called after creating the summary mode menu. | |
17655 | |
17656 @item gnus-server-menu-hook | |
17657 @vindex gnus-server-menu-hook | |
17658 Hook called after creating the server mode menu. | |
17659 | |
17660 @item gnus-browse-menu-hook | |
17661 @vindex gnus-browse-menu-hook | |
17662 Hook called after creating the browse mode menu. | |
17663 | |
17664 @item gnus-score-menu-hook | |
17665 @vindex gnus-score-menu-hook | |
17666 Hook called after creating the score mode menu. | |
17667 | |
17668 @end table | |
17669 | |
17670 | |
17671 @node Buttons | |
17672 @section Buttons | |
17673 @cindex buttons | |
17674 @cindex mouse | |
17675 @cindex click | |
17676 | |
17677 Those new-fangled @dfn{mouse} contraptions is very popular with the | |
17678 young, hep kids who don't want to learn the proper way to do things | |
17679 these days. Why, I remember way back in the summer of '89, when I was | |
17680 using Emacs on a Tops 20 system. Three hundred users on one single | |
17681 machine, and every user was running Simula compilers. Bah! | |
17682 | |
17683 Right. | |
17684 | |
17685 @vindex gnus-carpal | |
17686 Well, you can make Gnus display bufferfuls of buttons you can click to | |
17687 do anything by setting @code{gnus-carpal} to @code{t}. Pretty simple, | |
17688 really. Tell the chiropractor I sent you. | |
17689 | |
17690 | |
17691 @table @code | |
17692 | |
17693 @item gnus-carpal-mode-hook | |
17694 @vindex gnus-carpal-mode-hook | |
17695 Hook run in all carpal mode buffers. | |
17696 | |
17697 @item gnus-carpal-button-face | |
17698 @vindex gnus-carpal-button-face | |
17699 Face used on buttons. | |
17700 | |
17701 @item gnus-carpal-header-face | |
17702 @vindex gnus-carpal-header-face | |
17703 Face used on carpal buffer headers. | |
17704 | |
17705 @item gnus-carpal-group-buffer-buttons | |
17706 @vindex gnus-carpal-group-buffer-buttons | |
17707 Buttons in the group buffer. | |
17708 | |
17709 @item gnus-carpal-summary-buffer-buttons | |
17710 @vindex gnus-carpal-summary-buffer-buttons | |
17711 Buttons in the summary buffer. | |
17712 | |
17713 @item gnus-carpal-server-buffer-buttons | |
17714 @vindex gnus-carpal-server-buffer-buttons | |
17715 Buttons in the server buffer. | |
17716 | |
17717 @item gnus-carpal-browse-buffer-buttons | |
17718 @vindex gnus-carpal-browse-buffer-buttons | |
17719 Buttons in the browse buffer. | |
17720 @end table | |
17721 | |
17722 All the @code{buttons} variables are lists. The elements in these list | |
17723 are either cons cells where the @code{car} contains a text to be displayed and | |
17724 the @code{cdr} contains a function symbol, or a simple string. | |
17725 | |
17726 | |
17727 @node Daemons | |
17728 @section Daemons | |
17729 @cindex demons | |
17730 @cindex daemons | |
17731 | |
17732 Gnus, being larger than any program ever written (allegedly), does lots | |
17733 of strange stuff that you may wish to have done while you're not | |
17734 present. For instance, you may want it to check for new mail once in a | |
17735 while. Or you may want it to close down all connections to all servers | |
17736 when you leave Emacs idle. And stuff like that. | |
17737 | |
17738 Gnus will let you do stuff like that by defining various | |
17739 @dfn{handlers}. Each handler consists of three elements: A | |
17740 @var{function}, a @var{time}, and an @var{idle} parameter. | |
17741 | |
17742 Here's an example of a handler that closes connections when Emacs has | |
17743 been idle for thirty minutes: | |
17744 | |
17745 @lisp | |
17746 (gnus-demon-close-connections nil 30) | |
17747 @end lisp | |
17748 | |
17749 Here's a handler that scans for PGP headers every hour when Emacs is | |
17750 idle: | |
17751 | |
17752 @lisp | |
17753 (gnus-demon-scan-pgp 60 t) | |
17754 @end lisp | |
17755 | |
17756 This @var{time} parameter and than @var{idle} parameter work together | |
17757 in a strange, but wonderful fashion. Basically, if @var{idle} is | |
17758 @code{nil}, then the function will be called every @var{time} minutes. | |
17759 | |
17760 If @var{idle} is @code{t}, then the function will be called after | |
17761 @var{time} minutes only if Emacs is idle. So if Emacs is never idle, | |
17762 the function will never be called. But once Emacs goes idle, the | |
17763 function will be called every @var{time} minutes. | |
17764 | |
17765 If @var{idle} is a number and @var{time} is a number, the function will | |
17766 be called every @var{time} minutes only when Emacs has been idle for | |
17767 @var{idle} minutes. | |
17768 | |
17769 If @var{idle} is a number and @var{time} is @code{nil}, the function | |
17770 will be called once every time Emacs has been idle for @var{idle} | |
17771 minutes. | |
17772 | |
17773 And if @var{time} is a string, it should look like @samp{07:31}, and | |
17774 the function will then be called once every day somewhere near that | |
17775 time. Modified by the @var{idle} parameter, of course. | |
17776 | |
17777 @vindex gnus-demon-timestep | |
17778 (When I say ``minute'' here, I really mean @code{gnus-demon-timestep} | |
17779 seconds. This is 60 by default. If you change that variable, | |
17780 all the timings in the handlers will be affected.) | |
17781 | |
17782 So, if you want to add a handler, you could put something like this in | |
17783 your @file{.gnus} file: | |
17784 | |
17785 @findex gnus-demon-add-handler | |
17786 @lisp | |
17787 (gnus-demon-add-handler 'gnus-demon-close-connections 30 t) | |
17788 @end lisp | |
17789 | |
17790 @findex gnus-demon-add-nocem | |
17791 @findex gnus-demon-add-scanmail | |
17792 @findex gnus-demon-add-rescan | |
17793 @findex gnus-demon-add-scan-timestamps | |
17794 @findex gnus-demon-add-disconnection | |
17795 Some ready-made functions to do this have been created: | |
17796 @code{gnus-demon-add-nocem}, @code{gnus-demon-add-disconnection}, | |
17797 @code{gnus-demon-add-nntp-close-connection}, | |
17798 @code{gnus-demon-add-scan-timestamps}, @code{gnus-demon-add-rescan}, and | |
17799 @code{gnus-demon-add-scanmail}. Just put those functions in your | |
17800 @file{.gnus} if you want those abilities. | |
17801 | |
17802 @findex gnus-demon-init | |
17803 @findex gnus-demon-cancel | |
17804 @vindex gnus-demon-handlers | |
17805 If you add handlers to @code{gnus-demon-handlers} directly, you should | |
17806 run @code{gnus-demon-init} to make the changes take hold. To cancel all | |
17807 daemons, you can use the @code{gnus-demon-cancel} function. | |
17808 | |
17809 Note that adding daemons can be pretty naughty if you over do it. Adding | |
17810 functions that scan all news and mail from all servers every two seconds | |
17811 is a sure-fire way of getting booted off any respectable system. So | |
17812 behave. | |
17813 | |
17814 | |
17815 @node NoCeM | |
17816 @section NoCeM | |
17817 @cindex nocem | |
17818 @cindex spam | |
17819 | |
17820 @dfn{Spamming} is posting the same article lots and lots of times. | |
17821 Spamming is bad. Spamming is evil. | |
17822 | |
17823 Spamming is usually canceled within a day or so by various anti-spamming | |
17824 agencies. These agencies usually also send out @dfn{NoCeM} messages. | |
17825 NoCeM is pronounced ``no see-'em'', and means what the name | |
17826 implies---these are messages that make the offending articles, like, go | |
17827 away. | |
17828 | |
17829 What use are these NoCeM messages if the articles are canceled anyway? | |
17830 Some sites do not honor cancel messages and some sites just honor cancels | |
17831 from a select few people. Then you may wish to make use of the NoCeM | |
17832 messages, which are distributed in the @samp{alt.nocem.misc} newsgroup. | |
17833 | |
17834 Gnus can read and parse the messages in this group automatically, and | |
17835 this will make spam disappear. | |
17836 | |
17837 There are some variables to customize, of course: | |
17838 | |
17839 @table @code | |
17840 @item gnus-use-nocem | |
17841 @vindex gnus-use-nocem | |
17842 Set this variable to @code{t} to set the ball rolling. It is @code{nil} | |
17843 by default. | |
17844 | |
17845 @item gnus-nocem-groups | |
17846 @vindex gnus-nocem-groups | |
17847 Gnus will look for NoCeM messages in the groups in this list. The | |
17848 default is @code{("news.lists.filters" "news.admin.net-abuse.bulletins" | |
17849 "alt.nocem.misc" "news.admin.net-abuse.announce")}. | |
17850 | |
17851 @item gnus-nocem-issuers | |
17852 @vindex gnus-nocem-issuers | |
17853 There are many people issuing NoCeM messages. This list says what | |
17854 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
|
17855 "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
|
17856 "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
|
17857 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17858 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
|
17859 @uref{http://www.xs4all.nl/~rosalind/nocemreg/nocemreg.html}. |
25829 | 17860 |
17861 You do not have to heed NoCeM messages from all these people---just the | |
17862 ones you want to listen to. You also don't have to accept all NoCeM | |
17863 messages from the people you like. Each NoCeM message has a @dfn{type} | |
17864 header that gives the message a (more or less, usually less) rigorous | |
17865 definition. Common types are @samp{spam}, @samp{spew}, @samp{mmf}, | |
17866 @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
|
17867 @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
|
17868 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
|
17869 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
|
17870 @var{string} is a regexp that matches types you don't want to use. |
25829 | 17871 |
17872 For instance, if you want all NoCeM messages from Chris Lewis except his | |
17873 @samp{troll} messages, you'd say: | |
17874 | |
17875 @lisp | |
17876 ("clewis@@ferret.ocunix.on.ca" ".*" (not "troll")) | |
17877 @end lisp | |
17878 | |
17879 On the other hand, if you just want nothing but his @samp{spam} and | |
17880 @samp{spew} messages, you'd say: | |
17881 | |
17882 @lisp | |
17883 ("clewis@@ferret.ocunix.on.ca" (not ".*") "spew" "spam") | |
17884 @end lisp | |
17885 | |
17886 The specs are applied left-to-right. | |
17887 | |
17888 | |
17889 @item gnus-nocem-verifyer | |
17890 @vindex gnus-nocem-verifyer | |
17891 @findex mc-verify | |
17892 This should be a function for verifying that the NoCeM issuer is who she | |
17893 says she is. The default is @code{mc-verify}, which is a Mailcrypt | |
17894 function. If this is too slow and you don't care for verification | |
17895 (which may be dangerous), you can set this variable to @code{nil}. | |
17896 | |
17897 If you want signed NoCeM messages to be verified and unsigned messages | |
17898 not to be verified (but used anyway), you could do something like: | |
17899 | |
17900 @lisp | |
17901 (setq gnus-nocem-verifyer 'my-gnus-mc-verify) | |
17902 | |
17903 (defun my-gnus-mc-verify () | |
17904 (not (eq 'forged | |
17905 (ignore-errors | |
17906 (if (mc-verify) | |
17907 t | |
17908 'forged))))) | |
17909 @end lisp | |
17910 | |
17911 This might be dangerous, though. | |
17912 | |
17913 @item gnus-nocem-directory | |
17914 @vindex gnus-nocem-directory | |
17915 This is where Gnus will store its NoCeM cache files. The default is | |
17916 @file{~/News/NoCeM/}. | |
17917 | |
17918 @item gnus-nocem-expiry-wait | |
17919 @vindex gnus-nocem-expiry-wait | |
17920 The number of days before removing old NoCeM entries from the cache. | |
17921 The default is 15. If you make it shorter Gnus will be faster, but you | |
17922 might then see old spam. | |
17923 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17924 @item gnus-nocem-check-from |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17925 @vindex gnus-nocem-check-from |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17926 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
|
17927 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
|
17928 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
|
17929 issuers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17930 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
17931 @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
|
17932 @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
|
17933 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
|
17934 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
|
17935 |
25829 | 17936 @end table |
17937 | |
17938 Using NoCeM could potentially be a memory hog. If you have many living | |
17939 (i. e., subscribed or unsubscribed groups), your Emacs process will grow | |
17940 big. If this is a problem, you should kill off all (or most) of your | |
17941 unsubscribed groups (@pxref{Subscription Commands}). | |
17942 | |
17943 | |
17944 @node Undo | |
17945 @section Undo | |
17946 @cindex undo | |
17947 | |
17948 It is very useful to be able to undo actions one has done. In normal | |
17949 Emacs buffers, it's easy enough---you just push the @code{undo} button. | |
17950 In Gnus buffers, however, it isn't that simple. | |
17951 | |
17952 The things Gnus displays in its buffer is of no value whatsoever to | |
17953 Gnus---it's all just data designed to look nice to the user. | |
17954 Killing a group in the group buffer with @kbd{C-k} makes the line | |
17955 disappear, but that's just a side-effect of the real action---the | |
17956 removal of the group in question from the internal Gnus structures. | |
17957 Undoing something like that can't be done by the normal Emacs | |
17958 @code{undo} function. | |
17959 | |
17960 Gnus tries to remedy this somewhat by keeping track of what the user | |
17961 does and coming up with actions that would reverse the actions the user | |
17962 takes. When the user then presses the @code{undo} key, Gnus will run | |
17963 the code to reverse the previous action, or the previous actions. | |
17964 However, not all actions are easily reversible, so Gnus currently offers | |
17965 a few key functions to be undoable. These include killing groups, | |
17966 yanking groups, and changing the list of read articles of groups. | |
17967 That's it, really. More functions may be added in the future, but each | |
17968 added function means an increase in data to be stored, so Gnus will | |
17969 never be totally undoable. | |
17970 | |
17971 @findex gnus-undo-mode | |
17972 @vindex gnus-use-undo | |
17973 @findex gnus-undo | |
17974 The undoability is provided by the @code{gnus-undo-mode} minor mode. It | |
17975 is used if @code{gnus-use-undo} is non-@code{nil}, which is the | |
17976 default. The @kbd{M-C-_} key performs the @code{gnus-undo} command | |
17977 command, which should feel kinda like the normal Emacs @code{undo} | |
17978 command. | |
17979 | |
17980 | |
17981 @node Moderation | |
17982 @section Moderation | |
17983 @cindex moderation | |
17984 | |
17985 If you are a moderator, you can use the @file{gnus-mdrtn.el} package. | |
17986 It is not included in the standard Gnus package. Write a mail to | |
17987 @samp{larsi@@gnus.org} and state what group you moderate, and you'll | |
17988 get a copy. | |
17989 | |
17990 The moderation package is implemented as a minor mode for summary | |
17991 buffers. Put | |
17992 | |
17993 @lisp | |
17994 (add-hook 'gnus-summary-mode-hook 'gnus-moderate) | |
17995 @end lisp | |
17996 | |
17997 in your @file{.gnus.el} file. | |
17998 | |
17999 If you are the moderator of @samp{rec.zoofle}, this is how it's | |
18000 supposed to work: | |
18001 | |
18002 @enumerate | |
18003 @item | |
18004 You split your incoming mail by matching on | |
18005 @samp{Newsgroups:.*rec.zoofle}, which will put all the to-be-posted | |
18006 articles in some mail group---for instance, @samp{nnml:rec.zoofle}. | |
18007 | |
18008 @item | |
18009 You enter that group once in a while and post articles using the @kbd{e} | |
18010 (edit-and-post) or @kbd{s} (just send unedited) commands. | |
18011 | |
18012 @item | |
18013 If, while reading the @samp{rec.zoofle} newsgroup, you happen upon some | |
18014 articles that weren't approved by you, you can cancel them with the | |
18015 @kbd{c} command. | |
18016 @end enumerate | |
18017 | |
18018 To use moderation mode in these two groups, say: | |
18019 | |
18020 @lisp | |
18021 (setq gnus-moderated-list | |
18022 "^nnml:rec.zoofle$\\|^rec.zoofle$") | |
18023 @end lisp | |
18024 | |
33292 | 18025 @node Emacs Enhancements |
18026 @section Emacs Enhancements | |
18027 @cindex Emacs 21 | |
18028 | |
18029 Starting with version 21, Emacs is able to display pictures and stuff, | |
18030 so Gnus has taken advantage of that. | |
18031 | |
18032 Gnus-specific tool bars will be used if Tool Bar mode is on. Currently | |
18033 the group, summary and message buffers have tool bars defined. | |
18034 | |
18035 MIME image types may be displayed internally if Emacs was built with | |
18036 appropriate support (see variable @code{image-types}). `X-Face' headers | |
18037 may be rendered as images internally if you have appropriate support | |
18038 programs (@pxref{X-Face}). You can play sounds internally if Emacs was | |
18039 built with suitable audio support; otherwise Gnus will attempt to play | |
18040 sounds externally. | |
18041 | |
18042 @vindex gnus-treat-display-smileys | |
18043 A simplified version of the XEmacs Smiley support for @dfn{emoticons} | |
18044 (@pxref{Smileys}) is available on graphical displays under the control | |
18045 of @code{gnus-treat-display-smileys}. Text `smiley' faces---@samp{:-)}, | |
18046 @samp{:-/}, @samp{:-(} and the like---are mapped to pictures which are | |
18047 displayed instead. The mapping is controlled by a list of regexps | |
18048 @vindex smiley-regexp-alist | |
18049 @code{smiley-regexp-alist} mapping matched text to image file names. It | |
18050 contains matches for `smiley', `wry' and `frowny' by default. | |
18051 | |
18052 There is currently no Emacs support for `Picons' (@pxref{Picons}), but | |
18053 there is no reason why it couldn't be added. | |
25829 | 18054 |
18055 @node XEmacs Enhancements | |
18056 @section XEmacs Enhancements | |
18057 @cindex XEmacs | |
18058 | |
18059 XEmacs is able to display pictures and stuff, so Gnus has taken | |
18060 advantage of that. | |
18061 | |
18062 @menu | |
18063 * Picons:: How to display pictures of what your reading. | |
18064 * Smileys:: Show all those happy faces the way they were meant to be shown. | |
18065 * Toolbar:: Click'n'drool. | |
18066 * XVarious:: Other XEmacsy Gnusey variables. | |
18067 @end menu | |
18068 | |
18069 | |
18070 @node Picons | |
18071 @subsection Picons | |
18072 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18073 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18074 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18075 \include{picons} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18076 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18077 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18078 |
33292 | 18079 So@dots{} You want to slow down your news reader even more! This is a |
25829 | 18080 good way to do so. Its also a great way to impress people staring |
18081 over your shoulder as you read news. | |
18082 | |
18083 @menu | |
18084 * Picon Basics:: What are picons and How do I get them. | |
18085 * Picon Requirements:: Don't go further if you aren't using XEmacs. | |
18086 * Easy Picons:: Displaying Picons---the easy way. | |
18087 * Hard Picons:: The way you should do it. You'll learn something. | |
18088 * Picon Useless Configuration:: Other variables you can trash/tweak/munge/play with. | |
18089 @end menu | |
18090 | |
18091 | |
18092 @node Picon Basics | |
18093 @subsubsection Picon Basics | |
18094 | |
18095 What are Picons? To quote directly from the Picons Web site: | |
18096 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18097 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18098 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18099 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18100 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18101 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18102 |
25829 | 18103 @quotation |
18104 @dfn{Picons} is short for ``personal icons''. They're small, | |
18105 constrained images used to represent users and domains on the net, | |
18106 organized into databases so that the appropriate image for a given | |
18107 e-mail address can be found. Besides users and domains, there are picon | |
18108 databases for Usenet newsgroups and weather forecasts. The picons are | |
18109 in either monochrome @code{XBM} format or color @code{XPM} and | |
18110 @code{GIF} formats. | |
18111 @end quotation | |
18112 | |
18113 @vindex gnus-picons-piconsearch-url | |
18114 If you have a permanent connection to the Internet you can use Steve | |
18115 Kinzler's Picons Search engine by setting | |
18116 @code{gnus-picons-piconsearch-url} to the string @* | |
33292 | 18117 @uref{http://www.cs.indiana.edu/picons/search.html}. |
25829 | 18118 |
18119 @vindex gnus-picons-database | |
18120 Otherwise you need a local copy of his database. For instructions on | |
18121 obtaining and installing the picons databases, point your Web browser at @* | |
33292 | 18122 @uref{http://www.cs.indiana.edu/picons/ftp/index.html}. Gnus expects |
25829 | 18123 picons to be installed into a location pointed to by |
18124 @code{gnus-picons-database}. | |
18125 | |
18126 | |
18127 @node Picon Requirements | |
18128 @subsubsection Picon Requirements | |
18129 | |
18130 To have Gnus display Picons for you, you must be running XEmacs | |
18131 19.13 or greater since all other versions of Emacs aren't yet able to | |
18132 display images. | |
18133 | |
18134 Additionally, you must have @code{x} support compiled into XEmacs. To | |
18135 display color picons which are much nicer than the black & white one, | |
18136 you also need one of @code{xpm} or @code{gif} compiled into XEmacs. | |
18137 | |
18138 @vindex gnus-picons-convert-x-face | |
18139 If you want to display faces from @code{X-Face} headers, you should have | |
18140 the @code{xface} support compiled into XEmacs. Otherwise you must have | |
18141 the @code{netpbm} utilities installed, or munge the | |
18142 @code{gnus-picons-convert-x-face} variable to use something else. | |
18143 | |
18144 | |
18145 @node Easy Picons | |
18146 @subsubsection Easy Picons | |
18147 | |
18148 To enable displaying picons, simply put the following line in your | |
18149 @file{~/.gnus} file and start Gnus. | |
18150 | |
18151 @lisp | |
18152 (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
|
18153 (setq gnus-treat-display-picons t) |
25829 | 18154 @end lisp |
18155 | |
18156 and make sure @code{gnus-picons-database} points to the directory | |
18157 containing the Picons databases. | |
18158 | |
18159 Alternatively if you want to use the web piconsearch engine add this: | |
18160 | |
18161 @lisp | |
18162 (setq gnus-picons-piconsearch-url | |
18163 "http://www.cs.indiana.edu:800/piconsearch") | |
18164 @end lisp | |
18165 | |
18166 | |
18167 @node Hard Picons | |
18168 @subsubsection Hard Picons | |
18169 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18170 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18171 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18172 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18173 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18174 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18175 |
25829 | 18176 Gnus can display picons for you as you enter and leave groups and |
18177 articles. It knows how to interact with three sections of the picons | |
18178 database. Namely, it can display the picons newsgroup pictures, | |
18179 author's face picture(s), and the authors domain. To enable this | |
18180 feature, you need to select where to get the picons from, and where to | |
18181 display them. | |
18182 | |
18183 @table @code | |
18184 | |
18185 @item gnus-picons-database | |
18186 @vindex gnus-picons-database | |
18187 The location of the picons database. Should point to a directory | |
18188 containing the @file{news}, @file{domains}, @file{users} (and so on) | |
18189 subdirectories. This is only useful if | |
18190 @code{gnus-picons-piconsearch-url} is @code{nil}. Defaults to | |
18191 @file{/usr/local/faces/}. | |
18192 | |
18193 @item gnus-picons-piconsearch-url | |
18194 @vindex gnus-picons-piconsearch-url | |
18195 The URL for the web picons search engine. The only currently known | |
33292 | 18196 engine is @uref{http://www.cs.indiana.edu:800/piconsearch}. To |
25829 | 18197 workaround network delays, icons will be fetched in the background. If |
18198 this is @code{nil} 'the default), then picons are fetched from local | |
18199 database indicated by @code{gnus-picons-database}. | |
18200 | |
18201 @item gnus-picons-display-where | |
18202 @vindex gnus-picons-display-where | |
18203 Where the picon images should be displayed. It is @code{picons} by | |
18204 default (which by default maps to the buffer @samp{*Picons*}). Other | |
18205 valid places could be @code{article}, @code{summary}, or | |
18206 @samp{*scratch*} for all I care. Just make sure that you've made the | |
18207 buffer visible using the standard Gnus window configuration | |
18208 routines---@pxref{Windows Configuration}. | |
18209 | |
18210 @item gnus-picons-group-excluded-groups | |
18211 @vindex gnus-picons-group-excluded-groups | |
18212 Groups that are matched by this regexp won't have their group icons | |
18213 displayed. | |
18214 | |
18215 @end table | |
18216 | |
18217 Note: If you set @code{gnus-use-picons} to @code{t}, it will set up your | |
18218 window configuration for you to include the @code{picons} buffer. | |
18219 | |
18220 Now that you've made those decision, you need to add the following | |
18221 functions to the appropriate hooks so these pictures will get displayed | |
18222 at the right time. | |
18223 | |
18224 @vindex gnus-picons-display-where | |
18225 @table @code | |
18226 @item gnus-article-display-picons | |
18227 @findex gnus-article-display-picons | |
18228 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
|
18229 in the @code{gnus-picons-display-where} buffer. |
25829 | 18230 |
18231 @item gnus-picons-article-display-x-face | |
18232 @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
|
18233 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
|
18234 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18235 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18236 |
25829 | 18237 |
18238 | |
18239 @node Picon Useless Configuration | |
18240 @subsubsection Picon Useless Configuration | |
18241 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18242 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18243 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18244 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18245 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18246 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18247 |
25829 | 18248 The following variables offer further control over how things are |
18249 done, where things are located, and other useless stuff you really | |
18250 don't need to worry about. | |
18251 | |
18252 @table @code | |
18253 | |
18254 @item gnus-picons-news-directories | |
18255 @vindex gnus-picons-news-directories | |
18256 List of subdirectories to search in @code{gnus-picons-database} for | |
18257 newsgroups faces. @code{("news")} is the default. | |
18258 | |
18259 @item gnus-picons-user-directories | |
18260 @vindex gnus-picons-user-directories | |
18261 List of subdirectories to search in @code{gnus-picons-database} for user | |
18262 faces. @code{("local" "users" "usenix" "misc")} is the default. | |
18263 | |
18264 @item gnus-picons-domain-directories | |
18265 @vindex gnus-picons-domain-directories | |
18266 List of subdirectories to search in @code{gnus-picons-database} for | |
18267 domain name faces. Defaults to @code{("domains")}. Some people may | |
18268 want to add @samp{"unknown"} to this list. | |
18269 | |
18270 @item gnus-picons-convert-x-face | |
18271 @vindex gnus-picons-convert-x-face | |
18272 If you don't have @code{xface} support builtin XEmacs, this is the | |
18273 command to use to convert the @code{X-Face} header to an X bitmap | |
18274 (@code{xbm}). Defaults to @code{(format "@{ echo '/* Width=48, | |
18275 Height=48 */'; uncompface; @} | icontopbm | pbmtoxbm > %s" | |
18276 gnus-picons-x-face-file-name)} | |
18277 | |
18278 @item gnus-picons-x-face-file-name | |
18279 @vindex gnus-picons-x-face-file-name | |
18280 Names a temporary file to store the @code{X-Face} bitmap in. Defaults | |
18281 to @code{(format "/tmp/picon-xface.%s.xbm" (user-login-name))}. | |
18282 | |
18283 @item gnus-picons-has-modeline-p | |
18284 @vindex gnus-picons-has-modeline-p | |
18285 If you have set @code{gnus-picons-display-where} to @code{picons}, your | |
18286 XEmacs frame will become really cluttered. To alleviate this a bit you | |
18287 can set @code{gnus-picons-has-modeline-p} to @code{nil}; this will | |
18288 remove the mode line from the Picons buffer. This is only useful if | |
18289 @code{gnus-picons-display-where} is @code{picons}. | |
18290 | |
18291 @item gnus-picons-refresh-before-display | |
18292 @vindex gnus-picons-refresh-before-display | |
18293 If non-nil, display the article buffer before computing the picons. | |
18294 Defaults to @code{nil}. | |
18295 | |
18296 @item gnus-picons-display-as-address | |
18297 @vindex gnus-picons-display-as-address | |
18298 If @code{t} display textual email addresses along with pictures. | |
18299 Defaults to @code{t}. | |
18300 | |
18301 @item gnus-picons-file-suffixes | |
18302 @vindex gnus-picons-file-suffixes | |
18303 Ordered list of suffixes on picon file names to try. Defaults to | |
18304 @code{("xpm" "gif" "xbm")} minus those not builtin your XEmacs. | |
18305 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18306 @item gnus-picons-setup-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18307 @vindex gnus-picons-setup-hook |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18308 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
|
18309 |
25829 | 18310 @item gnus-picons-display-article-move-p |
18311 @vindex gnus-picons-display-article-move-p | |
18312 Whether to move point to first empty line when displaying picons. This | |
18313 has only an effect if `gnus-picons-display-where' has value `article'. | |
18314 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18315 If @code{nil}, display the picons in the @code{From} and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18316 @code{Newsgroups} lines. This is the defailt. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18317 |
25829 | 18318 @item gnus-picons-clear-cache-on-shutdown |
18319 @vindex gnus-picons-clear-cache-on-shutdown | |
18320 Whether to clear the picons cache when exiting gnus. Gnus caches every | |
18321 picons it finds while it is running. This saves some time in the search | |
18322 process but eats some memory. If this variable is set to @code{nil}, | |
18323 Gnus will never clear the cache itself; you will have to manually call | |
18324 @code{gnus-picons-clear-cache} to clear it. Otherwise the cache will be | |
18325 cleared every time you exit Gnus. Defaults to @code{t}. | |
18326 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18327 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18328 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18329 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18330 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18331 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18332 |
25829 | 18333 @end table |
18334 | |
18335 @node Smileys | |
18336 @subsection Smileys | |
18337 @cindex smileys | |
18338 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18339 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18340 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18341 \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
|
18342 \input{smiley} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18343 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18344 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18345 |
25829 | 18346 @dfn{Smiley} is a package separate from Gnus, but since Gnus is |
18347 currently the only package that uses Smiley, it is documented here. | |
18348 | |
18349 In short---to use Smiley in Gnus, put the following in your | |
18350 @file{.gnus.el} file: | |
18351 | |
18352 @lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18353 (setq gnus-treat-display-smileys t) |
25829 | 18354 @end lisp |
18355 | |
18356 Smiley maps text smiley faces---@samp{:-)}, @samp{:-=}, @samp{:-(} and | |
18357 the like---to pictures and displays those instead of the text smiley | |
18358 faces. The conversion is controlled by a list of regexps that matches | |
18359 text and maps that to file names. | |
18360 | |
18361 @vindex smiley-nosey-regexp-alist | |
18362 @vindex smiley-deformed-regexp-alist | |
18363 Smiley supplies two example conversion alists by default: | |
18364 @code{smiley-deformed-regexp-alist} (which matches @samp{:)}, @samp{:(} | |
18365 and so on), and @code{smiley-nosey-regexp-alist} (which matches | |
18366 @samp{:-)}, @samp{:-(} and so on). | |
18367 | |
18368 The alist used is specified by the @code{smiley-regexp-alist} variable, | |
18369 which defaults to the value of @code{smiley-deformed-regexp-alist}. | |
18370 | |
18371 The first item in each element is the regexp to be matched; the second | |
18372 element is the regexp match group that is to be replaced by the picture; | |
18373 and the third element is the name of the file to be displayed. | |
18374 | |
18375 The following variables customize where Smiley will look for these | |
18376 files, as well as the color to be used and stuff: | |
18377 | |
18378 @table @code | |
18379 | |
18380 @item smiley-data-directory | |
18381 @vindex smiley-data-directory | |
18382 Where Smiley will look for smiley faces files. | |
18383 | |
18384 @item smiley-flesh-color | |
18385 @vindex smiley-flesh-color | |
18386 Skin color. The default is @samp{yellow}, which is really racist. | |
18387 | |
18388 @item smiley-features-color | |
18389 @vindex smiley-features-color | |
18390 Color of the features of the face. The default is @samp{black}. | |
18391 | |
18392 @item smiley-tongue-color | |
18393 @vindex smiley-tongue-color | |
18394 Color of the tongue. The default is @samp{red}. | |
18395 | |
18396 @item smiley-circle-color | |
18397 @vindex smiley-circle-color | |
18398 Color of the circle around the face. The default is @samp{black}. | |
18399 | |
18400 @item smiley-mouse-face | |
18401 @vindex smiley-mouse-face | |
18402 Face used for mouse highlighting over the smiley face. | |
18403 | |
18404 @end table | |
18405 | |
18406 | |
18407 @node Toolbar | |
18408 @subsection Toolbar | |
18409 | |
18410 @table @code | |
18411 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18412 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18413 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18414 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18415 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18416 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18417 |
25829 | 18418 @item gnus-use-toolbar |
18419 @vindex gnus-use-toolbar | |
18420 If @code{nil}, don't display toolbars. If non-@code{nil}, it should be | |
18421 one of @code{default-toolbar}, @code{top-toolbar}, @code{bottom-toolbar}, | |
18422 @code{right-toolbar}, or @code{left-toolbar}. | |
18423 | |
18424 @item gnus-group-toolbar | |
18425 @vindex gnus-group-toolbar | |
18426 The toolbar in the group buffer. | |
18427 | |
18428 @item gnus-summary-toolbar | |
18429 @vindex gnus-summary-toolbar | |
18430 The toolbar in the summary buffer. | |
18431 | |
18432 @item gnus-summary-mail-toolbar | |
18433 @vindex gnus-summary-mail-toolbar | |
18434 The toolbar in the summary buffer of mail groups. | |
18435 | |
18436 @end table | |
18437 | |
18438 | |
18439 @node XVarious | |
18440 @subsection Various XEmacs Variables | |
18441 | |
18442 @table @code | |
18443 @item gnus-xmas-glyph-directory | |
18444 @vindex gnus-xmas-glyph-directory | |
18445 This is where Gnus will look for pictures. Gnus will normally | |
18446 auto-detect this directory, but you may set it manually if you have an | |
18447 unusual directory structure. | |
18448 | |
18449 @item gnus-xmas-logo-color-alist | |
18450 @vindex gnus-xmas-logo-color-alist | |
18451 This is an alist where the key is a type symbol and the values are the | |
18452 foreground and background color of the splash page glyph. | |
18453 | |
18454 @item gnus-xmas-logo-color-style | |
18455 @vindex gnus-xmas-logo-color-style | |
18456 This is the key used to look up the color in the alist described above. | |
18457 Valid values include @code{flame}, @code{pine}, @code{moss}, | |
18458 @code{irish}, @code{sky}, @code{tin}, @code{velvet}, @code{grape}, | |
18459 @code{labia}, @code{berry}, @code{neutral}, and @code{september}. | |
18460 | |
18461 @item gnus-xmas-modeline-glyph | |
18462 @vindex gnus-xmas-modeline-glyph | |
18463 A glyph displayed in all Gnus mode lines. It is a tiny gnu head by | |
18464 default. | |
18465 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18466 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18467 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18468 \margindex{} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18469 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18470 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18471 |
25829 | 18472 @end table |
18473 | |
18474 | |
18475 | |
18476 | |
18477 @node Fuzzy Matching | |
18478 @section Fuzzy Matching | |
18479 @cindex fuzzy matching | |
18480 | |
18481 Gnus provides @dfn{fuzzy matching} of @code{Subject} lines when doing | |
18482 things like scoring, thread gathering and thread comparison. | |
18483 | |
18484 As opposed to regular expression matching, fuzzy matching is very fuzzy. | |
18485 It's so fuzzy that there's not even a definition of what @dfn{fuzziness} | |
18486 means, and the implementation has changed over time. | |
18487 | |
18488 Basically, it tries to remove all noise from lines before comparing. | |
18489 @samp{Re: }, parenthetical remarks, white space, and so on, are filtered | |
18490 out of the strings before comparing the results. This often leads to | |
18491 adequate results---even when faced with strings generated by text | |
18492 manglers masquerading as newsreaders. | |
18493 | |
18494 | |
18495 @node Thwarting Email Spam | |
18496 @section Thwarting Email Spam | |
18497 @cindex email spam | |
18498 @cindex spam | |
18499 @cindex UCE | |
18500 @cindex unsolicited commercial email | |
18501 | |
18502 In these last days of the Usenet, commercial vultures are hanging about | |
18503 and grepping through news like crazy to find email addresses they can | |
18504 foist off their scams and products to. As a reaction to this, many | |
18505 people have started putting nonsense addresses into their @code{From} | |
18506 lines. I think this is counterproductive---it makes it difficult for | |
18507 people to send you legitimate mail in response to things you write, as | |
18508 well as making it difficult to see who wrote what. This rewriting may | |
18509 perhaps be a bigger menace than the unsolicited commercial email itself | |
18510 in the end. | |
18511 | |
18512 The biggest problem I have with email spam is that it comes in under | |
18513 false pretenses. I press @kbd{g} and Gnus merrily informs me that I | |
18514 have 10 new emails. I say ``Golly gee! Happy is me!'' and select the | |
18515 mail group, only to find two pyramid schemes, seven advertisements | |
18516 (``New! Miracle tonic for growing full, lustrous hair on your toes!'') | |
18517 and one mail asking me to repent and find some god. | |
18518 | |
18519 This is annoying. | |
18520 | |
18521 The way to deal with this is having Gnus split out all spam into a | |
18522 @samp{spam} mail group (@pxref{Splitting Mail}). | |
18523 | |
18524 First, pick one (1) valid mail address that you can be reached at, and | |
18525 put it in your @code{From} header of all your news articles. (I've | |
18526 chosen @samp{larsi@@trym.ifi.uio.no}, but for many addresses on the form | |
18527 @samp{larsi+usenet@@ifi.uio.no} will be a better choice. Ask your | |
18528 sysadm whether your sendmail installation accepts keywords in the local | |
18529 part of the mail address.) | |
18530 | |
18531 @lisp | |
18532 (setq message-default-news-headers | |
18533 "From: Lars Magne Ingebrigtsen <larsi@@trym.ifi.uio.no>\n") | |
18534 @end lisp | |
18535 | |
18536 Then put the following split rule in @code{nnmail-split-fancy} | |
18537 (@pxref{Fancy Mail Splitting}): | |
18538 | |
18539 @lisp | |
18540 ( | |
18541 ... | |
18542 (to "larsi@@trym.ifi.uio.no" | |
18543 (| ("subject" "re:.*" "misc") | |
18544 ("references" ".*@@.*" "misc") | |
18545 "spam")) | |
18546 ... | |
18547 ) | |
18548 @end lisp | |
18549 | |
18550 This says that all mail to this address is suspect, but if it has a | |
18551 @code{Subject} that starts with a @samp{Re:} or has a @code{References} | |
18552 header, it's probably ok. All the rest goes to the @samp{spam} group. | |
18553 (This idea probably comes from Tim Pierce.) | |
18554 | |
18555 In addition, many mail spammers talk directly to your @code{smtp} server | |
18556 and do not include your email address explicitly in the @code{To} | |
18557 header. Why they do this is unknown---perhaps it's to thwart this | |
18558 thwarting scheme? In any case, this is trivial to deal with---you just | |
18559 put anything not addressed to you in the @samp{spam} group by ending | |
18560 your fancy split rule in this way: | |
18561 | |
18562 @lisp | |
18563 ( | |
18564 ... | |
18565 (to "larsi" "misc") | |
18566 "spam") | |
18567 @end lisp | |
18568 | |
18569 In my experience, this will sort virtually everything into the right | |
18570 group. You still have to check the @samp{spam} group from time to time to | |
18571 check for legitimate mail, though. If you feel like being a good net | |
18572 citizen, you can even send off complaints to the proper authorities on | |
18573 each unsolicited commercial email---at your leisure. | |
18574 | |
18575 If you are also a lazy net citizen, you will probably prefer complaining | |
18576 automatically with the @file{gnus-junk.el} package, available FOR FREE | |
33292 | 18577 at @* @uref{http://stud2.tuwien.ac.at/~e9426626/gnus-junk.html}. |
25829 | 18578 Since most e-mail spam is sent automatically, this may reconcile the |
18579 cosmic balance somewhat. | |
18580 | |
18581 This works for me. It allows people an easy way to contact me (they can | |
18582 just press @kbd{r} in the usual way), and I'm not bothered at all with | |
18583 spam. It's a win-win situation. Forging @code{From} headers to point | |
18584 to non-existent domains is yucky, in my opinion. | |
18585 | |
18586 | |
18587 @node Various Various | |
18588 @section Various Various | |
18589 @cindex mode lines | |
18590 @cindex highlights | |
18591 | |
18592 @table @code | |
18593 | |
18594 @item gnus-home-directory | |
18595 All Gnus path variables will be initialized from this variable, which | |
18596 defaults to @file{~/}. | |
18597 | |
18598 @item gnus-directory | |
18599 @vindex gnus-directory | |
18600 Most Gnus storage path variables will be initialized from this variable, | |
18601 which defaults to the @samp{SAVEDIR} environment variable, or | |
18602 @file{~/News/} if that variable isn't set. | |
18603 | |
18604 Note that Gnus is mostly loaded when the @file{.gnus.el} file is read. | |
18605 This means that other directory variables that are initialized from this | |
18606 variable won't be set properly if you set this variable in | |
18607 @file{.gnus.el}. Set this variable in @file{.emacs} instead. | |
18608 | |
18609 @item gnus-default-directory | |
18610 @vindex gnus-default-directory | |
18611 Not related to the above variable at all---this variable says what the | |
18612 default directory of all Gnus buffers should be. If you issue commands | |
18613 like @kbd{C-x C-f}, the prompt you'll get starts in the current buffer's | |
18614 default directory. If this variable is @code{nil} (which is the | |
18615 default), the default directory will be the default directory of the | |
18616 buffer you were in when you started Gnus. | |
18617 | |
18618 @item gnus-verbose | |
18619 @vindex gnus-verbose | |
18620 This variable is an integer between zero and ten. The higher the value, | |
18621 the more messages will be displayed. If this variable is zero, Gnus | |
18622 will never flash any messages, if it is seven (which is the default), | |
18623 most important messages will be shown, and if it is ten, Gnus won't ever | |
18624 shut up, but will flash so many messages it will make your head swim. | |
18625 | |
18626 @item gnus-verbose-backends | |
18627 @vindex gnus-verbose-backends | |
18628 This variable works the same way as @code{gnus-verbose}, but it applies | |
18629 to the Gnus backends instead of Gnus proper. | |
18630 | |
18631 @item nnheader-max-head-length | |
18632 @vindex nnheader-max-head-length | |
18633 When the backends read straight heads of articles, they all try to read | |
18634 as little as possible. This variable (default 4096) specifies | |
18635 the absolute max length the backends will try to read before giving up | |
18636 on finding a separator line between the head and the body. If this | |
18637 variable is @code{nil}, there is no upper read bound. If it is | |
18638 @code{t}, the backends won't try to read the articles piece by piece, | |
18639 but read the entire articles. This makes sense with some versions of | |
18640 @code{ange-ftp} or @code{efs}. | |
18641 | |
18642 @item nnheader-head-chop-length | |
18643 @vindex nnheader-head-chop-length | |
18644 This variable (default 2048) says how big a piece of each article to | |
18645 read when doing the operation described above. | |
18646 | |
18647 @item nnheader-file-name-translation-alist | |
18648 @vindex nnheader-file-name-translation-alist | |
18649 @cindex file names | |
18650 @cindex invalid characters in file names | |
18651 @cindex characters in file names | |
18652 This is an alist that says how to translate characters in file names. | |
18653 For instance, if @samp{:} is invalid as a file character in file names | |
18654 on your system (you OS/2 user you), you could say something like: | |
18655 | |
18656 @lisp | |
18657 (setq nnheader-file-name-translation-alist | |
18658 '((?: . ?_))) | |
18659 @end lisp | |
18660 | |
18661 In fact, this is the default value for this variable on OS/2 and MS | |
18662 Windows (phooey) systems. | |
18663 | |
18664 @item gnus-hidden-properties | |
18665 @vindex gnus-hidden-properties | |
18666 This is a list of properties to use to hide ``invisible'' text. It is | |
18667 @code{(invisible t intangible t)} by default on most systems, which | |
18668 makes invisible text invisible and intangible. | |
18669 | |
18670 @item gnus-parse-headers-hook | |
18671 @vindex gnus-parse-headers-hook | |
18672 A hook called before parsing headers. It can be used, for instance, to | |
18673 gather statistics on the headers fetched, or perhaps you'd like to prune | |
18674 some headers. I don't see why you'd want that, though. | |
18675 | |
18676 @item gnus-shell-command-separator | |
18677 @vindex gnus-shell-command-separator | |
18678 String used to separate two shell commands. The default is @samp{;}. | |
18679 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18680 @item gnus-invalid-group-regexp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18681 @vindex gnus-invalid-group-regexp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18682 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18683 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
|
18684 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
|
18685 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
|
18686 @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
|
18687 group). |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18688 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18689 IMAP users might want to allow @samp{/} in group names though. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18690 |
25829 | 18691 |
18692 @end table | |
18693 | |
18694 | |
18695 @node The End | |
18696 @chapter The End | |
18697 | |
18698 Well, that's the manual---you can get on with your life now. Keep in | |
18699 touch. Say hello to your cats from me. | |
18700 | |
18701 My @strong{ghod}---I just can't stand goodbyes. Sniffle. | |
18702 | |
18703 Ol' Charles Reznikoff said it pretty well, so I leave the floor to him: | |
18704 | |
18705 @quotation | |
18706 @strong{Te Deum} | |
18707 | |
18708 @sp 1 | |
18709 Not because of victories @* | |
18710 I sing,@* | |
18711 having none,@* | |
18712 but for the common sunshine,@* | |
18713 the breeze,@* | |
18714 the largess of the spring. | |
18715 | |
18716 @sp 1 | |
18717 Not for victory@* | |
18718 but for the day's work done@* | |
18719 as well as I was able;@* | |
18720 not for a seat upon the dais@* | |
18721 but at the common table.@* | |
18722 @end quotation | |
18723 | |
18724 | |
18725 @node Appendices | |
18726 @chapter Appendices | |
18727 | |
18728 @menu | |
18729 * 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
|
18730 * On Writing Manuals:: Why this is not a beginner's guide. |
25829 | 18731 * Terminology:: We use really difficult, like, words here. |
18732 * Customization:: Tailoring Gnus to your needs. | |
18733 * 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
|
18734 * Gnus Reference Guide:: Rilly, rilly technical stuff. |
25829 | 18735 * Emacs for Heathens:: A short introduction to Emacsian terms. |
18736 * Frequently Asked Questions:: A question-and-answer session. | |
18737 @end menu | |
18738 | |
18739 | |
18740 @node History | |
18741 @section History | |
18742 | |
18743 @cindex history | |
18744 @sc{gnus} was written by Masanobu @sc{Umeda}. When autumn crept up in | |
18745 '94, Lars Magne Ingebrigtsen grew bored and decided to rewrite Gnus. | |
18746 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18747 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
|
18748 you can point your (feh!) web browser to |
33292 | 18749 @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
|
18750 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
|
18751 known as The Site That Destroys Newsrcs And Drives People Mad. |
25829 | 18752 |
18753 During the first extended alpha period of development, the new Gnus was | |
18754 called ``(ding) Gnus''. @dfn{(ding)} is, of course, short for | |
18755 @dfn{ding is not Gnus}, which is a total and utter lie, but who cares? | |
18756 (Besides, the ``Gnus'' in this abbreviation should probably be | |
18757 pronounced ``news'' as @sc{Umeda} intended, which makes it a more | |
18758 appropriate name, don't you think?) | |
18759 | |
18760 In any case, after spending all that energy on coming up with a new and | |
18761 spunky name, we decided that the name was @emph{too} spunky, so we | |
18762 renamed it back again to ``Gnus''. But in mixed case. ``Gnus'' vs. | |
18763 ``@sc{gnus}''. New vs. old. | |
18764 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18765 @menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18766 * 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
|
18767 * 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
|
18768 * 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
|
18769 * 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
|
18770 * 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
|
18771 * 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
|
18772 * 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
|
18773 * Contributors:: Oodles of people. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18774 * 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
|
18775 * Newest Features:: Features so new that they haven't been written yet. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18776 @end menu |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18777 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18778 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18779 @node Gnus Versions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18780 @subsection Gnus Versions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18781 @cindex Pterodactyl Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18782 @cindex ding Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18783 @cindex September Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18784 @cindex Quassia Gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18785 |
25829 | 18786 The first ``proper'' release of Gnus 5 was done in November 1995 when it |
18787 was included in the Emacs 19.30 distribution (132 (ding) Gnus releases | |
18788 plus 15 Gnus 5.0 releases). | |
18789 | |
18790 In May 1996 the next Gnus generation (aka. ``September Gnus'' (after 99 | |
18791 releases)) was released under the name ``Gnus 5.2'' (40 releases). | |
18792 | |
18793 On July 28th 1996 work on Red Gnus was begun, and it was released on | |
18794 January 25th 1997 (after 84 releases) as ``Gnus 5.4'' (67 releases). | |
18795 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18796 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
|
18797 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
|
18798 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18799 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
|
18800 ``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
|
18801 1999. |
25829 | 18802 |
18803 If you happen upon a version of Gnus that has a prefixed name -- | |
18804 ``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' -- | |
18805 don't panic. Don't let it know that you're frightened. Back away. | |
18806 Slowly. Whatever you do, don't run. Walk away, calmly, until you're | |
18807 out of its reach. Find a proper released version of Gnus and snuggle up | |
18808 to that instead. | |
18809 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18810 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18811 @node Other Gnus Versions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18812 @subsection Other Gnus Versions |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18813 @cindex Semi-gnus |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18814 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18815 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
|
18816 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
|
18817 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
|
18818 @sc{mime} capabilities. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18819 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18820 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
|
18821 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
|
18822 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
|
18823 @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
|
18824 Japanese users. |
25829 | 18825 |
18826 | |
18827 @node Why? | |
18828 @subsection Why? | |
18829 | |
18830 What's the point of Gnus? | |
18831 | |
18832 I want to provide a ``rad'', ``happening'', ``way cool'' and ``hep'' | |
18833 newsreader, that lets you do anything you can think of. That was my | |
18834 original motivation, but while working on Gnus, it has become clear to | |
18835 me that this generation of newsreaders really belong in the stone age. | |
18836 Newsreaders haven't developed much since the infancy of the net. If the | |
18837 volume continues to rise with the current rate of increase, all current | |
18838 newsreaders will be pretty much useless. How do you deal with | |
18839 newsgroups that have thousands of new articles each day? How do you | |
18840 keep track of millions of people who post? | |
18841 | |
18842 Gnus offers no real solutions to these questions, but I would very much | |
18843 like to see Gnus being used as a testing ground for new methods of | |
18844 reading and fetching news. Expanding on @sc{Umeda}-san's wise decision | |
18845 to separate the newsreader from the backends, Gnus now offers a simple | |
18846 interface for anybody who wants to write new backends for fetching mail | |
18847 and news from different sources. I have added hooks for customizations | |
18848 everywhere I could imagine it being useful. By doing so, I'm inviting | |
18849 every one of you to explore and invent. | |
18850 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18851 May Gnus never be complete. @kbd{C-u 100 M-x all-hail-emacs} and |
25829 | 18852 @kbd{C-u 100 M-x all-hail-xemacs}. |
18853 | |
18854 | |
18855 @node Compatibility | |
18856 @subsection Compatibility | |
18857 | |
18858 @cindex compatibility | |
18859 Gnus was designed to be fully compatible with @sc{gnus}. Almost all key | |
18860 bindings have been kept. More key bindings have been added, of course, | |
18861 but only in one or two obscure cases have old bindings been changed. | |
18862 | |
18863 Our motto is: | |
18864 @quotation | |
18865 @cartouche | |
18866 @center In a cloud bones of steel. | |
18867 @end cartouche | |
18868 @end quotation | |
18869 | |
18870 All commands have kept their names. Some internal functions have changed | |
18871 their names. | |
18872 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18873 The @code{gnus-uu} package has changed drastically. @xref{Decoding |
25829 | 18874 Articles}. |
18875 | |
18876 One major compatibility question is the presence of several summary | |
18877 buffers. All variables relevant while reading a group are | |
18878 buffer-local to the summary buffer they belong in. Although many | |
18879 important variables have their values copied into their global | |
18880 counterparts whenever a command is executed in the summary buffer, this | |
18881 change might lead to incorrect values being used unless you are careful. | |
18882 | |
18883 All code that relies on knowledge of @sc{gnus} internals will probably | |
18884 fail. To take two examples: Sorting @code{gnus-newsrc-alist} (or | |
18885 changing it in any way, as a matter of fact) is strictly verboten. Gnus | |
18886 maintains a hash table that points to the entries in this alist (which | |
18887 speeds up many functions), and changing the alist directly will lead to | |
18888 peculiar results. | |
18889 | |
18890 @cindex hilit19 | |
18891 @cindex highlighting | |
18892 Old hilit19 code does not work at all. In fact, you should probably | |
18893 remove all hilit code from all Gnus hooks | |
18894 (@code{gnus-group-prepare-hook} and @code{gnus-summary-prepare-hook}). | |
18895 Gnus provides various integrated functions for highlighting. These are | |
18896 faster and more accurate. To make life easier for everybody, Gnus will | |
18897 by default remove all hilit calls from all hilit hooks. Uncleanliness! | |
18898 Away! | |
18899 | |
18900 Packages like @code{expire-kill} will no longer work. As a matter of | |
18901 fact, you should probably remove all old @sc{gnus} packages (and other | |
18902 code) when you start using Gnus. More likely than not, Gnus already | |
18903 does what you have written code to make @sc{gnus} do. (Snicker.) | |
18904 | |
18905 Even though old methods of doing things are still supported, only the | |
18906 new methods are documented in this manual. If you detect a new method of | |
18907 doing something while reading this manual, that does not mean you have | |
18908 to stop doing it the old way. | |
18909 | |
18910 Gnus understands all @sc{gnus} startup files. | |
18911 | |
18912 @kindex M-x gnus-bug | |
18913 @findex gnus-bug | |
18914 @cindex reporting bugs | |
18915 @cindex bugs | |
18916 Overall, a casual user who hasn't written much code that depends on | |
18917 @sc{gnus} internals should suffer no problems. If problems occur, | |
18918 please let me know by issuing that magic command @kbd{M-x gnus-bug}. | |
18919 | |
18920 @vindex gnus-bug-create-help-buffer | |
18921 If you are in the habit of sending bug reports @emph{very} often, you | |
18922 may find the helpful help buffer annoying after a while. If so, set | |
18923 @code{gnus-bug-create-help-buffer} to @code{nil} to avoid having it pop | |
18924 up at you. | |
18925 | |
18926 | |
18927 @node Conformity | |
18928 @subsection Conformity | |
18929 | |
18930 No rebels without a clue here, ma'am. We conform to all standards known | |
18931 to (wo)man. Except for those standards and/or conventions we disagree | |
18932 with, of course. | |
18933 | |
18934 @table @strong | |
18935 | |
18936 @item RFC 822 | |
18937 @cindex RFC 822 | |
18938 There are no known breaches of this standard. | |
18939 | |
18940 @item RFC 1036 | |
18941 @cindex RFC 1036 | |
18942 There are no known breaches of this standard, either. | |
18943 | |
18944 @item Son-of-RFC 1036 | |
18945 @cindex Son-of-RFC 1036 | |
18946 We do have some breaches to this one. | |
18947 | |
18948 @table @emph | |
18949 | |
18950 @item X-Newsreader | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18951 @itemx User-Agent |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18952 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
|
18953 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
|
18954 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
|
18955 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
|
18956 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
|
18957 @end table |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18958 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18959 @item USEFOR |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18960 @cindex USEFOR |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18961 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
|
18962 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
|
18963 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
|
18964 look into implementing the changes when the draft is accepted as an RFC. |
25829 | 18965 |
18966 @end table | |
18967 | |
18968 If you ever notice Gnus acting non-compliant with regards to the texts | |
18969 mentioned above, don't hesitate to drop a note to Gnus Towers and let us | |
18970 know. | |
18971 | |
18972 | |
18973 @node Emacsen | |
18974 @subsection Emacsen | |
18975 @cindex Emacsen | |
18976 @cindex XEmacs | |
18977 @cindex Mule | |
18978 @cindex Emacs | |
18979 | |
18980 Gnus should work on : | |
18981 | |
18982 @itemize @bullet | |
18983 | |
18984 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18985 Emacs 20.3 and up. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18986 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18987 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18988 XEmacs 20.4 and up. |
25829 | 18989 |
18990 @end itemize | |
18991 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
18992 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
|
18993 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
|
18994 Emacs versions. |
25829 | 18995 |
18996 There are some vague differences between Gnus on the various | |
18997 platforms---XEmacs features more graphics (a logo and a toolbar)---but | |
18998 other than that, things should look pretty much the same under all | |
18999 Emacsen. | |
19000 | |
19001 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19002 @node Gnus Development |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19003 @subsection Gnus Development |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19004 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19005 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
|
19006 discussion on the @samp{ding@@gnus.org} mailing list, where people |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19007 propose changes and new features, post patches and new backends. This |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19008 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
|
19009 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
|
19010 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
|
19011 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
|
19012 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
|
19013 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19014 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
|
19015 @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
|
19016 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
|
19017 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
|
19018 @samp{gnu.emacs.gnus} newsgroup. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19019 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19020 @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
|
19021 @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
|
19022 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
|
19023 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
|
19024 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
|
19025 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
|
19026 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19027 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
|
19028 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
|
19029 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
|
19030 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
|
19031 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
|
19032 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
|
19033 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
|
19034 either discarded or totally rewritten. People reading the mailing list |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19035 usually keep up with these rapid changes, whille people on the newsgroup |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19036 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
|
19037 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19038 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19039 |
25829 | 19040 @node Contributors |
19041 @subsection Contributors | |
19042 @cindex contributors | |
19043 | |
19044 The new Gnus version couldn't have been done without the help of all the | |
19045 people on the (ding) mailing list. Every day for over a year I have | |
19046 gotten billions of nice bug reports from them, filling me with joy, | |
19047 every single one of them. Smooches. The people on the list have been | |
19048 tried beyond endurance, what with my ``oh, that's a neat idea <type | |
19049 type>, yup, I'll release it right away <ship off> no wait, that doesn't | |
19050 work at all <type type>, yup, I'll ship that one off right away <ship | |
19051 off> no, wait, that absolutely does not work'' policy for releases. | |
19052 Micro$oft---bah. Amateurs. I'm @emph{much} worse. (Or is that | |
19053 ``worser''? ``much worser''? ``worsest''?) | |
19054 | |
19055 I would like to take this opportunity to thank the Academy for... oops, | |
19056 wrong show. | |
19057 | |
19058 @itemize @bullet | |
19059 | |
19060 @item | |
19061 Masanobu @sc{Umeda}---the writer of the original @sc{gnus}. | |
19062 | |
19063 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19064 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
|
19065 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
|
19066 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
|
19067 functionality and stuff. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19068 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19069 @item |
25829 | 19070 Per Abrahamsen---custom, scoring, highlighting and @sc{soup} code (as |
19071 well as numerous other things). | |
19072 | |
19073 @item | |
19074 Luis Fernandes---design and graphics. | |
19075 | |
19076 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19077 Justin Sheehy--the FAQ maintainer. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19078 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19079 @item |
25829 | 19080 Erik Naggum---help, ideas, support, code and stuff. |
19081 | |
19082 @item | |
19083 Wes Hardaker---@file{gnus-picon.el} and the manual section on | |
19084 @dfn{picons} (@pxref{Picons}). | |
19085 | |
19086 @item | |
19087 Kim-Minh Kaplan---further work on the picon code. | |
19088 | |
19089 @item | |
19090 Brad Miller---@file{gnus-gl.el} and the GroupLens manual section | |
19091 (@pxref{GroupLens}). | |
19092 | |
19093 @item | |
19094 Sudish Joseph---innumerable bug fixes. | |
19095 | |
19096 @item | |
19097 Ilja Weis---@file{gnus-topic.el}. | |
19098 | |
19099 @item | |
19100 Steven L. Baur---lots and lots and lots of bugs detections and fixes. | |
19101 | |
19102 @item | |
19103 Vladimir Alexiev---the refcard and reference booklets. | |
19104 | |
19105 @item | |
19106 Felix Lee & Jamie Zawinski---I stole some pieces from the XGnus | |
19107 distribution by Felix Lee and JWZ. | |
19108 | |
19109 @item | |
19110 Scott Byer---@file{nnfolder.el} enhancements & rewrite. | |
19111 | |
19112 @item | |
19113 Peter Mutsaers---orphan article scoring code. | |
19114 | |
19115 @item | |
19116 Ken Raeburn---POP mail support. | |
19117 | |
19118 @item | |
19119 Hallvard B Furuseth---various bits and pieces, especially dealing with | |
19120 .newsrc files. | |
19121 | |
19122 @item | |
19123 Brian Edmonds---@file{gnus-bbdb.el}. | |
19124 | |
19125 @item | |
19126 David Moore---rewrite of @file{nnvirtual.el} and many other things. | |
19127 | |
19128 @item | |
19129 Kevin Davidson---came up with the name @dfn{ding}, so blame him. | |
19130 | |
19131 @item | |
19132 François Pinard---many, many interesting and thorough bug reports, as | |
19133 well as autoconf support. | |
19134 | |
19135 @end itemize | |
19136 | |
19137 This manual was proof-read by Adrian Aichner, with Ricardo Nassif, Mark | |
19138 Borges, and Jost Krieger proof-reading parts of the manual. | |
19139 | |
19140 The following people have contributed many patches and suggestions: | |
19141 | |
19142 Christopher Davis, | |
19143 Andrew Eskilsson, | |
19144 Kai Grossjohann, | |
19145 David Kågedal, | |
19146 Richard Pieri, | |
19147 Fabrice Popineau, | |
19148 Daniel Quinlan, | |
19149 Jason L. Tibbitts, III, | |
19150 and | |
19151 Jack Vinson. | |
19152 | |
19153 Also thanks to the following for patches and stuff: | |
19154 | |
19155 Jari Aalto, | |
19156 Adrian Aichner, | |
19157 Vladimir Alexiev, | |
19158 Russ Allbery, | |
19159 Peter Arius, | |
19160 Matt Armstrong, | |
19161 Marc Auslander, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19162 Miles Bader, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19163 Alexei V. Barantsev, |
25829 | 19164 Frank Bennett, |
19165 Robert Bihlmeyer, | |
19166 Chris Bone, | |
19167 Mark Borges, | |
19168 Mark Boyns, | |
19169 Lance A. Brown, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19170 Rob Browning, |
25829 | 19171 Kees de Bruin, |
19172 Martin Buchholz, | |
19173 Joe Buehler, | |
19174 Kevin Buhr, | |
19175 Alastair Burt, | |
19176 Joao Cachopo, | |
19177 Zlatko Calusic, | |
19178 Massimo Campostrini, | |
19179 Castor, | |
19180 David Charlap, | |
19181 Dan Christensen, | |
19182 Kevin Christian, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19183 Jae-you Chung, @c ? |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19184 James H. Cloos, Jr., |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19185 Laura Conrad, |
25829 | 19186 Michael R. Cook, |
19187 Glenn Coombs, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19188 Andrew J. Cosgriff, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19189 Neil Crellin, |
25829 | 19190 Frank D. Cringle, |
19191 Geoffrey T. Dairiki, | |
19192 Andre Deparade, | |
19193 Ulrik Dickow, | |
19194 Dave Disser, | |
19195 Rui-Tao Dong, @c ? | |
19196 Joev Dubach, | |
19197 Michael Welsh Duggan, | |
19198 Dave Edmondson, | |
19199 Paul Eggert, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19200 Mark W. Eichin, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19201 Karl Eichwalder, |
25829 | 19202 Enami Tsugutomo, @c Enami |
19203 Michael Ernst, | |
19204 Luc Van Eycken, | |
19205 Sam Falkner, | |
19206 Nelson Jose dos Santos Ferreira, | |
19207 Sigbjorn Finne, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19208 Sven Fischer, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19209 Paul Fisher, |
25829 | 19210 Decklin Foster, |
19211 Gary D. Foster, | |
19212 Paul Franklin, | |
19213 Guy Geens, | |
19214 Arne Georg Gleditsch, | |
19215 David S. Goldberg, | |
19216 Michelangelo Grigni, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19217 Dale Hagglund, |
25829 | 19218 D. Hall, |
19219 Magnus Hammerin, | |
19220 Kenichi Handa, @c Handa | |
19221 Raja R. Harinath, | |
19222 Yoshiki Hayashi, @c ? | |
19223 P. E. Jareth Hein, | |
19224 Hisashige Kenji, @c Hisashige | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19225 Scott Hofmann, |
25829 | 19226 Marc Horowitz, |
19227 Gunnar Horrigmo, | |
19228 Richard Hoskins, | |
19229 Brad Howes, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19230 Miguel de Icaza, |
25829 | 19231 François Felix Ingrand, |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19232 Tatsuya Ichikawa, @c ? |
25829 | 19233 Ishikawa Ichiro, @c Ishikawa |
19234 Lee Iverson, | |
19235 Iwamuro Motonori, @c Iwamuro | |
19236 Rajappa Iyer, | |
19237 Andreas Jaeger, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19238 Adam P. Jenkins, |
25829 | 19239 Randell Jesup, |
19240 Fred Johansen, | |
19241 Gareth Jones, | |
19242 Simon Josefsson, | |
19243 Greg Klanderman, | |
19244 Karl Kleinpaste, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19245 Michael Klingbeil, |
25829 | 19246 Peter Skov Knudsen, |
19247 Shuhei Kobayashi, @c Kobayashi | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19248 Petr Konecny, |
25829 | 19249 Koseki Yoshinori, @c Koseki |
19250 Thor Kristoffersen, | |
19251 Jens Lautenbacher, | |
19252 Martin Larose, | |
19253 Seokchan Lee, @c Lee | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19254 Joerg Lenneis, |
25829 | 19255 Carsten Leonhardt, |
19256 James LewisMoss, | |
19257 Christian Limpach, | |
19258 Markus Linnala, | |
19259 Dave Love, | |
19260 Mike McEwan, | |
19261 Tonny Madsen, | |
19262 Shlomo Mahlab, | |
19263 Nat Makarevitch, | |
19264 Istvan Marko, | |
19265 David Martin, | |
19266 Jason R. Mastaler, | |
19267 Gordon Matzigkeit, | |
19268 Timo Metzemakers, | |
19269 Richard Mlynarik, | |
19270 Lantz Moore, | |
19271 Morioka Tomohiko, @c Morioka | |
19272 Erik Toubro Nielsen, | |
19273 Hrvoje Niksic, | |
19274 Andy Norman, | |
19275 Fred Oberhauser, | |
19276 C. R. Oldham, | |
19277 Alexandre Oliva, | |
19278 Ken Olstad, | |
19279 Masaharu Onishi, @c Onishi | |
19280 Hideki Ono, @c Ono | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19281 Ettore Perazzoli, |
25829 | 19282 William Perry, |
19283 Stephen Peters, | |
19284 Jens-Ulrik Holger Petersen, | |
19285 Ulrich Pfeifer, | |
19286 Matt Pharr, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19287 Andy Piper, |
25829 | 19288 John McClary Prevost, |
19289 Bill Pringlemeir, | |
19290 Mike Pullen, | |
19291 Jim Radford, | |
19292 Colin Rafferty, | |
19293 Lasse Rasinen, | |
19294 Lars Balker Rasmussen, | |
19295 Joe Reiss, | |
19296 Renaud Rioboo, | |
19297 Roland B. Roberts, | |
19298 Bart Robinson, | |
19299 Christian von Roques, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19300 Markus Rost, |
25829 | 19301 Jason Rumney, |
19302 Wolfgang Rupprecht, | |
19303 Jay Sachs, | |
19304 Dewey M. Sasser, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19305 Conrad Sauerwald, |
25829 | 19306 Loren Schall, |
19307 Dan Schmidt, | |
19308 Ralph Schleicher, | |
19309 Philippe Schnoebelen, | |
19310 Andreas Schwab, | |
19311 Randal L. Schwartz, | |
19312 Danny Siu, | |
19313 Matt Simmons, | |
19314 Paul D. Smith, | |
19315 Jeff Sparkes, | |
19316 Toby Speight, | |
19317 Michael Sperber, | |
19318 Darren Stalder, | |
19319 Richard Stallman, | |
19320 Greg Stark, | |
19321 Sam Steingold, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19322 Paul Stevenson, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19323 Jonas Steverud, |
25829 | 19324 Paul Stodghill, |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19325 Kiyokazu Suto, @c Suto |
25829 | 19326 Kurt Swanson, |
19327 Samuel Tardieu, | |
19328 Teddy, | |
19329 Chuck Thompson, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19330 Tozawa Akihiko, @c Tozawa |
25829 | 19331 Philippe Troin, |
19332 James Troup, | |
19333 Trung Tran-Duc, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19334 Jack Twilley, |
25829 | 19335 Aaron M. Ucko, |
19336 Aki Vehtari, | |
19337 Didier Verna, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19338 Vladimir Volovich, |
25829 | 19339 Jan Vroonhof, |
19340 Stefan Waldherr, | |
19341 Pete Ware, | |
19342 Barry A. Warsaw, | |
19343 Christoph Wedler, | |
19344 Joe Wells, | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19345 Lee Willis, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19346 Katsumi Yamaoka @c Yamaoka |
25829 | 19347 and |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19348 Lloyd Zusman. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19349 |
25829 | 19350 |
19351 For a full overview of what each person has done, the ChangeLogs | |
19352 included in the Gnus alpha distributions should give ample reading | |
19353 (550kB and counting). | |
19354 | |
19355 Apologies to everybody that I've forgotten, of which there are many, I'm | |
19356 sure. | |
19357 | |
19358 Gee, that's quite a list of people. I guess that must mean that there | |
19359 actually are people who are using Gnus. Who'd'a thunk it! | |
19360 | |
19361 | |
19362 @node New Features | |
19363 @subsection New Features | |
19364 @cindex new features | |
19365 | |
19366 @menu | |
19367 * ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus. | |
19368 * September Gnus:: The Thing Formally Known As Gnus 5.3/5.3. | |
19369 * Red Gnus:: Third time best---Gnus 5.4/5.5. | |
19370 * Quassia Gnus:: Two times two is four, or Gnus 5.6/5.7. | |
19371 @end menu | |
19372 | |
19373 These lists are, of course, just @emph{short} overviews of the | |
19374 @emph{most} important new features. No, really. There are tons more. | |
19375 Yes, we have feeping creaturism in full effect. | |
19376 | |
19377 | |
19378 @node ding Gnus | |
19379 @subsubsection (ding) Gnus | |
19380 | |
19381 New features in Gnus 5.0/5.1: | |
19382 | |
19383 @itemize @bullet | |
19384 | |
19385 @item | |
19386 The look of all buffers can be changed by setting format-like variables | |
19387 (@pxref{Group Buffer Format} and @pxref{Summary Buffer Format}). | |
19388 | |
19389 @item | |
19390 Local spool and several @sc{nntp} servers can be used at once | |
19391 (@pxref{Select Methods}). | |
19392 | |
19393 @item | |
19394 You can combine groups into virtual groups (@pxref{Virtual Groups}). | |
19395 | |
19396 @item | |
19397 You can read a number of different mail formats (@pxref{Getting Mail}). | |
19398 All the mail backends implement a convenient mail expiry scheme | |
19399 (@pxref{Expiring Mail}). | |
19400 | |
19401 @item | |
19402 Gnus can use various strategies for gathering threads that have lost | |
19403 their roots (thereby gathering loose sub-threads into one thread) or it | |
19404 can go back and retrieve enough headers to build a complete thread | |
19405 (@pxref{Customizing Threading}). | |
19406 | |
19407 @item | |
19408 Killed groups can be displayed in the group buffer, and you can read | |
19409 them as well (@pxref{Listing Groups}). | |
19410 | |
19411 @item | |
19412 Gnus can do partial group updates---you do not have to retrieve the | |
19413 entire active file just to check for new articles in a few groups | |
19414 (@pxref{The Active File}). | |
19415 | |
19416 @item | |
19417 Gnus implements a sliding scale of subscribedness to groups | |
19418 (@pxref{Group Levels}). | |
19419 | |
19420 @item | |
19421 You can score articles according to any number of criteria | |
19422 (@pxref{Scoring}). You can even get Gnus to find out how to score | |
19423 articles for you (@pxref{Adaptive Scoring}). | |
19424 | |
19425 @item | |
19426 Gnus maintains a dribble buffer that is auto-saved the normal Emacs | |
19427 manner, so it should be difficult to lose much data on what you have | |
19428 read if your machine should go down (@pxref{Auto Save}). | |
19429 | |
19430 @item | |
19431 Gnus now has its own startup file (@file{.gnus}) to avoid cluttering up | |
19432 the @file{.emacs} file. | |
19433 | |
19434 @item | |
19435 You can set the process mark on both groups and articles and perform | |
19436 operations on all the marked items (@pxref{Process/Prefix}). | |
19437 | |
19438 @item | |
19439 You can grep through a subset of groups and create a group from the | |
19440 results (@pxref{Kibozed Groups}). | |
19441 | |
19442 @item | |
19443 You can list subsets of groups according to, well, anything | |
19444 (@pxref{Listing Groups}). | |
19445 | |
19446 @item | |
19447 You can browse foreign servers and subscribe to groups from those | |
19448 servers (@pxref{Browse Foreign Server}). | |
19449 | |
19450 @item | |
19451 Gnus can fetch articles, asynchronously, on a second connection to the | |
19452 server (@pxref{Asynchronous Fetching}). | |
19453 | |
19454 @item | |
19455 You can cache articles locally (@pxref{Article Caching}). | |
19456 | |
19457 @item | |
19458 The uudecode functions have been expanded and generalized | |
19459 (@pxref{Decoding Articles}). | |
19460 | |
19461 @item | |
19462 You can still post uuencoded articles, which was a little-known feature | |
19463 of @sc{gnus}' past (@pxref{Uuencoding and Posting}). | |
19464 | |
19465 @item | |
19466 Fetching parents (and other articles) now actually works without | |
19467 glitches (@pxref{Finding the Parent}). | |
19468 | |
19469 @item | |
19470 Gnus can fetch FAQs and group descriptions (@pxref{Group Information}). | |
19471 | |
19472 @item | |
19473 Digests (and other files) can be used as the basis for groups | |
19474 (@pxref{Document Groups}). | |
19475 | |
19476 @item | |
19477 Articles can be highlighted and customized (@pxref{Customizing | |
19478 Articles}). | |
19479 | |
19480 @item | |
19481 URLs and other external references can be buttonized (@pxref{Article | |
19482 Buttons}). | |
19483 | |
19484 @item | |
19485 You can do lots of strange stuff with the Gnus window & frame | |
19486 configuration (@pxref{Windows Configuration}). | |
19487 | |
19488 @item | |
19489 You can click on buttons instead of using the keyboard | |
19490 (@pxref{Buttons}). | |
19491 | |
19492 @end itemize | |
19493 | |
19494 | |
19495 @node September Gnus | |
19496 @subsubsection September Gnus | |
19497 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19498 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19499 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19500 \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
|
19501 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19502 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19503 |
25829 | 19504 New features in Gnus 5.2/5.3: |
19505 | |
19506 @itemize @bullet | |
19507 | |
19508 @item | |
19509 A new message composition mode is used. All old customization variables | |
19510 for @code{mail-mode}, @code{rnews-reply-mode} and @code{gnus-msg} are | |
19511 now obsolete. | |
19512 | |
19513 @item | |
19514 Gnus is now able to generate @dfn{sparse} threads---threads where | |
19515 missing articles are represented by empty nodes (@pxref{Customizing | |
19516 Threading}). | |
19517 | |
19518 @lisp | |
19519 (setq gnus-build-sparse-threads 'some) | |
19520 @end lisp | |
19521 | |
19522 @item | |
19523 Outgoing articles are stored on a special archive server | |
19524 (@pxref{Archived Messages}). | |
19525 | |
19526 @item | |
19527 Partial thread regeneration now happens when articles are | |
19528 referred. | |
19529 | |
19530 @item | |
19531 Gnus can make use of GroupLens predictions (@pxref{GroupLens}). | |
19532 | |
19533 @item | |
19534 Picons (personal icons) can be displayed under XEmacs (@pxref{Picons}). | |
19535 | |
19536 @item | |
19537 A @code{trn}-like tree buffer can be displayed (@pxref{Tree Display}). | |
19538 | |
19539 @lisp | |
19540 (setq gnus-use-trees t) | |
19541 @end lisp | |
19542 | |
19543 @item | |
19544 An @code{nn}-like pick-and-read minor mode is available for the summary | |
19545 buffers (@pxref{Pick and Read}). | |
19546 | |
19547 @lisp | |
19548 (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode) | |
19549 @end lisp | |
19550 | |
19551 @item | |
19552 In binary groups you can use a special binary minor mode (@pxref{Binary | |
19553 Groups}). | |
19554 | |
19555 @item | |
19556 Groups can be grouped in a folding topic hierarchy (@pxref{Group | |
19557 Topics}). | |
19558 | |
19559 @lisp | |
19560 (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) | |
19561 @end lisp | |
19562 | |
19563 @item | |
19564 Gnus can re-send and bounce mail (@pxref{Summary Mail Commands}). | |
19565 | |
19566 @item | |
19567 Groups can now have a score, and bubbling based on entry frequency | |
19568 is possible (@pxref{Group Score}). | |
19569 | |
19570 @lisp | |
19571 (add-hook 'gnus-summary-exit-hook 'gnus-summary-bubble-group) | |
19572 @end lisp | |
19573 | |
19574 @item | |
19575 Groups can be process-marked, and commands can be performed on | |
19576 groups of groups (@pxref{Marking Groups}). | |
19577 | |
19578 @item | |
19579 Caching is possible in virtual groups. | |
19580 | |
19581 @item | |
19582 @code{nndoc} now understands all kinds of digests, mail boxes, rnews | |
19583 news batches, ClariNet briefs collections, and just about everything | |
19584 else (@pxref{Document Groups}). | |
19585 | |
19586 @item | |
19587 Gnus has a new backend (@code{nnsoup}) to create/read SOUP packets | |
19588 (@pxref{SOUP}). | |
19589 | |
19590 @item | |
19591 The Gnus cache is much faster. | |
19592 | |
19593 @item | |
19594 Groups can be sorted according to many criteria (@pxref{Sorting | |
19595 Groups}). | |
19596 | |
19597 @item | |
19598 New group parameters have been introduced to set list-addresses and | |
19599 expiry times (@pxref{Group Parameters}). | |
19600 | |
19601 @item | |
19602 All formatting specs allow specifying faces to be used | |
19603 (@pxref{Formatting Fonts}). | |
19604 | |
19605 @item | |
19606 There are several more commands for setting/removing/acting on process | |
19607 marked articles on the @kbd{M P} submap (@pxref{Setting Process Marks}). | |
19608 | |
19609 @item | |
19610 The summary buffer can be limited to show parts of the available | |
19611 articles based on a wide range of criteria. These commands have been | |
19612 bound to keys on the @kbd{/} submap (@pxref{Limiting}). | |
19613 | |
19614 @item | |
19615 Articles can be made persistent with the @kbd{*} command | |
19616 (@pxref{Persistent Articles}). | |
19617 | |
19618 @item | |
19619 All functions for hiding article elements are now toggles. | |
19620 | |
19621 @item | |
19622 Article headers can be buttonized (@pxref{Article Washing}). | |
19623 | |
19624 @item | |
19625 All mail backends support fetching articles by @code{Message-ID}. | |
19626 | |
19627 @item | |
19628 Duplicate mail can now be treated properly (@pxref{Duplicates}). | |
19629 | |
19630 @item | |
19631 All summary mode commands are available directly from the article | |
19632 buffer (@pxref{Article Keymap}). | |
19633 | |
19634 @item | |
19635 Frames can be part of @code{gnus-buffer-configuration} (@pxref{Windows | |
19636 Configuration}). | |
19637 | |
19638 @item | |
19639 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
|
19640 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19641 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19642 \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
|
19643 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19644 @end iftex |
25829 | 19645 |
19646 @item | |
19647 Gnus can make use of NoCeM files to weed out spam (@pxref{NoCeM}). | |
19648 | |
19649 @lisp | |
19650 (setq gnus-use-nocem t) | |
19651 @end lisp | |
19652 | |
19653 @item | |
19654 Groups can be made permanently visible (@pxref{Listing Groups}). | |
19655 | |
19656 @lisp | |
19657 (setq gnus-permanently-visible-groups "^nnml:") | |
19658 @end lisp | |
19659 | |
19660 @item | |
19661 Many new hooks have been introduced to make customizing easier. | |
19662 | |
19663 @item | |
19664 Gnus respects the @code{Mail-Copies-To} header. | |
19665 | |
19666 @item | |
19667 Threads can be gathered by looking at the @code{References} header | |
19668 (@pxref{Customizing Threading}). | |
19669 | |
19670 @lisp | |
19671 (setq gnus-summary-thread-gathering-function | |
19672 'gnus-gather-threads-by-references) | |
19673 @end lisp | |
19674 | |
19675 @item | |
19676 Read articles can be stored in a special backlog buffer to avoid | |
19677 refetching (@pxref{Article Backlog}). | |
19678 | |
19679 @lisp | |
19680 (setq gnus-keep-backlog 50) | |
19681 @end lisp | |
19682 | |
19683 @item | |
19684 A clean copy of the current article is always stored in a separate | |
19685 buffer to allow easier treatment. | |
19686 | |
19687 @item | |
19688 Gnus can suggest where to save articles (@pxref{Saving Articles}). | |
19689 | |
19690 @item | |
19691 Gnus doesn't have to do as much prompting when saving (@pxref{Saving | |
19692 Articles}). | |
19693 | |
19694 @lisp | |
19695 (setq gnus-prompt-before-saving t) | |
19696 @end lisp | |
19697 | |
19698 @item | |
19699 @code{gnus-uu} can view decoded files asynchronously while fetching | |
19700 articles (@pxref{Other Decode Variables}). | |
19701 | |
19702 @lisp | |
19703 (setq gnus-uu-grabbed-file-functions 'gnus-uu-grab-view) | |
19704 @end lisp | |
19705 | |
19706 @item | |
19707 Filling in the article buffer now works properly on cited text | |
19708 (@pxref{Article Washing}). | |
19709 | |
19710 @item | |
19711 Hiding cited text adds buttons to toggle hiding, and how much | |
19712 cited text to hide is now customizable (@pxref{Article Hiding}). | |
19713 | |
19714 @lisp | |
19715 (setq gnus-cited-lines-visible 2) | |
19716 @end lisp | |
19717 | |
19718 @item | |
19719 Boring headers can be hidden (@pxref{Article Hiding}). | |
19720 | |
19721 @item | |
19722 Default scoring values can now be set from the menu bar. | |
19723 | |
19724 @item | |
19725 Further syntax checking of outgoing articles have been added. | |
19726 | |
19727 @end itemize | |
19728 | |
19729 | |
19730 @node Red Gnus | |
19731 @subsubsection Red Gnus | |
19732 | |
19733 New features in Gnus 5.4/5.5: | |
19734 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19735 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19736 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19737 \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
|
19738 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19739 @end iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19740 |
25829 | 19741 @itemize @bullet |
19742 | |
19743 @item | |
19744 @file{nntp.el} has been totally rewritten in an asynchronous fashion. | |
19745 | |
19746 @item | |
19747 Article prefetching functionality has been moved up into | |
19748 Gnus (@pxref{Asynchronous Fetching}). | |
19749 | |
19750 @item | |
19751 Scoring can now be performed with logical operators like @code{and}, | |
19752 @code{or}, @code{not}, and parent redirection (@pxref{Advanced | |
19753 Scoring}). | |
19754 | |
19755 @item | |
19756 Article washing status can be displayed in the | |
19757 article mode line (@pxref{Misc Article}). | |
19758 | |
19759 @item | |
19760 @file{gnus.el} has been split into many smaller files. | |
19761 | |
19762 @item | |
19763 Suppression of duplicate articles based on Message-ID can be done | |
19764 (@pxref{Duplicate Suppression}). | |
19765 | |
19766 @lisp | |
19767 (setq gnus-suppress-duplicates t) | |
19768 @end lisp | |
19769 | |
19770 @item | |
19771 New variables for specifying what score and adapt files are to be | |
19772 considered home score and adapt files (@pxref{Home Score File}) have | |
19773 been added. | |
19774 | |
19775 @item | |
19776 @code{nndoc} was rewritten to be easily extendable (@pxref{Document | |
19777 Server Internals}). | |
19778 | |
19779 @item | |
19780 Groups can inherit group parameters from parent topics (@pxref{Topic | |
19781 Parameters}). | |
19782 | |
19783 @item | |
19784 Article editing has been revamped and is now actually usable. | |
19785 | |
19786 @item | |
19787 Signatures can be recognized in more intelligent fashions | |
19788 (@pxref{Article Signature}). | |
19789 | |
19790 @item | |
19791 Summary pick mode has been made to look more @code{nn}-like. Line | |
19792 numbers are displayed and the @kbd{.} command can be used to pick | |
19793 articles (@code{Pick and Read}). | |
19794 | |
19795 @item | |
19796 Commands for moving the @file{.newsrc.eld} from one server to | |
19797 another have been added (@pxref{Changing Servers}). | |
19798 | |
19799 @item | |
19800 There's a way now to specify that ``uninteresting'' fields be suppressed | |
19801 when generating lines in buffers (@pxref{Advanced Formatting}). | |
19802 | |
19803 @item | |
19804 Several commands in the group buffer can be undone with @kbd{M-C-_} | |
19805 (@pxref{Undo}). | |
19806 | |
19807 @item | |
19808 Scoring can be done on words using the new score type @code{w} | |
19809 (@pxref{Score File Format}). | |
19810 | |
19811 @item | |
19812 Adaptive scoring can be done on a Subject word-by-word basis | |
19813 (@pxref{Adaptive Scoring}). | |
19814 | |
19815 @lisp | |
19816 (setq gnus-use-adaptive-scoring '(word)) | |
19817 @end lisp | |
19818 | |
19819 @item | |
19820 Scores can be decayed (@pxref{Score Decays}). | |
19821 | |
19822 @lisp | |
19823 (setq gnus-decay-scores t) | |
19824 @end lisp | |
19825 | |
19826 @item | |
19827 Scoring can be performed using a regexp on the Date header. The Date is | |
19828 normalized to compact ISO 8601 format first (@pxref{Score File Format}). | |
19829 | |
19830 @item | |
19831 A new command has been added to remove all data on articles from | |
19832 the native server (@pxref{Changing Servers}). | |
19833 | |
19834 @item | |
19835 A new command for reading collections of documents | |
19836 (@code{nndoc} with @code{nnvirtual} on top) has been added---@kbd{M-C-d} | |
19837 (@pxref{Really Various Summary Commands}). | |
19838 | |
19839 @item | |
19840 Process mark sets can be pushed and popped (@pxref{Setting Process | |
19841 Marks}). | |
19842 | |
19843 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19844 A new mail-to-news backend makes it possible to post even when the @sc{nntp} |
25829 | 19845 server doesn't allow posting (@pxref{Mail-To-News Gateways}). |
19846 | |
19847 @item | |
19848 A new backend for reading searches from Web search engines | |
19849 (@dfn{DejaNews}, @dfn{Alta Vista}, @dfn{InReference}) has been added | |
19850 (@pxref{Web Searches}). | |
19851 | |
19852 @item | |
19853 Groups inside topics can now be sorted using the standard sorting | |
19854 functions, and each topic can be sorted independently (@pxref{Topic | |
19855 Sorting}). | |
19856 | |
19857 @item | |
19858 Subsets of the groups can be sorted independently (@code{Sorting | |
19859 Groups}). | |
19860 | |
19861 @item | |
19862 Cached articles can be pulled into the groups (@pxref{Summary Generation | |
19863 Commands}). | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19864 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19865 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19866 \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
|
19867 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
19868 @end iftex |
25829 | 19869 |
19870 @item | |
19871 Score files are now applied in a more reliable order (@pxref{Score | |
19872 Variables}). | |
19873 | |
19874 @item | |
19875 Reports on where mail messages end up can be generated (@pxref{Splitting | |
19876 Mail}). | |
19877 | |
19878 @item | |
19879 More hooks and functions have been added to remove junk from incoming | |
19880 mail before saving the mail (@pxref{Washing Mail}). | |
19881 | |
19882 @item | |
19883 Emphasized text can be properly fontisized: | |
19884 | |
19885 @end itemize | |
19886 | |
19887 | |
19888 @node Quassia Gnus | |
19889 @subsubsection Quassia Gnus | |
19890 | |
19891 New features in Gnus 5.6: | |
19892 | |
19893 @itemize @bullet | |
19894 | |
19895 @item | |
19896 New functionality for using Gnus as an offline newsreader has been | |
19897 added. A plethora of new commands and modes have been added. See | |
19898 @pxref{Gnus Unplugged} for the full story. | |
19899 | |
19900 @item | |
19901 The @code{nndraft} backend has returned, but works differently than | |
19902 before. All Message buffers are now also articles in the @code{nndraft} | |
19903 group, which is created automatically. | |
19904 | |
19905 @item | |
19906 @code{gnus-alter-header-function} can now be used to alter header | |
19907 values. | |
19908 | |
19909 @item | |
19910 @code{gnus-summary-goto-article} now accept Message-ID's. | |
19911 | |
19912 @item | |
19913 A new Message command for deleting text in the body of a message | |
19914 outside the region: @kbd{C-c C-v}. | |
19915 | |
19916 @item | |
19917 You can now post to component group in @code{nnvirtual} groups with | |
19918 @kbd{C-u C-c C-c}. | |
19919 | |
19920 @item | |
19921 @code{nntp-rlogin-program}---new variable to ease customization. | |
19922 | |
19923 @item | |
19924 @code{C-u C-c C-c} in @code{gnus-article-edit-mode} will now inhibit | |
19925 re-highlighting of the article buffer. | |
19926 | |
19927 @item | |
19928 New element in @code{gnus-boring-article-headers}---@code{long-to}. | |
19929 | |
19930 @item | |
19931 @kbd{M-i} symbolic prefix command. See the section "Symbolic | |
19932 Prefixes" in the Gnus manual for details. | |
19933 | |
19934 @item | |
19935 @kbd{L} and @kbd{I} in the summary buffer now take the symbolic prefix | |
19936 @kbd{a} to add the score rule to the "all.SCORE" file. | |
19937 | |
19938 @item | |
19939 @code{gnus-simplify-subject-functions} variable to allow greater | |
19940 control over simplification. | |
19941 | |
19942 @item | |
19943 @kbd{A T}---new command for fetching the current thread. | |
19944 | |
19945 @item | |
19946 @kbd{/ T}---new command for including the current thread in the | |
19947 limit. | |
19948 | |
19949 @item | |
19950 @kbd{M-RET} is a new Message command for breaking cited text. | |
19951 | |
19952 @item | |
19953 @samp{\\1}-expressions are now valid in @code{nnmail-split-methods}. | |
19954 | |
19955 @item | |
19956 The @code{custom-face-lookup} function has been removed. | |
19957 If you used this function in your initialization files, you must | |
19958 rewrite them to use @code{face-spec-set} instead. | |
19959 | |
19960 @item | |
19961 Canceling now uses the current select method. Symbolic prefix | |
19962 @kbd{a} forces normal posting method. | |
19963 | |
19964 @item | |
19965 New command to translate M******** sm*rtq**t*s into proper | |
19966 text---@kbd{W d}. | |
19967 | |
19968 @item | |
19969 For easier debugging of @code{nntp}, you can set | |
19970 @code{nntp-record-commands} to a non-@code{nil} value. | |
19971 | |
19972 @item | |
19973 @code{nntp} now uses @file{~/.authinfo}, a @file{.netrc}-like file, for | |
19974 controlling where and how to send @sc{authinfo} to @sc{nntp} servers. | |
19975 | |
19976 @item | |
19977 A command for editing group parameters from the summary buffer | |
19978 has been added. | |
19979 | |
19980 @item | |
19981 A history of where mails have been split is available. | |
19982 | |
19983 @item | |
19984 A new article date command has been added---@code{article-date-iso8601}. | |
19985 | |
19986 @item | |
19987 Subjects can be simplified when threading by setting | |
19988 @code{gnus-score-thread-simplify}. | |
19989 | |
19990 @item | |
19991 A new function for citing in Message has been | |
19992 added---@code{message-cite-original-without-signature}. | |
19993 | |
19994 @item | |
19995 @code{article-strip-all-blank-lines}---new article command. | |
19996 | |
19997 @item | |
19998 A new Message command to kill to the end of the article has | |
19999 been added. | |
20000 | |
20001 @item | |
20002 A minimum adaptive score can be specified by using the | |
20003 @code{gnus-adaptive-word-minimum} variable. | |
20004 | |
20005 @item | |
20006 The "lapsed date" article header can be kept continually | |
20007 updated by the @code{gnus-start-date-timer} command. | |
20008 | |
20009 @item | |
20010 Web listserv archives can be read with the @code{nnlistserv} backend. | |
20011 | |
20012 @item | |
20013 Old dejanews archives can now be read by @code{nnweb}. | |
20014 | |
20015 @end itemize | |
20016 | |
20017 | |
20018 @node Newest Features | |
20019 @subsection Newest Features | |
20020 @cindex todo | |
20021 | |
20022 Also known as the @dfn{todo list}. Sure to be implemented before the | |
20023 next millennium. | |
20024 | |
20025 Be afraid. Be very afraid. | |
20026 | |
20027 (That a feature appears in this list doesn't necessarily mean that I've | |
20028 decided to actually implement it. It just means that I think it sounds | |
20029 interesting.) | |
20030 | |
20031 (Yes, this is the actual, up-to-the-second todo list.) | |
20032 | |
20033 @itemize @bullet | |
20034 | |
20035 @item | |
20036 I would like the zombie-page to contain an URL to the source of the | |
20037 latest version of gnus or some explanation on where to find it. | |
20038 | |
20039 @item | |
20040 A way to continue editing the latest Message composition. | |
20041 | |
20042 @item | |
33292 | 20043 @uref{http://www.sonicnet.com/feature/ari3/} |
25829 | 20044 |
20045 @item | |
20046 facep is not declared. | |
20047 | |
20048 @item | |
20049 Include a section in the manual on why the number of articles | |
20050 isn't the same in the group buffer and on the SPC prompt. | |
20051 | |
20052 @item | |
20053 Interacting with rmail fcc isn't easy. | |
20054 | |
20055 @item | |
20056 @example | |
20057 Hypermail: | |
20058 <URL:http://www.falch.no/people/pepper/DSSSL-Lite/archives/> | |
20059 <URL:http://www.eit.com/software/hypermail/hypermail.html> | |
20060 <URL:http://homer.ncm.com/> | |
20061 <URL:http://www.yahoo.com/Computers_and_Internet/Internet/World_Wide_Web/HTML_Converters/> | |
20062 http://www.uwsg.indiana.edu/hypermail/linux/kernel/9610/index.html | |
20063 <URL:http://union.ncsa.uiuc.edu/HyperNews/get/www/html/converters.html> | |
20064 http://www.miranova.com/gnus-list/ | |
20065 | |
20066 @end example | |
20067 | |
20068 @item | |
20069 @samp{^-- } is made into - in LaTeX. | |
20070 | |
20071 @item | |
20072 gnus-kill is much slower than it was in GNUS 4.1.3. | |
20073 | |
20074 @item | |
20075 when expunging articles on low score, the sparse nodes keep hanging on? | |
20076 @item | |
20077 starting the first time seems to hang Gnus on some systems. Does | |
20078 NEWGROUPS answer too fast? | |
20079 @item | |
20080 nndir doesn't read gzipped files. | |
20081 @item | |
20082 FAQ doesn't have an up node? | |
20083 @item | |
20084 when moving mail from a procmail spool to the crash-box, | |
20085 the crash-box is only appropriate to one specific group. | |
20086 @item | |
20087 `t' `t' makes X-Faces disappear. | |
20088 @item | |
20089 nnmh-be-safe means that crossposted articles will | |
20090 be marked as unread. | |
20091 @item | |
20092 Orphan score entries don't show on "V t" score trace | |
20093 @item | |
20094 when clearing out data, the cache data should also be reset. | |
20095 @item | |
20096 rewrite gnus-summary-limit-children to be non-recursive | |
20097 to avoid exceeding lisp nesting on huge groups. | |
20098 @item | |
20099 expunged articles are counted when computing scores. | |
20100 @item | |
20101 implement gnus-batch-brew-soup | |
20102 @item | |
20103 ticked articles aren't easy to read in pick mode -- `n' and | |
20104 stuff just skips past them. Read articles are the same. | |
20105 @item | |
20106 topics that contain just groups with ticked | |
20107 articles aren't displayed. | |
20108 @item | |
20109 nndoc should always allocate unique Message-IDs. | |
20110 @item | |
20111 If there are mail groups the first time you use Gnus, Gnus'll | |
20112 make the mail groups killed. | |
20113 @item | |
20114 no "no news is good news" when using topics. | |
20115 @item | |
20116 when doing crosspost marking, the cache has to be consulted | |
20117 and articles have to be removed. | |
20118 @item | |
20119 nnweb should fetch complete articles when they are split into several | |
20120 parts. | |
20121 @item | |
20122 scoring on head immediate doesn't work. | |
20123 @item | |
20124 finding short score file names takes forever. | |
20125 @item | |
20126 canceling articles in foreign groups. | |
20127 @item | |
20128 nntp-open-rlogin no longer works. | |
20129 @item | |
20130 C-u C-x C-s (Summary) switches to the group buffer. | |
20131 @item | |
20132 move nnmail-split-history out to the backends. | |
20133 @item | |
20134 nnweb doesn't work properly. | |
20135 @item | |
20136 using a virtual server name as `gnus-select-method' doesn't work? | |
20137 @item | |
20138 when killing/yanking a group from one topic to another in a slave, the | |
20139 master will yank it first to one topic and then add it to another. | |
20140 Perhaps. | |
20141 | |
20142 @item | |
20143 warn user about `=' redirection of a group in the active file? | |
20144 @item | |
20145 take over the XEmacs menubar and offer a toggle between the XEmacs | |
20146 bar and the Gnus bar. | |
20147 @item | |
20148 @example | |
20149 push active file and NOV file parsing down into C code. | |
20150 `(canonize-message-id id)' | |
20151 `(mail-parent-message-id references n)' | |
20152 `(parse-news-nov-line &optional dependency-hashtb)' | |
20153 `(parse-news-nov-region beg end &optional dependency-hashtb fullp)' | |
20154 `(parse-news-active-region beg end hashtb)' | |
20155 | |
20156 @end example | |
20157 | |
20158 @item | |
20159 nnml .overview directory with splits. | |
20160 @item | |
20161 asynchronous cache | |
20162 @item | |
20163 postponed commands. | |
20164 @item | |
20165 the selected article show have its Subject displayed in its summary line. | |
20166 @item | |
20167 when entering groups, get the real number of unread articles from | |
20168 the server? | |
20169 @item | |
20170 sort after gathering threads -- make false roots have the | |
20171 headers of the oldest orphan with a 0 article number? | |
20172 @item | |
20173 nndoc groups should inherit the score files of their parents? Also | |
20174 inherit copy prompts and save files. | |
20175 @item | |
20176 command to start up Gnus (if not running) and enter a mail mode buffer. | |
20177 @item | |
20178 allow editing the group description from the group buffer | |
20179 for backends that support that. | |
20180 @item | |
20181 gnus-hide,show-all-topics | |
20182 @item | |
20183 groups and sub-topics should be allowed to mingle inside each topic, | |
20184 and not just list all subtopics at the end. | |
20185 @item | |
20186 a command to remove all read articles that are not needed to connect | |
20187 threads -- `gnus-summary-limit-to-sparse-unread'? | |
20188 @item | |
20189 a variable to turn off limiting/cutting of threads in the tree buffer. | |
20190 @item | |
20191 a variable to limit how many files are uudecoded. | |
20192 @item | |
20193 add zombie groups to a special "New Groups" topic. | |
20194 @item | |
20195 server mode command: close/open all connections | |
20196 @item | |
20197 put a file date in gnus-score-alist and check whether the file | |
20198 has been changed before using it. | |
20199 @item | |
20200 on exit from a digest group, go to the next article in the parent group. | |
20201 @item | |
20202 hide (sub)threads with low score. | |
20203 @item | |
20204 when expiring, remove all marks from expired articles. | |
20205 @item | |
20206 gnus-summary-limit-to-body | |
20207 @item | |
20208 a regexp alist that says what level groups are to be subscribed | |
20209 on. Eg. -- `(("nnml:" . 1))'. | |
20210 @item | |
20211 easier interface to nnkiboze to create ephemeral groups that | |
20212 contain groups that match a regexp. | |
20213 @item | |
20214 allow newlines in <URL:> urls, but remove them before using | |
20215 the URL. | |
20216 @item | |
20217 If there is no From line, the mail backends should fudge one from the | |
20218 "From " line. | |
20219 @item | |
20220 fuzzy simplifying should strip all non-alpha-numerical info | |
20221 from subject lines. | |
20222 @item | |
20223 gnus-soup-brew-soup-with-high-scores. | |
20224 @item | |
20225 nntp-ping-before-connect | |
20226 @item | |
20227 command to check whether NOV is evil. "list overview.fmt". | |
20228 @item | |
20229 when entering a group, Gnus should look through the score | |
20230 files very early for `local' atoms and set those local variables. | |
20231 @item | |
20232 message annotations. | |
20233 @item | |
20234 topics are always yanked before groups, and that's not good. | |
20235 @item | |
20236 (set-extent-property extent 'help-echo "String to display in minibuf") | |
20237 to display help in the minibuffer on buttons under XEmacs. | |
20238 @item | |
20239 allow group line format spec to say how many articles there | |
20240 are in the cache. | |
20241 @item | |
20242 AUTHINFO GENERIC | |
20243 @item | |
20244 `run-with-idle-timer' in gnus-demon. | |
20245 @item | |
20246 stop using invisible text properties and start using overlays instead | |
20247 @item | |
20248 C-c C-f C-e to add an Expires header. | |
20249 @item | |
20250 go from one group to the next; everything is expunged; go to the | |
20251 next group instead of going to the group buffer. | |
20252 @item | |
20253 gnus-renumber-cache -- to renumber the cache using "low" numbers. | |
20254 @item | |
20255 record topic changes in the dribble buffer. | |
20256 @item | |
20257 `nnfolder-generate-active-file' should look at the folders it | |
20258 finds and generate proper active ranges. | |
20259 @item | |
20260 nneething-look-in-files-for-article-heads variable to control | |
20261 whether nneething should sniff all files in the directories. | |
20262 @item | |
20263 gnus-fetch-article -- start Gnus, enter group, display article | |
20264 @item | |
20265 gnus-dont-move-articles-to-same-group variable when respooling. | |
20266 @item | |
20267 when messages are crossposted between several auto-expirable groups, | |
20268 articles aren't properly marked as expirable. | |
20269 @item | |
20270 nneething should allow deletion/moving. | |
20271 @item | |
20272 TAB on the last button should go to the first button. | |
20273 @item | |
20274 if the car of an element in `mail-split-methods' is a function, | |
20275 and the function returns non-nil, use that as the name of the group(s) to | |
20276 save mail in. | |
20277 @item | |
20278 command for listing all score files that have been applied. | |
20279 @item | |
20280 a command in the article buffer to return to `summary' config. | |
20281 @item | |
20282 `gnus-always-post-using-current-server' -- variable to override | |
20283 `C-c C-c' when posting. | |
20284 @item | |
20285 nnmail-group-spool-alist -- says where each group should use | |
20286 as a spool file. | |
20287 @item | |
20288 when an article is crossposted to an auto-expirable group, the article | |
20289 should be marker as expirable. | |
20290 @item | |
20291 article mode command/menu for "send region as URL to browser". | |
20292 @item | |
20293 on errors, jump to info nodes that explain the error. For instance, | |
20294 on invalid From headers, or on error messages from the nntp server. | |
20295 @item | |
20296 when gathering threads, make the article that has no "Re: " the parent. | |
20297 Also consult Date headers. | |
20298 @item | |
20299 a token in splits to call shrink-window-if-larger-than-buffer | |
20300 @item | |
20301 `1 0 A M' to do matches on the active hashtb. | |
20302 @item | |
20303 duplicates -- command to remove Gnus-Warning header, use the read | |
20304 Message-ID, delete the "original". | |
20305 @item | |
20306 when replying to several messages at once, put the "other" message-ids | |
20307 into a See-Also header. | |
20308 @item | |
33292 | 20309 support setext: @url{http://www.bsdi.com/setext/} |
20310 @item | |
20311 support ProleText: @url{http://proletext.clari.net/prole/proletext.html} | |
25829 | 20312 @item |
20313 when browsing a foreign server, the groups that are already subscribed | |
20314 should be listed as such and not as "K". | |
20315 @item | |
20316 generate font names dynamically. | |
20317 @item | |
20318 score file mode auto-alist. | |
20319 @item | |
20320 allow nndoc to change/add/delete things from documents. Implement | |
20321 methods for each format for adding an article to the document. | |
20322 @item | |
20323 `gnus-fetch-old-headers' `all' value to incorporate | |
20324 absolutely all headers there is. | |
20325 @item | |
20326 function like `|', but concatenate all marked articles | |
20327 and pipe them to the process. | |
20328 @item | |
20329 cache the list of killed (or active) groups in a separate file. Update | |
20330 the file whenever we read the active file or the list | |
20331 of killed groups in the .eld file reaches a certain length. | |
20332 @item | |
20333 function for starting to edit a file to put into | |
20334 the current mail group. | |
20335 @item | |
20336 score-find-trace should display the total score of the article. | |
20337 @item | |
20338 "ghettozie" -- score on Xref header and nix it out after using it | |
20339 to avoid marking as read in other groups it has been crossposted to. | |
20340 @item | |
20341 look at procmail splitting. The backends should create | |
20342 the groups automatically if a spool file exists for that group. | |
20343 @item | |
20344 function for backends to register themselves with Gnus. | |
20345 @item | |
20346 when replying to several process-marked articles, | |
20347 have all the From end up in Cc headers? Variable to toggle. | |
20348 @item | |
20349 command to delete a crossposted mail article from all | |
20350 groups it has been mailed to. | |
20351 @item | |
20352 `B c' and `B m' should be crosspost aware. | |
20353 @item | |
20354 hide-pgp should also hide PGP public key blocks. | |
20355 @item | |
20356 Command in the group buffer to respool process-marked groups. | |
20357 @item | |
20358 `gnus-summary-find-matching' should accept | |
20359 pseudo-"headers" like "body", "head" and "all" | |
20360 @item | |
20361 When buttifying <URL: > things, all white space (including | |
20362 newlines) should be ignored. | |
20363 @item | |
20364 Process-marking all groups in a topic should process-mark | |
20365 groups in subtopics as well. | |
20366 @item | |
20367 Add non-native groups to the list of killed groups when killing them. | |
20368 @item | |
20369 nntp-suggest-kewl-config to probe the nntp server and suggest | |
20370 variable settings. | |
20371 @item | |
20372 add edit and forward secondary marks. | |
20373 @item | |
20374 nnml shouldn't visit its .overview files. | |
20375 @item | |
20376 allow customizing sorting within gathered threads. | |
20377 @item | |
20378 `B q' shouldn't select the current article. | |
20379 @item | |
20380 nnmbox should support a newsgroups file for descriptions. | |
20381 @item | |
20382 allow fetching mail from several pop servers. | |
20383 @item | |
20384 Be able to specify whether the saving commands save the original | |
20385 or the formatted article. | |
20386 @item | |
20387 a command to reparent with the child process-marked (cf. `T ^'.). | |
20388 @item | |
20389 I think the possibility to send a password with nntp-open-rlogin | |
20390 should be a feature in Red Gnus. | |
20391 @item | |
20392 The `Z n' command should be possible to execute from a mouse click. | |
20393 @item | |
20394 more limiting functions -- date, etc. | |
20395 @item | |
20396 be able to limit on a random header; on body; using reverse matches. | |
20397 @item | |
20398 a group parameter (`absofucking-total-expiry') that will make Gnus expire | |
20399 even unread articles. | |
20400 @item | |
20401 a command to print the article buffer as postscript. | |
20402 @item | |
20403 variable to disable password fetching when opening by nntp-open-telnet. | |
20404 @item | |
20405 manual: more example servers -- nntp with rlogin, telnet | |
20406 @item | |
20407 checking for bogus groups should clean topic alists as well. | |
20408 @item | |
20409 canceling articles in foreign groups. | |
20410 @item | |
20411 article number in folded topics isn't properly updated by | |
20412 Xref handling. | |
20413 @item | |
20414 Movement in the group buffer to the next unread group should go to the | |
20415 next closed topic with unread messages if no group can be found. | |
20416 @item | |
20417 Extensive info pages generated on the fly with help everywhere -- | |
20418 in the "*Gnus edit*" buffers, for instance. | |
20419 @item | |
20420 Topic movement commands -- like thread movement. Up, down, forward, next. | |
20421 @item | |
20422 a way to tick/mark as read Gcc'd articles. | |
20423 @item | |
20424 a way to say that all groups within a specific topic comes | |
20425 from a particular server? Hm. | |
20426 @item | |
20427 `gnus-article-fill-if-long-lines' -- a function to fill | |
20428 the article buffer if there are any looong lines there. | |
20429 @item | |
20430 `T h' should jump to the parent topic and fold it. | |
20431 @item | |
20432 a command to create an ephemeral nndoc group out of a file, | |
20433 and then splitting it/moving it to some other group/backend. | |
20434 @item | |
20435 a group parameter for nnkiboze groups that says that | |
20436 all kibozed articles should be entered into the cache. | |
20437 @item | |
20438 It should also probably be possible to delimit what | |
20439 `gnus-jog-cache' does -- for instance, work on just some groups, or on | |
20440 some levels, and entering just articles that have a score higher than | |
20441 a certain number. | |
20442 @item | |
20443 nnfolder should append to the folder instead of re-writing | |
20444 the entire folder to disk when accepting new messages. | |
20445 @item | |
20446 allow all backends to do the proper thing with .gz files. | |
20447 @item | |
20448 a backend for reading collections of babyl files nnbabylfolder? | |
20449 @item | |
20450 a command for making the native groups into foreign groups. | |
20451 @item | |
20452 server mode command for clearing read marks from all groups | |
20453 from a server. | |
20454 @item | |
20455 when following up multiple articles, include all To, Cc, etc headers | |
20456 from all articles. | |
20457 @item | |
20458 a command for deciding what the total score of the current | |
20459 thread is. Also a way to highlight based on this. | |
20460 @item | |
20461 command to show and edit group scores | |
20462 @item | |
20463 a gnus-tree-minimize-horizontal to minimize tree buffers | |
20464 horizontally. | |
20465 @item | |
20466 command to generate nnml overview file for one group. | |
20467 @item | |
20468 `C-u C-u a' -- prompt for many crossposted groups. | |
20469 @item | |
20470 keep track of which mail groups have received new articles (in this session). | |
20471 Be able to generate a report and perhaps do some marking in the group | |
20472 buffer. | |
20473 @item | |
20474 gnus-build-sparse-threads to a number -- build only sparse threads | |
20475 that are of that length. | |
20476 @item | |
20477 have nnmh respect mh's unseen sequence in .mh_profile. | |
20478 @item | |
20479 cache the newsgroups descriptions locally. | |
20480 @item | |
20481 asynchronous posting under nntp. | |
20482 @item | |
20483 be able to control word adaptive scoring from the score files. | |
20484 @item | |
20485 a variable to make `C-c C-c' post using the "current" select method. | |
20486 @item | |
20487 `limit-exclude-low-scored-articles'. | |
20488 @item | |
20489 if `gnus-summary-show-thread' is a number, hide threads that have | |
20490 a score lower than this number. | |
20491 @item | |
20492 split newsgroup subscription variable up into "order" and "method". | |
20493 @item | |
20494 buttonize ange-ftp file names. | |
20495 @item | |
20496 a command to make a duplicate copy of the current article | |
20497 so that each copy can be edited separately. | |
20498 @item | |
20499 nnweb should allow fetching from the local nntp server. | |
20500 @item | |
20501 record the sorting done in the summary buffer so that | |
20502 it can be repeated when limiting/regenerating the buffer. | |
20503 @item | |
20504 nnml-generate-nov-databses should generate for | |
20505 all nnml servers. | |
20506 @item | |
20507 when the user does commands in the group buffer, check | |
20508 the modification time of the .newsrc.eld file and use | |
20509 ask-user-about-supersession-threat. Also warn when trying | |
20510 to save .newsrc.eld and it has changed. | |
20511 @item | |
20512 M-g on a topic will display all groups with 0 articles in | |
20513 the topic. | |
20514 @item | |
20515 command to remove all topic stuff. | |
20516 @item | |
20517 allow exploding incoming digests when reading incoming mail | |
20518 and splitting the resulting digests. | |
20519 @item | |
20520 nnsoup shouldn't set the `message-' variables. | |
20521 @item | |
20522 command to nix out all nnoo state information. | |
20523 @item | |
20524 nnmail-process-alist that calls functions if group names | |
20525 matches an alist -- before saving. | |
20526 @item | |
20527 use buffer-invisibility-spec everywhere for hiding text. | |
20528 @item | |
20529 variable to activate each group before entering them | |
20530 to get the (new) number of articles. `gnus-activate-before-entering'. | |
20531 @item | |
20532 command to fetch a Message-ID from any buffer, even | |
20533 starting Gnus first if necessary. | |
20534 @item | |
20535 when posting and checking whether a group exists or not, just | |
20536 ask the nntp server instead of relying on the active hashtb. | |
20537 @item | |
20538 buttonize the output of `C-c C-a' in an apropos-like way. | |
20539 @item | |
20540 `G p' should understand process/prefix, and allow editing | |
20541 of several groups at once. | |
20542 @item | |
20543 command to create an ephemeral nnvirtual group that | |
20544 matches some regexp(s). | |
20545 @item | |
20546 nndoc should understand "Content-Type: message/rfc822" forwarded messages. | |
20547 @item | |
20548 it should be possible to score "thread" on the From header. | |
20549 @item | |
20550 hitting RET on a "gnus-uu-archive" pseudo article should unpack it. | |
20551 @item | |
20552 `B i' should display the article at once in the summary buffer. | |
20553 @item | |
20554 remove the "*" mark at once when unticking an article. | |
20555 @item | |
20556 `M-s' should highlight the matching text. | |
20557 @item | |
20558 when checking for duplicated mails, use Resent-Message-ID if present. | |
20559 @item | |
20560 killing and yanking groups in topics should be better. If killing one copy | |
20561 of a group that exists in multiple topics, only that copy should | |
20562 be removed. Yanking should insert the copy, and yanking topics | |
20563 should be possible to be interspersed with the other yankings. | |
20564 @item | |
20565 command for enter a group just to read the cached articles. A way to say | |
20566 "ignore the nntp connection; just read from the cache." | |
20567 @item | |
20568 `X u' should decode base64 articles. | |
20569 @item | |
20570 a way to hide all "inner" cited text, leaving just the most | |
20571 recently cited text. | |
20572 @item | |
20573 nnvirtual should be asynchronous. | |
20574 @item | |
20575 after editing an article, gnus-original-article-buffer should | |
20576 be invalidated. | |
20577 @item | |
20578 there should probably be a way to make Gnus not connect to the | |
20579 server and just read the articles in the server | |
20580 @item | |
20581 allow a `set-default' (or something) to change the default | |
20582 value of nnoo variables. | |
20583 @item | |
20584 a command to import group infos from a .newsrc.eld file. | |
20585 @item | |
20586 groups from secondary servers have the entire select method | |
20587 listed in each group info. | |
20588 @item | |
20589 a command for just switching from the summary buffer to the group | |
20590 buffer. | |
20591 @item | |
20592 a way to specify that some incoming mail washing functions | |
20593 should only be applied to some groups. | |
20594 @item | |
20595 Message `C-f C-t' should ask the user whether to heed | |
20596 mail-copies-to: never. | |
20597 @item | |
20598 new group parameter -- `post-to-server' that says to post | |
20599 using the current server. Also a variable to do the same. | |
20600 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
20601 the slave dribble files should auto-save to the slave file names. |
25829 | 20602 @item |
20603 a group parameter that says what articles to display on group entry, based | |
20604 on article marks. | |
20605 @item | |
20606 a way to visually distinguish slave Gnusae from masters. (Whip instead | |
20607 of normal logo?) | |
20608 @item | |
20609 Use DJ Bernstein "From " quoting/dequoting, where applicable. | |
20610 @item | |
20611 Why is hide-citation-maybe and hide-citation different? Also | |
20612 clear up info. | |
20613 @item | |
20614 group user-defined meta-parameters. | |
20615 | |
20616 | |
20617 | |
20618 From: John Griffith <griffith@@sfs.nphil.uni-tuebingen.de> | |
20619 @item | |
20620 I like the option for trying to retrieve the FAQ for a group and I was | |
20621 thinking it would be great if for those newsgroups that had archives | |
20622 you could also try to read the archive for that group. Part of the | |
20623 problem is that archives are spread all over the net, unlike FAQs. | |
20624 What would be best I suppose is to find the one closest to your site. | |
20625 | |
20626 In any case, there is a list of general news group archives at @* | |
33292 | 20627 @uref{ftp://ftp.neosoft.com/pub/users/claird/news.lists/newsgroup_archives.html} |
25829 | 20628 |
20629 | |
20630 | |
20631 | |
20632 @item | |
20633 @example | |
20634 From: Jason L Tibbitts III <tibbs@@hpc.uh.edu> | |
20635 (add-hook 'gnus-select-group-hook | |
20636 (lambda () | |
20637 (gnus-group-add-parameter group | |
20638 (cons 'gnus-group-date-last-entered (list (current-time-string)))))) | |
20639 | |
20640 (defun gnus-user-format-function-d (headers) | |
20641 "Return the date the group was last read." | |
20642 (cond ((car (gnus-group-get-parameter gnus-tmp-group 'gnus-group-date-last-entered))) | |
20643 (t ""))) | |
20644 @end example | |
20645 | |
20646 @item | |
20647 tanken var at når du bruker `gnus-startup-file' som prefix (FOO) til å lete | |
20648 opp en fil FOO-SERVER, FOO-SERVER.el, FOO-SERVER.eld, kan du la den være en | |
20649 liste hvor du bruker hvert element i listen som FOO, istedet. da kunne man | |
20650 hatt forskjellige serveres startup-filer forskjellige steder. | |
20651 | |
20652 | |
20653 @item | |
20654 LMI> Well, nnbabyl could alter the group info to heed labels like | |
20655 LMI> answered and read, I guess. | |
20656 | |
20657 It could also keep them updated (the same for the Status: header of | |
20658 unix mbox files). | |
20659 | |
20660 They could be used like this: | |
20661 | |
20662 | |
20663 @example | |
20664 `M l <name> RET' add label <name> to current message. | |
20665 `M u <name> RET' remove label <name> from current message. | |
20666 `/ l <expr> RET' limit summary buffer according to <expr>. | |
20667 | |
20668 <expr> would be a boolean expression on the labels, e.g. | |
20669 | |
20670 `/ l bug & !fixed RET' | |
20671 @end example | |
20672 | |
20673 would show all the messages which are labeled `bug' but not labeled | |
20674 `fixed'. | |
20675 | |
20676 One could also imagine the labels being used for highlighting, or | |
20677 affect the summary line format. | |
20678 | |
20679 | |
20680 @item | |
20681 Sender: abraham@@dina.kvl.dk | |
20682 | |
20683 I'd like a gnus-find-file which work like find file, except that it | |
20684 would recognize things that looks like messages or folders: | |
20685 | |
20686 - If it is a directory containing numbered files, create an nndir | |
20687 summary buffer. | |
20688 | |
20689 - For other directories, create a nneething summary buffer. | |
20690 | |
20691 - For files matching "\\`From ", create a nndoc/mbox summary. | |
20692 | |
20693 - For files matching "\\`BABYL OPTIONS:", create a nndoc/baby summary. | |
20694 | |
20695 - For files matching "\\`[^ \t\n]+:", create an *Article* buffer. | |
20696 | |
20697 - For other files, just find them normally. | |
20698 | |
20699 I'd like `nneething' to use this function, so it would work on a | |
20700 directory potentially containing mboxes or babyl files. | |
20701 | |
20702 @item | |
20703 Please send a mail to bwarsaw@@cnri.reston.va.us (Barry A. Warsaw) and | |
20704 tell him what you are doing. | |
20705 | |
20706 @item | |
20707 Currently, I get prompted: | |
20708 | |
20709 decend into sci? | |
20710 - type y | |
20711 decend into sci.something ? | |
20712 - type n | |
20713 decend into ucd? | |
20714 | |
20715 The problem above is that since there is really only one subsection of | |
20716 science, shouldn't it prompt you for only descending sci.something? If | |
20717 there was a sci.somethingelse group or section, then it should prompt | |
20718 for sci? first the sci.something? then sci.somethingelse?... | |
20719 | |
20720 @item | |
20721 Ja, det burde være en måte å si slikt. Kanskje en ny variabel? | |
20722 `gnus-use-few-score-files'? Så kunne score-regler legges til den | |
20723 "mest" lokale score-fila. F. eks. ville no-gruppene betjenes av | |
20724 "no.all.SCORE", osv. | |
20725 | |
20726 @item | |
20727 What i want is for Gnus to treat any sequence or combination of the following | |
20728 as a single spoiler warning and hide it all, replacing it with a "Next Page" | |
20729 button: | |
20730 | |
20731 | |
20732 ^L's | |
20733 | |
20734 more than n blank lines | |
20735 | |
20736 more than m identical lines | |
20737 (which should be replaced with button to show them) | |
20738 | |
20739 any whitespace surrounding any of the above | |
20740 | |
20741 | |
20742 @item | |
20743 Well, we could allow a new value to `gnus-thread-ignore-subject' -- | |
20744 `spaces', or something. (We could even default to that.) And then | |
20745 subjects that differ in white space only could be considered the | |
20746 "same" subject for threading purposes. | |
20747 | |
20748 @item | |
20749 Modes to preprocess the contents (e.g. jka-compr) use the second form | |
20750 "(REGEXP FUNCTION NON-NIL)" while ordinary modes (e.g. tex) use the first | |
20751 form "(REGEXP . FUNCTION)", so you could use it to distinguish between | |
20752 those two types of modes. (auto-modes-alist, insert-file-contents-literally.) | |
20753 | |
20754 @item | |
20755 Under XEmacs -- do funny article marks: | |
20756 tick - thumb tack | |
20757 killed - skull | |
20758 soup - bowl of soup | |
20759 score below - dim light bulb | |
20760 score over - bright light bulb | |
20761 | |
20762 @item | |
20763 Yes. I think the algorithm is as follows: | |
20764 | |
20765 @example | |
20766 Group-mode | |
20767 | |
20768 show-list-of-articles-in-group | |
20769 if (key-pressed == SPACE) | |
20770 if (no-more-articles-in-group-to-select) | |
20771 if (articles-selected) | |
20772 start-reading-selected-articles; | |
20773 junk-unread-articles; | |
20774 next-group; | |
20775 else | |
20776 show-next-page; | |
20777 | |
20778 else if (key-pressed = '.') | |
20779 if (consolidated-menus) # same as hide-thread in Gnus | |
20780 select-thread-under-cursor; | |
20781 else | |
20782 select-article-under-cursor; | |
20783 | |
20784 | |
20785 Article-mode | |
20786 if (key-pressed == SPACE) | |
20787 if (more-pages-in-article) | |
20788 next-page; | |
20789 else if (more-selected-articles-to-read) | |
20790 next-article; | |
20791 else | |
20792 next-group; | |
20793 @end example | |
20794 | |
20795 @item | |
20796 My precise need here would have been to limit files to Incoming*. | |
20797 One could think of some `nneething-only-files' variable, but I guess | |
20798 it would have been unacceptable if one was using many unrelated such | |
20799 nneething groups. | |
20800 | |
20801 A more useful approach would be to, in response to the `G D' prompt, be | |
20802 allowed to say something like: `~/.mail/Incoming*', somewhat limiting | |
20803 the top-level directory only (in case directories would be matched by | |
20804 the wildcard expression). | |
20805 | |
20806 @item | |
20807 It would be nice if it also handled | |
20808 | |
20809 <URL:news://sunsite.auc.dk/> | |
20810 | |
20811 which should correspond to `B nntp RET sunsite.auc.dk' in *Group*. | |
20812 | |
20813 | |
20814 @item | |
20815 | |
20816 Take a look at w3-menu.el in the Emacs-W3 distribution - this works out | |
20817 really well. Each menu is 'named' by a symbol that would be on a | |
20818 gnus-*-menus (where * would be whatever, but at least group, summary, and | |
20819 article versions) variable. | |
20820 | |
20821 So for gnus-summary-menus, I would set to '(sort mark dispose ...) | |
20822 | |
20823 A value of '1' would just put _all_ the menus in a single 'GNUS' menu in | |
20824 the main menubar. This approach works really well for Emacs-W3 and VM. | |
20825 | |
20826 | |
20827 @item | |
20828 nndoc should take care to create unique Message-IDs for all its | |
20829 articles. | |
20830 @item | |
20831 gnus-score-followup-article only works when you have a summary buffer | |
20832 active. Make it work when posting from the group buffer as well. | |
20833 (message-sent-hook). | |
20834 @item | |
20835 rewrite gnus-demon to use run-with-idle-timers. | |
20836 | |
20837 @item | |
20838 * Enhancements to Gnus: | |
20839 | |
20840 Add two commands: | |
20841 | |
20842 * gnus-servers (gnus-start-server-buffer?)--enters Gnus and goes | |
20843 straight to the server buffer, without opening any connections to | |
20844 servers first. | |
20845 | |
20846 * gnus-server-read-server-newsrc--produces a buffer very similar to | |
20847 the group buffer, but with only groups from that server listed; | |
20848 quitting this buffer returns to the server buffer. | |
20849 | |
20850 @item | |
20851 add a command to check the integrity of an nnfolder folder -- | |
20852 go through the article numbers and see that there are no duplicates, | |
20853 and stuff. | |
20854 | |
20855 @item | |
20856 `unsmileyfy-buffer' to undo smileification. | |
20857 | |
20858 @item | |
20859 a command to give all relevant info on an article, including all | |
20860 secondary marks. | |
20861 | |
20862 @item | |
20863 when doing `-request-accept-article', the backends should do | |
20864 the nnmail duplicate checking. | |
20865 | |
20866 @item | |
20867 allow `message-signature-file' to be a function to return the | |
20868 value of the signature file. | |
20869 | |
20870 @item | |
20871 In addition, I would love it if I could configure message-tab so that it | |
20872 could call `bbdb-complete-name' in other headers. So, some sort of | |
20873 interface like | |
20874 | |
20875 (setq message-tab-alist | |
20876 '((message-header-regexp message-expand-group) | |
20877 ("^\\(To\\|[cC]c\\|[bB]cc\\)" bbdb-complete-name))) | |
20878 | |
20879 then you could run the relevant function to complete the information in | |
20880 the header | |
20881 | |
20882 @item | |
20883 cache the newsgroups file locally to avoid reloading it all the time. | |
20884 | |
20885 @item | |
20886 a command to import a buffer into a group. | |
20887 | |
20888 @item | |
20889 nnweb should allow fetching by Message-ID from servers. | |
20890 | |
20891 @item | |
20892 point in the article buffer doesn't always go to the | |
20893 beginning of the buffer when selecting new articles. | |
20894 | |
20895 @item | |
20896 a command to process mark all unread articles. | |
20897 | |
20898 @item | |
20899 `gnus-gather-threads-by-references-and-subject' -- first | |
20900 do gathering by references, and then go through the dummy roots and | |
20901 do more gathering by subject. | |
20902 | |
20903 @item | |
20904 gnus-uu-mark-in-numerical-order -- process mark articles in | |
20905 article numerical order. | |
20906 | |
20907 @item | |
20908 (gnus-thread-total-score | |
20909 (gnus-id-to-thread (mail-header-id (gnus-summary-article-header)))) | |
20910 bind to a key. | |
20911 | |
20912 @item | |
20913 sorting by score is wrong when using sparse threads. | |
20914 | |
20915 @item | |
20916 a command to fetch an arbitrary article -- without having to be | |
20917 in the summary buffer. | |
20918 | |
20919 @item | |
20920 a new nncvs backend. Each group would show an article, using | |
20921 version branches as threading, checkin date as the date, etc. | |
20922 | |
20923 @item | |
33292 | 20924 @url{http://www.dejanews.com/forms/dnsetfilter_exp.html}? |
25829 | 20925 This filter allows one to construct advance queries on the Dejanews |
20926 database such as specifying start and end dates, subject, author, | |
20927 and/or newsgroup name. | |
20928 | |
20929 @item | |
20930 new Date header scoring type -- older, newer | |
20931 | |
20932 @item | |
20933 use the summary toolbar in the article buffer. | |
20934 | |
20935 @item | |
20936 a command to fetch all articles that are less than X days old. | |
20937 | |
20938 @item | |
20939 in pick mode, `q' should save the list of selected articles in the | |
20940 group info. The next time the group is selected, these articles | |
20941 will automatically get the process mark. | |
20942 | |
20943 @item | |
20944 Isn't it possible to (also?) allow M-^ to automatically try the | |
20945 default server if it fails on the current server? (controlled by a | |
20946 user variable, (nil, t, 'ask)). | |
20947 | |
20948 @item | |
20949 make it possible to cancel articles using the select method for the | |
20950 current group. | |
20951 | |
20952 @item | |
20953 `gnus-summary-select-article-on-entry' or something. It'll default | |
20954 to t and will select whatever article decided by `gnus-auto-select-first'. | |
20955 | |
20956 @item | |
20957 a new variable to control which selection commands should be unselecting. | |
20958 `first', `best', `next', `prev', `next-unread', `prev-unread' are | |
20959 candidates. | |
20960 | |
20961 @item | |
20962 be able to select groups that have no articles in them | |
20963 to be able to post in them (using the current select method). | |
20964 | |
20965 @item | |
20966 be able to post via DejaNews. | |
20967 | |
20968 @item | |
20969 `x' should retain any sortings that have been performed. | |
20970 | |
20971 @item | |
20972 allow the user to specify the precedence of the secondary marks. Also | |
20973 allow them to be displayed separately. | |
20974 | |
20975 @item | |
20976 gnus-summary-save-in-pipe should concatenate the results from | |
20977 the processes when doing a process marked pipe. | |
20978 | |
20979 @item | |
20980 a new match type, like Followup, but which adds Thread matches on all | |
20981 articles that match a certain From header. | |
20982 | |
20983 @item | |
20984 a function that can be read from kill-emacs-query-functions to offer | |
20985 saving living summary buffers. | |
20986 | |
20987 @item | |
20988 a function for selecting a particular group which will contain | |
20989 the articles listed in a list of article numbers/id's. | |
20990 | |
20991 @item | |
20992 a battery of character translation functions to translate common | |
20993 Mac, MS (etc) characters into ISO 8859-1. | |
20994 | |
20995 @example | |
20996 (defun article-fix-m$word () | |
20997 "Fix M$Word smartquotes in an article." | |
20998 (interactive) | |
20999 (save-excursion | |
21000 (let ((buffer-read-only nil)) | |
21001 (goto-char (point-min)) | |
21002 (while (search-forward "\221" nil t) | |
21003 (replace-match "`" t t)) | |
21004 (goto-char (point-min)) | |
21005 (while (search-forward "\222" nil t) | |
21006 (replace-match "'" t t)) | |
21007 (goto-char (point-min)) | |
21008 (while (search-forward "\223" nil t) | |
21009 (replace-match "\"" t t)) | |
21010 (goto-char (point-min)) | |
21011 (while (search-forward "\224" nil t) | |
21012 (replace-match "\"" t t))))) | |
21013 @end example | |
21014 | |
21015 @item | |
21016 @example | |
21017 (add-hook 'gnus-exit-query-functions | |
21018 '(lambda () | |
21019 (if (and (file-exists-p nnmail-spool-file) | |
21020 (> (nnheader-file-size nnmail-spool-file) 0)) | |
21021 (yes-or-no-p "New mail has arrived. Quit Gnus anyways? ") | |
21022 (y-or-n-p "Are you sure you want to quit Gnus? ")))) | |
21023 @end example | |
21024 | |
21025 @item | |
21026 allow message-default-headers to be a function. | |
21027 | |
21028 @item | |
21029 new Date score match types -- < > = (etc) that take floating point | |
21030 numbers and match on the age of the article. | |
21031 | |
21032 @item | |
21033 @example | |
21034 > > > If so, I've got one gripe: It seems that when I fire up gnus 5.2.25 | |
21035 > > > under xemacs-19.14, it's creating a new frame, but is erasing the | |
21036 > > > buffer in the frame that it was called from =:-O | |
21037 > | |
21038 > > Hm. How do you start up Gnus? From the toolbar or with | |
21039 > > `M-x gnus-other-frame'? | |
21040 > | |
21041 > I normally start it up from the toolbar; at | |
21042 > least that's the way I've caught it doing the | |
21043 > deed before. | |
21044 @end example | |
21045 | |
21046 @item | |
21047 all commands that react to the process mark should push | |
21048 the current process mark set onto the stack. | |
21049 | |
21050 @item | |
21051 gnus-article-hide-pgp | |
21052 Selv ville jeg nok ha valgt å slette den dersom teksten matcher | |
21053 @example | |
21054 "\\(This\s+\\)?[^ ]+ has been automatically signed by" | |
21055 @end example | |
21056 og det er maks hundre tegn mellom match-end og ----linja. Men -det- | |
21057 er min type heuristikk og langt fra alles. | |
21058 | |
21059 @item | |
21060 `gnus-subscribe-sorted' -- insert new groups where they would have been | |
21061 sorted to if `gnus-group-sort-function' were run. | |
21062 | |
21063 @item | |
21064 gnus-(group,summary)-highlight should respect any `face' text props set | |
21065 on the lines. | |
21066 | |
21067 @item | |
21068 use run-with-idle-timer for gnus-demon instead of the | |
21069 home-brewed stuff for better reliability. | |
21070 | |
21071 @item | |
21072 add a way to select which NoCeM type to apply -- spam, troll, etc. | |
21073 | |
21074 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21075 nndraft-request-group should tally auto-save files. |
25829 | 21076 |
21077 @item | |
21078 implement nntp-retry-on-break and nntp-command-timeout. | |
21079 | |
21080 @item | |
21081 gnus-article-highlight-limit that says when not to highlight (long) | |
21082 articles. | |
21083 | |
21084 @item | |
21085 (nnoo-set SERVER VARIABLE VALUE) | |
21086 | |
21087 @item | |
21088 nn*-spool-methods | |
21089 | |
21090 @item | |
21091 interrupitng agent fetching of articles should save articles. | |
21092 | |
21093 @item | |
21094 command to open a digest group, and copy all the articles there to the | |
21095 current group. | |
21096 | |
21097 @item | |
21098 a variable to disable article body highlights if there's more than | |
21099 X characters in the body. | |
21100 | |
21101 @item | |
21102 handle 480/381 authinfo requests separately. | |
21103 | |
21104 @item | |
21105 include the texi/dir file in the distribution. | |
21106 | |
21107 @item | |
21108 format spec to "tab" to a position. | |
21109 | |
21110 @item | |
21111 Move all prompting to the new `M-n' default style. | |
21112 | |
21113 @item | |
21114 command to display all dormant articles. | |
21115 | |
21116 @item | |
21117 gnus-auto-select-next makeover -- list of things it should do. | |
21118 | |
21119 @item | |
21120 a score match type that adds scores matching on From if From has replied | |
21121 to something someone else has said. | |
21122 | |
21123 @item | |
21124 Read Netscape discussion groups: | |
21125 snews://secnews.netscape.com/netscape.communicator.unix | |
21126 | |
21127 @item | |
21128 One command to edit the original version if an article, and one to edit | |
21129 the displayed version. | |
21130 | |
21131 @item | |
21132 @kbd{T v} -- make all process-marked articles the children of the | |
21133 current article. | |
21134 | |
21135 @item | |
21136 Switch from initial text to the new default text mechanism. | |
21137 | |
21138 @item | |
21139 How about making it possible to expire local articles? Will it be | |
21140 possible to make various constraints on when an article can be | |
21141 expired, e.g. (read), (age > 14 days), or the more interesting (read | |
21142 & age > 14 days)? | |
21143 | |
21144 @item | |
21145 New limit command---limit to articles that have a certain string | |
21146 in the head or body. | |
21147 | |
21148 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21149 Allow breaking lengthy @sc{nntp} commands. |
25829 | 21150 |
21151 @item | |
21152 gnus-article-highlight-limit, to disable highlighting in big articles. | |
21153 | |
21154 @item | |
21155 Editing an article should put the article to be edited | |
21156 in a special, unique buffer. | |
21157 | |
21158 @item | |
21159 A command to send a mail to the admin-address group param. | |
21160 | |
21161 @item | |
21162 A Date scoring type that will match if the article | |
21163 is less than a certain number of days old. | |
21164 | |
21165 @item | |
21166 New spec: %~(tab 56) to put point on column 56 | |
21167 | |
21168 @item | |
21169 Allow Gnus Agent scoring to use normal score files. | |
21170 | |
21171 @item | |
21172 Rething the Agent active file thing. `M-g' doesn't update the active | |
21173 file, for instance. | |
21174 | |
21175 @item | |
21176 With dummy roots, `^' and then selecing the first article | |
21177 in any other dummy thread will make Gnus highlight the | |
21178 dummy root instead of the first article. | |
21179 | |
21180 @item | |
21181 Propagate all group properties (marks, article numbers, etc) up to the | |
21182 topics for displaying. | |
21183 | |
21184 @item | |
21185 `n' in the group buffer with topics should go to the next group | |
21186 with unread articles, even if that group is hidden in a topic. | |
21187 | |
21188 @item | |
21189 gnus-posting-styles doesn't work in drafts. | |
21190 | |
21191 @item | |
21192 gnus-summary-limit-include-cached is slow when there are | |
21193 many articles in the cache, since it regenerates big parts of the | |
21194 summary buffer for each article. | |
21195 | |
21196 @item | |
21197 Implement gnus-batch-brew-soup. | |
21198 | |
21199 @item | |
21200 Group parameters and summary commands for un/subscribing to mailing | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21201 lists. |
25829 | 21202 |
21203 @item | |
21204 Introduce nnmail-home-directory. | |
21205 | |
21206 @item | |
21207 gnus-fetch-group and friends should exit Gnus when the user | |
21208 exits the group. | |
21209 | |
21210 @item | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21211 The jingle is only played on the second invocation of Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21212 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21213 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21214 Bouncing articles should do MIME. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21215 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21216 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21217 Crossposted articles should "inherit" the % or @ mark from the other |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21218 groups it has been crossposted to, or something. (Agent.) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21219 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21220 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21221 If point is on a group that appears multiple times in topics, and |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21222 you press `l', point will move to the first instance of the group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21223 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21224 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21225 A spec for the group line format to display the number of |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21226 agent-downloaded articles in the group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21227 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21228 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21229 Some nntp servers never respond when posting, so there should be a |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21230 timeout for all commands. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21231 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21232 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21233 When stading on a topic line and `t'-ing, point goes to the last line. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21234 It should go somewhere else. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21235 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21236 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21237 I'm having trouble accessing a newsgroup with a "+" in its name with |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21238 Gnus. There is a new newsgroup on msnews.microsoft.com named |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21239 "microsoft.public.multimedia.directx.html+time" that I'm trying to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21240 access as |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21241 "nntp+msnews.microsoft.com:microsoft.public.multimedia.directx.html+time" |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21242 but it gives an error that it cant access the group. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21243 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21244 Is the "+" character illegal in newsgroup names? Is there any way in |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21245 Gnus to work around this? (gnus 5.6.45 - XEmacs 20.4) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21246 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21247 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21248 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21249 When `#F', do: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21250 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21251 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21252 Subject: Answer to your mails 01.01.1999-01.05.1999 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21253 --text follows this line-- |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21254 Sorry I killfiled you... |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21255 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21256 Under the subject "foo", you wrote on 01.01.1999: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21257 > bar |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21258 Under the subject "foo1", you wrote on 01.01.1999: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21259 > bar 1 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21260 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21261 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21262 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21263 Allow "orphan" scores in the Agent scoring. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21264 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21265 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21266 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21267 - Edit article's summary line. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21268 - End edit |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21269 - Sort lines in buffer by subject |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21270 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21271 --> the old subject line appears in Summary buffer, not the one that was |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21272 just changed to. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21273 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21274 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21275 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21276 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21277 Remove list identifiers from the subject in the summary when doing `^' |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21278 and the like. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21279 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21280 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21281 Have the Agent write out articles, one by one, as it retrieves them, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21282 to avoid having to re-fetch them all if Emacs should crash while |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21283 fetching. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21284 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21285 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21286 Be able to forward groups of messages as MIME digests. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21287 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21288 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21289 nnweb should include the "get whole article" article when getting articles. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21290 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21291 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21292 When I type W W c (gnus-article-hide-citation) in the summary |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21293 buffer, the citations are revealed, but the [+] buttons don't turn |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21294 into [-] buttons. (If I click on one of the [+] buttons, it does |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21295 turn into a [-] button.) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21296 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21297 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21298 Perhaps there should be a command to "attach" a buffer of comments to |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21299 a message? That is, `B WHATEVER', you're popped into a buffer, write |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21300 something, end with `C-c C-c', and then the thing you've written gets |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21301 to be the child of the message you're commenting. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21302 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21303 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21304 Handle external-body parts. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21305 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21306 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21307 When renaming a group name, nnmail-split-history does not get the group |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21308 name renamed. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21309 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21310 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21311 Allow mail splitting on bodies when using advanced mail splitting. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21312 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21313 @lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21314 (body "whatever.text") |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21315 @end lisp |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21316 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21317 @item |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21318 Be able to run `J u' from summary buffers. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21319 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21320 @item |
25829 | 21321 Solve the halting problem. |
21322 | |
21323 @c TODO | |
21324 @end itemize | |
21325 | |
21326 @iftex | |
21327 | |
21328 @page | |
21329 @node The Manual | |
21330 @section The Manual | |
21331 @cindex colophon | |
21332 @cindex manual | |
21333 | |
21334 This manual was generated from a TeXinfo file and then run through | |
21335 either @code{texi2dvi} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21336 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21337 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
|
21338 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
|
21339 @end iflatex |
25829 | 21340 to get what you hold in your hands now. |
21341 | |
21342 The following conventions have been used: | |
21343 | |
21344 @enumerate | |
21345 | |
21346 @item | |
21347 This is a @samp{string} | |
21348 | |
21349 @item | |
21350 This is a @kbd{keystroke} | |
21351 | |
21352 @item | |
21353 This is a @file{file} | |
21354 | |
21355 @item | |
21356 This is a @code{symbol} | |
21357 | |
21358 @end enumerate | |
21359 | |
21360 So if I were to say ``set @code{flargnoze} to @samp{yes}'', that would | |
21361 mean: | |
21362 | |
21363 @lisp | |
21364 (setq flargnoze "yes") | |
21365 @end lisp | |
21366 | |
21367 If I say ``set @code{flumphel} to @code{yes}'', that would mean: | |
21368 | |
21369 @lisp | |
21370 (setq flumphel 'yes) | |
21371 @end lisp | |
21372 | |
21373 @samp{yes} and @code{yes} are two @emph{very} different things---don't | |
21374 ever get them confused. | |
21375 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21376 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21377 @c @head |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21378 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
|
21379 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
|
21380 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
|
21381 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
|
21382 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
|
21383 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
|
21384 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
|
21385 @end iflatex |
25829 | 21386 |
21387 @end iftex | |
21388 | |
21389 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21390 @node On Writing Manuals |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21391 @section On Writing Manuals |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21392 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21393 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
|
21394 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
|
21395 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
|
21396 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
|
21397 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
|
21398 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
|
21399 hand in hand. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21400 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21401 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
|
21402 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
|
21403 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
|
21404 started with Gnus. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21405 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21406 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
|
21407 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
|
21408 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21409 |
25829 | 21410 @page |
21411 @node Terminology | |
21412 @section Terminology | |
21413 | |
21414 @cindex terminology | |
21415 @table @dfn | |
21416 | |
21417 @item news | |
21418 @cindex news | |
21419 This is what you are supposed to use this thing for---reading news. | |
21420 News is generally fetched from a nearby @sc{nntp} server, and is | |
21421 generally publicly available to everybody. If you post news, the entire | |
21422 world is likely to read just what you have written, and they'll all | |
21423 snigger mischievously. Behind your back. | |
21424 | |
21425 @item mail | |
21426 @cindex mail | |
21427 Everything that's delivered to you personally is mail. Some news/mail | |
21428 readers (like Gnus) blur the distinction between mail and news, but | |
21429 there is a difference. Mail is private. News is public. Mailing is | |
21430 not posting, and replying is not following up. | |
21431 | |
21432 @item reply | |
21433 @cindex reply | |
21434 Send a mail to the person who has written what you are reading. | |
21435 | |
21436 @item follow up | |
21437 @cindex follow up | |
21438 Post an article to the current newsgroup responding to the article you | |
21439 are reading. | |
21440 | |
21441 @item backend | |
21442 @cindex backend | |
21443 Gnus gets fed articles from a number of backends, both news and mail | |
21444 backends. Gnus does not handle the underlying media, so to speak---this | |
21445 is all done by the backends. | |
21446 | |
21447 @item native | |
21448 @cindex native | |
21449 Gnus will always use one method (and backend) as the @dfn{native}, or | |
21450 default, way of getting news. | |
21451 | |
21452 @item foreign | |
21453 @cindex foreign | |
21454 You can also have any number of foreign groups active at the same time. | |
21455 These are groups that use non-native non-secondary backends for getting | |
21456 news. | |
21457 | |
21458 @item secondary | |
21459 @cindex secondary | |
21460 Secondary backends are somewhere half-way between being native and being | |
21461 foreign, but they mostly act like they are native. | |
21462 | |
21463 @item article | |
21464 @cindex article | |
21465 A message that has been posted as news. | |
21466 | |
21467 @item mail message | |
21468 @cindex mail message | |
21469 A message that has been mailed. | |
21470 | |
21471 @item message | |
21472 @cindex message | |
21473 A mail message or news article | |
21474 | |
21475 @item head | |
21476 @cindex head | |
21477 The top part of a message, where administrative information (etc.) is | |
21478 put. | |
21479 | |
21480 @item body | |
21481 @cindex body | |
21482 The rest of an article. Everything not in the head is in the | |
21483 body. | |
21484 | |
21485 @item header | |
21486 @cindex header | |
21487 A line from the head of an article. | |
21488 | |
21489 @item headers | |
21490 @cindex headers | |
21491 A collection of such lines, or a collection of heads. Or even a | |
21492 collection of @sc{nov} lines. | |
21493 | |
21494 @item @sc{nov} | |
21495 @cindex nov | |
21496 When Gnus enters a group, it asks the backend for the headers of all | |
21497 unread articles in the group. Most servers support the News OverView | |
21498 format, which is more compact and much faster to read and parse than the | |
21499 normal @sc{head} format. | |
21500 | |
21501 @item level | |
21502 @cindex levels | |
21503 Each group is subscribed at some @dfn{level} or other (1-9). The ones | |
21504 that have a lower level are ``more'' subscribed than the groups with a | |
21505 higher level. In fact, groups on levels 1-5 are considered | |
21506 @dfn{subscribed}; 6-7 are @dfn{unsubscribed}; 8 are @dfn{zombies}; and 9 | |
21507 are @dfn{killed}. Commands for listing groups and scanning for new | |
21508 articles will all use the numeric prefix as @dfn{working level}. | |
21509 | |
21510 @item killed groups | |
21511 @cindex killed groups | |
21512 No information on killed groups is stored or updated, which makes killed | |
21513 groups much easier to handle than subscribed groups. | |
21514 | |
21515 @item zombie groups | |
21516 @cindex zombie groups | |
21517 Just like killed groups, only slightly less dead. | |
21518 | |
21519 @item active file | |
21520 @cindex active file | |
21521 The news server has to keep track of what articles it carries, and what | |
21522 groups exist. All this information in stored in the active file, which | |
21523 is rather large, as you might surmise. | |
21524 | |
21525 @item bogus groups | |
21526 @cindex bogus groups | |
21527 A group that exists in the @file{.newsrc} file, but isn't known to the | |
21528 server (i.e., it isn't in the active file), is a @emph{bogus group}. | |
21529 This means that the group probably doesn't exist (any more). | |
21530 | |
21531 @item activating | |
21532 @cindex activating groups | |
21533 The act of asking the server for info on a group and computing the | |
21534 number of unread articles is called @dfn{activating the group}. | |
21535 Un-activated groups are listed with @samp{*} in the group buffer. | |
21536 | |
21537 @item server | |
21538 @cindex server | |
21539 A machine one can connect to and get news (or mail) from. | |
21540 | |
21541 @item select method | |
21542 @cindex select method | |
21543 A structure that specifies the backend, the server and the virtual | |
21544 server settings. | |
21545 | |
21546 @item virtual server | |
21547 @cindex virtual server | |
21548 A named select method. Since a select method defines all there is to | |
21549 know about connecting to a (physical) server, taking the thing as a | |
21550 whole is a virtual server. | |
21551 | |
21552 @item washing | |
21553 @cindex washing | |
21554 Taking a buffer and running it through a filter of some sort. The | |
21555 result will (more often than not) be cleaner and more pleasing than the | |
21556 original. | |
21557 | |
21558 @item ephemeral groups | |
21559 @cindex ephemeral groups | |
21560 Most groups store data on what articles you have read. @dfn{Ephemeral} | |
21561 groups are groups that will have no data stored---when you exit the | |
21562 group, it'll disappear into the aether. | |
21563 | |
21564 @item solid groups | |
21565 @cindex solid groups | |
21566 This is the opposite of ephemeral groups. All groups listed in the | |
21567 group buffer are solid groups. | |
21568 | |
21569 @item sparse articles | |
21570 @cindex sparse articles | |
21571 These are article placeholders shown in the summary buffer when | |
21572 @code{gnus-build-sparse-threads} has been switched on. | |
21573 | |
21574 @item threading | |
21575 @cindex threading | |
21576 To put responses to articles directly after the articles they respond | |
21577 to---in a hierarchical fashion. | |
21578 | |
21579 @item root | |
21580 @cindex root | |
21581 @cindex thread root | |
21582 The first article in a thread is the root. It is the ancestor of all | |
21583 articles in the thread. | |
21584 | |
21585 @item parent | |
21586 @cindex parent | |
21587 An article that has responses. | |
21588 | |
21589 @item child | |
21590 @cindex child | |
21591 An article that responds to a different article---its parent. | |
21592 | |
21593 @item digest | |
21594 @cindex digest | |
21595 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
|
21596 specified by RFC 1153. |
25829 | 21597 |
21598 @end table | |
21599 | |
21600 | |
21601 @page | |
21602 @node Customization | |
21603 @section Customization | |
21604 @cindex general customization | |
21605 | |
21606 All variables are properly documented elsewhere in this manual. This | |
21607 section is designed to give general pointers on how to customize Gnus | |
21608 for some quite common situations. | |
21609 | |
21610 @menu | |
21611 * Slow/Expensive Connection:: You run a local Emacs and get the news elsewhere. | |
21612 * Slow Terminal Connection:: You run a remote Emacs. | |
21613 * Little Disk Space:: You feel that having large setup files is icky. | |
21614 * Slow Machine:: You feel like buying a faster machine. | |
21615 @end menu | |
21616 | |
21617 | |
21618 @node Slow/Expensive Connection | |
21619 @subsection Slow/Expensive @sc{nntp} Connection | |
21620 | |
21621 If you run Emacs on a machine locally, and get your news from a machine | |
21622 over some very thin strings, you want to cut down on the amount of data | |
21623 Gnus has to get from the @sc{nntp} server. | |
21624 | |
21625 @table @code | |
21626 | |
21627 @item gnus-read-active-file | |
21628 Set this to @code{nil}, which will inhibit Gnus from requesting the | |
21629 entire active file from the server. This file is often v. large. You | |
21630 also have to set @code{gnus-check-new-newsgroups} and | |
21631 @code{gnus-check-bogus-newsgroups} to @code{nil} to make sure that Gnus | |
21632 doesn't suddenly decide to fetch the active file anyway. | |
21633 | |
21634 @item gnus-nov-is-evil | |
21635 This one has to be @code{nil}. If not, grabbing article headers from | |
21636 the @sc{nntp} server will not be very fast. Not all @sc{nntp} servers | |
21637 support @sc{xover}; Gnus will detect this by itself. | |
21638 @end table | |
21639 | |
21640 | |
21641 @node Slow Terminal Connection | |
21642 @subsection Slow Terminal Connection | |
21643 | |
21644 Let's say you use your home computer for dialing up the system that runs | |
21645 Emacs and Gnus. If your modem is slow, you want to reduce (as much as | |
21646 possible) the amount of data sent over the wires. | |
21647 | |
21648 @table @code | |
21649 | |
21650 @item gnus-auto-center-summary | |
21651 Set this to @code{nil} to inhibit Gnus from re-centering the summary | |
21652 buffer all the time. If it is @code{vertical}, do only vertical | |
21653 re-centering. If it is neither @code{nil} nor @code{vertical}, do both | |
21654 horizontal and vertical recentering. | |
21655 | |
21656 @item gnus-visible-headers | |
21657 Cut down on the headers included in the articles to the | |
21658 minimum. You can, in fact, make do without them altogether---most of the | |
21659 useful data is in the summary buffer, anyway. Set this variable to | |
21660 @samp{^NEVVVVER} or @samp{From:}, or whatever you feel you need. | |
21661 | |
21662 Set this hook to all the available hiding commands: | |
21663 @lisp | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21664 (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
|
21665 gnus-treat-hide-signature t |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21666 gnus-treat-hide-citation t) |
25829 | 21667 @end lisp |
21668 | |
21669 @item gnus-use-full-window | |
21670 By setting this to @code{nil}, you can make all the windows smaller. | |
21671 While this doesn't really cut down much generally, it means that you | |
21672 have to see smaller portions of articles before deciding that you didn't | |
21673 want to read them anyway. | |
21674 | |
21675 @item gnus-thread-hide-subtree | |
21676 If this is non-@code{nil}, all threads in the summary buffer will be | |
21677 hidden initially. | |
21678 | |
21679 @item gnus-updated-mode-lines | |
21680 If this is @code{nil}, Gnus will not put information in the buffer mode | |
21681 lines, which might save some time. | |
21682 @end table | |
21683 | |
21684 | |
21685 @node Little Disk Space | |
21686 @subsection Little Disk Space | |
21687 @cindex disk space | |
21688 | |
21689 The startup files can get rather large, so you may want to cut their | |
21690 sizes a bit if you are running out of space. | |
21691 | |
21692 @table @code | |
21693 | |
21694 @item gnus-save-newsrc-file | |
21695 If this is @code{nil}, Gnus will never save @file{.newsrc}---it will | |
21696 only save @file{.newsrc.eld}. This means that you will not be able to | |
21697 use any other newsreaders than Gnus. This variable is @code{t} by | |
21698 default. | |
21699 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21700 @item gnus-read-newsrc-file |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21701 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
|
21702 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
|
21703 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
|
21704 default. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21705 |
25829 | 21706 @item gnus-save-killed-list |
21707 If this is @code{nil}, Gnus will not save the list of dead groups. You | |
21708 should also set @code{gnus-check-new-newsgroups} to @code{ask-server} | |
21709 and @code{gnus-check-bogus-newsgroups} to @code{nil} if you set this | |
21710 variable to @code{nil}. This variable is @code{t} by default. | |
21711 | |
21712 @end table | |
21713 | |
21714 | |
21715 @node Slow Machine | |
21716 @subsection Slow Machine | |
21717 @cindex slow machine | |
21718 | |
21719 If you have a slow machine, or are just really impatient, there are a | |
21720 few things you can do to make Gnus run faster. | |
21721 | |
21722 Set @code{gnus-check-new-newsgroups} and | |
21723 @code{gnus-check-bogus-newsgroups} to @code{nil} to make startup faster. | |
21724 | |
21725 Set @code{gnus-show-threads}, @code{gnus-use-cross-reference} and | |
21726 @code{gnus-nov-is-evil} to @code{nil} to make entering and exiting the | |
21727 summary buffer faster. | |
21728 | |
21729 | |
21730 @page | |
21731 @node Troubleshooting | |
21732 @section Troubleshooting | |
21733 @cindex troubleshooting | |
21734 | |
21735 Gnus works @emph{so} well straight out of the box---I can't imagine any | |
21736 problems, really. | |
21737 | |
21738 Ahem. | |
21739 | |
21740 @enumerate | |
21741 | |
21742 @item | |
21743 Make sure your computer is switched on. | |
21744 | |
21745 @item | |
21746 Make sure that you really load the current Gnus version. If you have | |
21747 been running @sc{gnus}, you need to exit Emacs and start it up again before | |
21748 Gnus will work. | |
21749 | |
21750 @item | |
21751 Try doing an @kbd{M-x gnus-version}. If you get something that looks | |
21752 like @samp{Gnus v5.46; nntp 4.0} you have the right files loaded. If, | |
21753 on the other hand, you get something like @samp{NNTP 3.x} or @samp{nntp | |
21754 flee}, you have some old @file{.el} files lying around. Delete these. | |
21755 | |
21756 @item | |
21757 Read the help group (@kbd{G h} in the group buffer) for a FAQ and a | |
21758 how-to. | |
21759 | |
21760 @item | |
21761 @vindex max-lisp-eval-depth | |
21762 Gnus works on many recursive structures, and in some extreme (and very | |
21763 rare) cases Gnus may recurse down ``too deeply'' and Emacs will beep at | |
21764 you. If this happens to you, set @code{max-lisp-eval-depth} to 500 or | |
21765 something like that. | |
21766 @end enumerate | |
21767 | |
21768 If all else fails, report the problem as a bug. | |
21769 | |
21770 @cindex bugs | |
21771 @cindex reporting bugs | |
21772 | |
21773 @kindex M-x gnus-bug | |
21774 @findex gnus-bug | |
21775 If you find a bug in Gnus, you can report it with the @kbd{M-x gnus-bug} | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21776 command. @kbd{M-x set-variable RET debug-on-error RET t RET}, and send |
25829 | 21777 me the backtrace. I will fix bugs, but I can only fix them if you send |
21778 me a precise description as to how to reproduce the bug. | |
21779 | |
21780 You really can never be too detailed in a bug report. Always use the | |
21781 @kbd{M-x gnus-bug} command when you make bug reports, even if it creates | |
21782 a 10Kb mail each time you use it, and even if you have sent me your | |
21783 environment 500 times before. I don't care. I want the full info each | |
21784 time. | |
21785 | |
21786 It is also important to remember that I have no memory whatsoever. If | |
21787 you send a bug report, and I send you a reply, and then you just send | |
21788 back ``No, it's not! Moron!'', I will have no idea what you are | |
21789 insulting me about. Always over-explain everything. It's much easier | |
21790 for all of us---if I don't have all the information I need, I will just | |
21791 mail you and ask for more info, and everything takes more time. | |
21792 | |
21793 If the problem you're seeing is very visual, and you can't quite explain | |
21794 it, copy the Emacs window to a file (with @code{xwd}, for instance), put | |
21795 it somewhere it can be reached, and include the URL of the picture in | |
21796 the bug report. | |
21797 | |
21798 If you just need help, you are better off asking on | |
21799 @samp{gnu.emacs.gnus}. I'm not very helpful. | |
21800 | |
21801 @cindex gnu.emacs.gnus | |
21802 @cindex ding mailing list | |
21803 You can also ask on the ding mailing list---@samp{ding@@gnus.org}. | |
21804 Write to @samp{ding-request@@gnus.org} to subscribe. | |
21805 | |
21806 | |
21807 @page | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21808 @node Gnus Reference Guide |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
21809 @section Gnus Reference Guide |
25829 | 21810 |
21811 It is my hope that other people will figure out smart stuff that Gnus | |
21812 can do, and that other people will write those smart things as well. To | |
21813 facilitate that I thought it would be a good idea to describe the inner | |
21814 workings of Gnus. And some of the not-so-inner workings, while I'm at | |
21815 it. | |
21816 | |
21817 You can never expect the internals of a program not to change, but I | |
21818 will be defining (in some details) the interface between Gnus and its | |
21819 backends (this is written in stone), the format of the score files | |
21820 (ditto), data structures (some are less likely to change than others) | |
21821 and general methods of operation. | |
21822 | |
21823 @menu | |
21824 * Gnus Utility Functions:: Common functions and variable to use. | |
21825 * Backend Interface:: How Gnus communicates with the servers. | |
21826 * Score File Syntax:: A BNF definition of the score file standard. | |
21827 * Headers:: How Gnus stores headers internally. | |
21828 * Ranges:: A handy format for storing mucho numbers. | |
21829 * Group Info:: The group info format. | |
21830 * Extended Interactive:: Symbolic prefixes and stuff. | |
21831 * Emacs/XEmacs Code:: Gnus can be run under all modern Emacsen. | |
21832 * Various File Formats:: Formats of files that Gnus use. | |
21833 @end menu | |
21834 | |
21835 | |
21836 @node Gnus Utility Functions | |
21837 @subsection Gnus Utility Functions | |
21838 @cindex Gnus utility functions | |
21839 @cindex utility functions | |
21840 @cindex functions | |
21841 @cindex internal variables | |
21842 | |
21843 When writing small functions to be run from hooks (and stuff), it's | |
21844 vital to have access to the Gnus internal functions and variables. | |
21845 Below is a list of the most common ones. | |
21846 | |
21847 @table @code | |
21848 | |
21849 @item gnus-newsgroup-name | |
21850 @vindex gnus-newsgroup-name | |
21851 This variable holds the name of the current newsgroup. | |
21852 | |
21853 @item gnus-find-method-for-group | |
21854 @findex gnus-find-method-for-group | |
21855 A function that returns the select method for @var{group}. | |
21856 | |
21857 @item gnus-group-real-name | |
21858 @findex gnus-group-real-name | |
21859 Takes a full (prefixed) Gnus group name, and returns the unprefixed | |
21860 name. | |
21861 | |
21862 @item gnus-group-prefixed-name | |
21863 @findex gnus-group-prefixed-name | |
21864 Takes an unprefixed group name and a select method, and returns the full | |
21865 (prefixed) Gnus group name. | |
21866 | |
21867 @item gnus-get-info | |
21868 @findex gnus-get-info | |
21869 Returns the group info list for @var{group}. | |
21870 | |
21871 @item gnus-group-unread | |
21872 @findex gnus-group-unread | |
21873 The number of unread articles in @var{group}, or @code{t} if that is | |
21874 unknown. | |
21875 | |
21876 @item gnus-active | |
21877 @findex gnus-active | |
21878 The active entry for @var{group}. | |
21879 | |
21880 @item gnus-set-active | |
21881 @findex gnus-set-active | |
21882 Set the active entry for @var{group}. | |
21883 | |
21884 @item gnus-add-current-to-buffer-list | |
21885 @findex gnus-add-current-to-buffer-list | |
21886 Adds the current buffer to the list of buffers to be killed on Gnus | |
21887 exit. | |
21888 | |
21889 @item gnus-continuum-version | |
21890 @findex gnus-continuum-version | |
21891 Takes a Gnus version string as a parameter and returns a floating point | |
21892 number. Earlier versions will always get a lower number than later | |
21893 versions. | |
21894 | |
21895 @item gnus-group-read-only-p | |
21896 @findex gnus-group-read-only-p | |
21897 Says whether @var{group} is read-only or not. | |
21898 | |
21899 @item gnus-news-group-p | |
21900 @findex gnus-news-group-p | |
21901 Says whether @var{group} came from a news backend. | |
21902 | |
21903 @item gnus-ephemeral-group-p | |
21904 @findex gnus-ephemeral-group-p | |
21905 Says whether @var{group} is ephemeral or not. | |
21906 | |
21907 @item gnus-server-to-method | |
21908 @findex gnus-server-to-method | |
21909 Returns the select method corresponding to @var{server}. | |
21910 | |
21911 @item gnus-server-equal | |
21912 @findex gnus-server-equal | |
21913 Says whether two virtual servers are equal. | |
21914 | |
21915 @item gnus-group-native-p | |
21916 @findex gnus-group-native-p | |
21917 Says whether @var{group} is native or not. | |
21918 | |
21919 @item gnus-group-secondary-p | |
21920 @findex gnus-group-secondary-p | |
21921 Says whether @var{group} is secondary or not. | |
21922 | |
21923 @item gnus-group-foreign-p | |
21924 @findex gnus-group-foreign-p | |
21925 Says whether @var{group} is foreign or not. | |
21926 | |
21927 @item group-group-find-parameter | |
21928 @findex group-group-find-parameter | |
21929 Returns the parameter list of @var{group}. If given a second parameter, | |
21930 returns the value of that parameter for @var{group}. | |
21931 | |
21932 @item gnus-group-set-parameter | |
21933 @findex gnus-group-set-parameter | |
21934 Takes three parameters; @var{group}, @var{parameter} and @var{value}. | |
21935 | |
21936 @item gnus-narrow-to-body | |
21937 @findex gnus-narrow-to-body | |
21938 Narrows the current buffer to the body of the article. | |
21939 | |
21940 @item gnus-check-backend-function | |
21941 @findex gnus-check-backend-function | |
21942 Takes two parameters, @var{function} and @var{group}. If the backend | |
21943 @var{group} comes from supports @var{function}, return non-@code{nil}. | |
21944 | |
21945 @lisp | |
21946 (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
|
21947 @result{} t |
25829 | 21948 @end lisp |
21949 | |
21950 @item gnus-read-method | |
21951 @findex gnus-read-method | |
21952 Prompts the user for a select method. | |
21953 | |
21954 @end table | |
21955 | |
21956 | |
21957 @node Backend Interface | |
21958 @subsection Backend Interface | |
21959 | |
21960 Gnus doesn't know anything about @sc{nntp}, spools, mail or virtual | |
21961 groups. It only knows how to talk to @dfn{virtual servers}. A virtual | |
21962 server is a @dfn{backend} and some @dfn{backend variables}. As examples | |
21963 of the first, we have @code{nntp}, @code{nnspool} and @code{nnmbox}. As | |
21964 examples of the latter we have @code{nntp-port-number} and | |
21965 @code{nnmbox-directory}. | |
21966 | |
21967 When Gnus asks for information from a backend---say @code{nntp}---on | |
21968 something, it will normally include a virtual server name in the | |
21969 function parameters. (If not, the backend should use the ``current'' | |
21970 virtual server.) For instance, @code{nntp-request-list} takes a virtual | |
21971 server as its only (optional) parameter. If this virtual server hasn't | |
21972 been opened, the function should fail. | |
21973 | |
21974 Note that a virtual server name has no relation to some physical server | |
21975 name. Take this example: | |
21976 | |
21977 @lisp | |
21978 (nntp "odd-one" | |
21979 (nntp-address "ifi.uio.no") | |
21980 (nntp-port-number 4324)) | |
21981 @end lisp | |
21982 | |
21983 Here the virtual server name is @samp{odd-one} while the name of | |
21984 the physical server is @samp{ifi.uio.no}. | |
21985 | |
21986 The backends should be able to switch between several virtual servers. | |
21987 The standard backends implement this by keeping an alist of virtual | |
21988 server environments that they pull down/push up when needed. | |
21989 | |
21990 There are two groups of interface functions: @dfn{required functions}, | |
21991 which must be present, and @dfn{optional functions}, which Gnus will | |
21992 always check for presence before attempting to call 'em. | |
21993 | |
21994 All these functions are expected to return data in the buffer | |
21995 @code{nntp-server-buffer} (@samp{ *nntpd*}), which is somewhat | |
21996 unfortunately named, but we'll have to live with it. When I talk about | |
21997 @dfn{resulting data}, I always refer to the data in that buffer. When I | |
21998 talk about @dfn{return value}, I talk about the function value returned by | |
21999 the function call. Functions that fail should return @code{nil} as the | |
22000 return value. | |
22001 | |
22002 Some backends could be said to be @dfn{server-forming} backends, and | |
22003 some might be said not to be. The latter are backends that generally | |
22004 only operate on one group at a time, and have no concept of ``server'' | |
22005 -- they have a group, and they deliver info on that group and nothing | |
22006 more. | |
22007 | |
22008 In the examples and definitions I will refer to the imaginary backend | |
22009 @code{nnchoke}. | |
22010 | |
22011 @cindex @code{nnchoke} | |
22012 | |
22013 @menu | |
22014 * Required Backend Functions:: Functions that must be implemented. | |
22015 * Optional Backend Functions:: Functions that need not be implemented. | |
22016 * Error Messaging:: How to get messages and report errors. | |
22017 * Writing New Backends:: Extending old backends. | |
22018 * Hooking New Backends Into Gnus:: What has to be done on the Gnus end. | |
22019 * Mail-like Backends:: Some tips on mail backends. | |
22020 @end menu | |
22021 | |
22022 | |
22023 @node Required Backend Functions | |
22024 @subsubsection Required Backend Functions | |
22025 | |
22026 @table @code | |
22027 | |
22028 @item (nnchoke-retrieve-headers ARTICLES &optional GROUP SERVER FETCH-OLD) | |
22029 | |
22030 @var{articles} is either a range of article numbers or a list of | |
22031 @code{Message-ID}s. Current backends do not fully support either---only | |
22032 sequences (lists) of article numbers, and most backends do not support | |
22033 retrieval of @code{Message-ID}s. But they should try for both. | |
22034 | |
22035 The result data should either be HEADs or NOV lines, and the result | |
22036 value should either be @code{headers} or @code{nov} to reflect this. | |
22037 This might later be expanded to @code{various}, which will be a mixture | |
22038 of HEADs and NOV lines, but this is currently not supported by Gnus. | |
22039 | |
22040 If @var{fetch-old} is non-@code{nil} it says to try fetching "extra | |
22041 headers", in some meaning of the word. This is generally done by | |
22042 fetching (at most) @var{fetch-old} extra headers less than the smallest | |
22043 article number in @code{articles}, and filling the gaps as well. The | |
22044 presence of this parameter can be ignored if the backend finds it | |
22045 cumbersome to follow the request. If this is non-@code{nil} and not a | |
22046 number, do maximum fetches. | |
22047 | |
22048 Here's an example HEAD: | |
22049 | |
22050 @example | |
22051 221 1056 Article retrieved. | |
22052 Path: ifi.uio.no!sturles | |
22053 From: sturles@@ifi.uio.no (Sturle Sunde) | |
22054 Newsgroups: ifi.discussion | |
22055 Subject: Re: Something very droll | |
22056 Date: 27 Oct 1994 14:02:57 +0100 | |
22057 Organization: Dept. of Informatics, University of Oslo, Norway | |
22058 Lines: 26 | |
22059 Message-ID: <38o8e1$a0o@@holmenkollen.ifi.uio.no> | |
22060 References: <38jdmq$4qu@@visbur.ifi.uio.no> | |
22061 NNTP-Posting-Host: holmenkollen.ifi.uio.no | |
22062 . | |
22063 @end example | |
22064 | |
22065 So a @code{headers} return value would imply that there's a number of | |
22066 these in the data buffer. | |
22067 | |
22068 Here's a BNF definition of such a buffer: | |
22069 | |
22070 @example | |
22071 headers = *head | |
22072 head = error / valid-head | |
22073 error-message = [ "4" / "5" ] 2number " " <error message> eol | |
22074 valid-head = valid-message *header "." eol | |
22075 valid-message = "221 " <number> " Article retrieved." eol | |
22076 header = <text> eol | |
22077 @end example | |
22078 | |
22079 If the return value is @code{nov}, the data buffer should contain | |
22080 @dfn{network overview database} lines. These are basically fields | |
22081 separated by tabs. | |
22082 | |
22083 @example | |
22084 nov-buffer = *nov-line | |
22085 nov-line = 8*9 [ field <TAB> ] eol | |
22086 field = <text except TAB> | |
22087 @end example | |
22088 | |
22089 For a closer look at what should be in those fields, | |
22090 @pxref{Headers}. | |
22091 | |
22092 | |
22093 @item (nnchoke-open-server SERVER &optional DEFINITIONS) | |
22094 | |
22095 @var{server} is here the virtual server name. @var{definitions} is a | |
22096 list of @code{(VARIABLE VALUE)} pairs that define this virtual server. | |
22097 | |
22098 If the server can't be opened, no error should be signaled. The backend | |
22099 may then choose to refuse further attempts at connecting to this | |
22100 server. In fact, it should do so. | |
22101 | |
22102 If the server is opened already, this function should return a | |
22103 non-@code{nil} value. There should be no data returned. | |
22104 | |
22105 | |
22106 @item (nnchoke-close-server &optional SERVER) | |
22107 | |
22108 Close connection to @var{server} and free all resources connected | |
22109 to it. Return @code{nil} if the server couldn't be closed for some | |
22110 reason. | |
22111 | |
22112 There should be no data returned. | |
22113 | |
22114 | |
22115 @item (nnchoke-request-close) | |
22116 | |
22117 Close connection to all servers and free all resources that the backend | |
22118 have reserved. All buffers that have been created by that backend | |
22119 should be killed. (Not the @code{nntp-server-buffer}, though.) This | |
22120 function is generally only called when Gnus is shutting down. | |
22121 | |
22122 There should be no data returned. | |
22123 | |
22124 | |
22125 @item (nnchoke-server-opened &optional SERVER) | |
22126 | |
22127 If @var{server} is the current virtual server, and the connection to the | |
22128 physical server is alive, then this function should return a | |
22129 non-@code{nil} vlue. This function should under no circumstances | |
22130 attempt to reconnect to a server we have lost connection to. | |
22131 | |
22132 There should be no data returned. | |
22133 | |
22134 | |
22135 @item (nnchoke-status-message &optional SERVER) | |
22136 | |
22137 This function should return the last error message from @var{server}. | |
22138 | |
22139 There should be no data returned. | |
22140 | |
22141 | |
22142 @item (nnchoke-request-article ARTICLE &optional GROUP SERVER TO-BUFFER) | |
22143 | |
22144 The result data from this function should be the article specified by | |
22145 @var{article}. This might either be a @code{Message-ID} or a number. | |
22146 It is optional whether to implement retrieval by @code{Message-ID}, but | |
22147 it would be nice if that were possible. | |
22148 | |
22149 If @var{to-buffer} is non-@code{nil}, the result data should be returned | |
22150 in this buffer instead of the normal data buffer. This is to make it | |
22151 possible to avoid copying large amounts of data from one buffer to | |
22152 another, while Gnus mainly requests articles to be inserted directly | |
22153 into its article buffer. | |
22154 | |
22155 If it is at all possible, this function should return a cons cell where | |
22156 the @code{car} is the group name the article was fetched from, and the @code{cdr} is | |
22157 the article number. This will enable Gnus to find out what the real | |
22158 group and article numbers are when fetching articles by | |
22159 @code{Message-ID}. If this isn't possible, @code{t} should be returned | |
22160 on successful article retrieval. | |
22161 | |
22162 | |
22163 @item (nnchoke-request-group GROUP &optional SERVER FAST) | |
22164 | |
22165 Get data on @var{group}. This function also has the side effect of | |
22166 making @var{group} the current group. | |
22167 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22168 If @var{fast}, don't bother to return useful data, just make @var{group} |
25829 | 22169 the current group. |
22170 | |
22171 Here's an example of some result data and a definition of the same: | |
22172 | |
22173 @example | |
22174 211 56 1000 1059 ifi.discussion | |
22175 @end example | |
22176 | |
22177 The first number is the status, which should be 211. Next is the | |
22178 total number of articles in the group, the lowest article number, the | |
22179 highest article number, and finally the group name. Note that the total | |
22180 number of articles may be less than one might think while just | |
22181 considering the highest and lowest article numbers, but some articles | |
22182 may have been canceled. Gnus just discards the total-number, so | |
22183 whether one should take the bother to generate it properly (if that is a | |
22184 problem) is left as an exercise to the reader. | |
22185 | |
22186 @example | |
22187 group-status = [ error / info ] eol | |
22188 error = [ "4" / "5" ] 2<number> " " <Error message> | |
22189 info = "211 " 3* [ <number> " " ] <string> | |
22190 @end example | |
22191 | |
22192 | |
22193 @item (nnchoke-close-group GROUP &optional SERVER) | |
22194 | |
22195 Close @var{group} and free any resources connected to it. This will be | |
22196 a no-op on most backends. | |
22197 | |
22198 There should be no data returned. | |
22199 | |
22200 | |
22201 @item (nnchoke-request-list &optional SERVER) | |
22202 | |
22203 Return a list of all groups available on @var{server}. And that means | |
22204 @emph{all}. | |
22205 | |
22206 Here's an example from a server that only carries two groups: | |
22207 | |
22208 @example | |
22209 ifi.test 0000002200 0000002000 y | |
22210 ifi.discussion 3324 3300 n | |
22211 @end example | |
22212 | |
22213 On each line we have a group name, then the highest article number in | |
22214 that group, the lowest article number, and finally a flag. | |
22215 | |
22216 @example | |
22217 active-file = *active-line | |
22218 active-line = name " " <number> " " <number> " " flags eol | |
22219 name = <string> | |
22220 flags = "n" / "y" / "m" / "x" / "j" / "=" name | |
22221 @end example | |
22222 | |
22223 The flag says whether the group is read-only (@samp{n}), is moderated | |
22224 (@samp{m}), is dead (@samp{x}), is aliased to some other group | |
22225 (@samp{=other-group}) or none of the above (@samp{y}). | |
22226 | |
22227 | |
22228 @item (nnchoke-request-post &optional SERVER) | |
22229 | |
22230 This function should post the current buffer. It might return whether | |
22231 the posting was successful or not, but that's not required. If, for | |
22232 instance, the posting is done asynchronously, it has generally not been | |
22233 completed by the time this function concludes. In that case, this | |
22234 function should set up some kind of sentinel to beep the user loud and | |
22235 clear if the posting could not be completed. | |
22236 | |
22237 There should be no result data from this function. | |
22238 | |
22239 @end table | |
22240 | |
22241 | |
22242 @node Optional Backend Functions | |
22243 @subsubsection Optional Backend Functions | |
22244 | |
22245 @table @code | |
22246 | |
22247 @item (nnchoke-retrieve-groups GROUPS &optional SERVER) | |
22248 | |
22249 @var{groups} is a list of groups, and this function should request data | |
22250 on all those groups. How it does it is of no concern to Gnus, but it | |
22251 should attempt to do this in a speedy fashion. | |
22252 | |
22253 The return value of this function can be either @code{active} or | |
22254 @code{group}, which says what the format of the result data is. The | |
22255 former is in the same format as the data from | |
22256 @code{nnchoke-request-list}, while the latter is a buffer full of lines | |
22257 in the same format as @code{nnchoke-request-group} gives. | |
22258 | |
22259 @example | |
22260 group-buffer = *active-line / *group-status | |
22261 @end example | |
22262 | |
22263 | |
22264 @item (nnchoke-request-update-info GROUP INFO &optional SERVER) | |
22265 | |
22266 A Gnus group info (@pxref{Group Info}) is handed to the backend for | |
22267 alterations. This comes in handy if the backend really carries all the | |
22268 information (as is the case with virtual and imap groups). This | |
22269 function should destructively alter the info to suit its needs, and | |
22270 should return the (altered) group info. | |
22271 | |
22272 There should be no result data from this function. | |
22273 | |
22274 | |
22275 @item (nnchoke-request-type GROUP &optional ARTICLE) | |
22276 | |
22277 When the user issues commands for ``sending news'' (@kbd{F} in the | |
22278 summary buffer, for instance), Gnus has to know whether the article the | |
22279 user is following up on is news or mail. This function should return | |
22280 @code{news} if @var{article} in @var{group} is news, @code{mail} if it | |
22281 is mail and @code{unknown} if the type can't be decided. (The | |
22282 @var{article} parameter is necessary in @code{nnvirtual} groups which | |
22283 might very well combine mail groups and news groups.) Both @var{group} | |
22284 and @var{article} may be @code{nil}. | |
22285 | |
22286 There should be no result data from this function. | |
22287 | |
22288 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22289 @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
|
22290 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22291 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
|
22292 marks (such as read, ticked, expired etc) internally, and store them in |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22293 @code{~/.newsrc.eld}. Some backends (such as @sc{imap}) however carry |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22294 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
|
22295 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
|
22296 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22297 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
|
22298 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22299 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22300 (RANGE ACTION MARK) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22301 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22302 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22303 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
|
22304 @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
|
22305 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
|
22306 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
|
22307 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
|
22308 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
|
22309 @code{expire}, @code{killed}, @code{dormant}, @code{save}, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22310 @code{download} and @code{unsend}, but your backend should, if possible, |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22311 not limit itself to these. |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22312 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22313 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
|
22314 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
|
22315 @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
|
22316 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
|
22317 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22318 An example action list: |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22319 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22320 @example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22321 (((5 12 30) 'del '(tick)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22322 ((10 . 90) 'add '(read expire)) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22323 ((92 94) 'del '(read))) |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22324 @end example |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22325 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22326 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
|
22327 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
|
22328 |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22329 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
|
22330 |
25829 | 22331 @item (nnchoke-request-update-mark GROUP ARTICLE MARK) |
22332 | |
22333 If the user tries to set a mark that the backend doesn't like, this | |
22334 function may change the mark. Gnus will use whatever this function | |
22335 returns as the mark for @var{article} instead of the original | |
22336 @var{mark}. If the backend doesn't care, it must return the original | |
22337 @var{mark}, and not @code{nil} or any other type of garbage. | |
22338 | |
22339 The only use for this I can see is what @code{nnvirtual} does with | |
22340 it---if a component group is auto-expirable, marking an article as read | |
22341 in the virtual group should result in the article being marked as | |
22342 expirable. | |
22343 | |
22344 There should be no result data from this function. | |
22345 | |
22346 | |
22347 @item (nnchoke-request-scan &optional GROUP SERVER) | |
22348 | |
22349 This function may be called at any time (by Gnus or anything else) to | |
22350 request that the backend check for incoming articles, in one way or | |
22351 another. A mail backend will typically read the spool file or query the | |
22352 POP server when this function is invoked. The @var{group} doesn't have | |
22353 to be heeded---if the backend decides that it is too much work just | |
22354 scanning for a single group, it may do a total scan of all groups. It | |
22355 would be nice, however, to keep things local if that's practical. | |
22356 | |
22357 There should be no result data from this function. | |
22358 | |
22359 | |
22360 @item (nnchoke-request-group-description GROUP &optional SERVER) | |
22361 | |
22362 The result data from this function should be a description of | |
22363 @var{group}. | |
22364 | |
22365 @example | |
22366 description-line = name <TAB> description eol | |
22367 name = <string> | |
22368 description = <text> | |
22369 @end example | |
22370 | |
22371 @item (nnchoke-request-list-newsgroups &optional SERVER) | |
22372 | |
22373 The result data from this function should be the description of all | |
22374 groups available on the server. | |
22375 | |
22376 @example | |
22377 description-buffer = *description-line | |
22378 @end example | |
22379 | |
22380 | |
22381 @item (nnchoke-request-newgroups DATE &optional SERVER) | |
22382 | |
22383 The result data from this function should be all groups that were | |
22384 created after @samp{date}, which is in normal human-readable date | |
22385 format. The data should be in the active buffer format. | |
22386 | |
22387 | |
22388 @item (nnchoke-request-create-group GROUP &optional SERVER) | |
22389 | |
22390 This function should create an empty group with name @var{group}. | |
22391 | |
22392 There should be no return data. | |
22393 | |
22394 | |
22395 @item (nnchoke-request-expire-articles ARTICLES &optional GROUP SERVER FORCE) | |
22396 | |
22397 This function should run the expiry process on all articles in the | |
22398 @var{articles} range (which is currently a simple list of article | |
22399 numbers.) It is left up to the backend to decide how old articles | |
22400 should be before they are removed by this function. If @var{force} is | |
22401 non-@code{nil}, all @var{articles} should be deleted, no matter how new | |
22402 they are. | |
22403 | |
22404 This function should return a list of articles that it did not/was not | |
22405 able to delete. | |
22406 | |
22407 There should be no result data returned. | |
22408 | |
22409 | |
22410 @item (nnchoke-request-move-article ARTICLE GROUP SERVER ACCEPT-FORM | |
22411 &optional LAST) | |
22412 | |
22413 This function should move @var{article} (which is a number) from | |
22414 @var{group} by calling @var{accept-form}. | |
22415 | |
22416 This function should ready the article in question for moving by | |
22417 removing any header lines it has added to the article, and generally | |
22418 should ``tidy up'' the article. Then it should @code{eval} | |
22419 @var{accept-form} in the buffer where the ``tidy'' article is. This | |
22420 will do the actual copying. If this @code{eval} returns a | |
22421 non-@code{nil} value, the article should be removed. | |
22422 | |
22423 If @var{last} is @code{nil}, that means that there is a high likelihood | |
22424 that there will be more requests issued shortly, so that allows some | |
22425 optimizations. | |
22426 | |
22427 The function should return a cons where the @code{car} is the group name and | |
22428 the @code{cdr} is the article number that the article was entered as. | |
22429 | |
22430 There should be no data returned. | |
22431 | |
22432 | |
22433 @item (nnchoke-request-accept-article GROUP &optional SERVER LAST) | |
22434 | |
22435 This function takes the current buffer and inserts it into @var{group}. | |
22436 If @var{last} in @code{nil}, that means that there will be more calls to | |
22437 this function in short order. | |
22438 | |
22439 The function should return a cons where the @code{car} is the group name and | |
22440 the @code{cdr} is the article number that the article was entered as. | |
22441 | |
22442 There should be no data returned. | |
22443 | |
22444 | |
22445 @item (nnchoke-request-replace-article ARTICLE GROUP BUFFER) | |
22446 | |
22447 This function should remove @var{article} (which is a number) from | |
22448 @var{group} and insert @var{buffer} there instead. | |
22449 | |
22450 There should be no data returned. | |
22451 | |
22452 | |
22453 @item (nnchoke-request-delete-group GROUP FORCE &optional SERVER) | |
22454 | |
22455 This function should delete @var{group}. If @var{force}, it should | |
22456 really delete all the articles in the group, and then delete the group | |
22457 itself. (If there is such a thing as ``the group itself''.) | |
22458 | |
22459 There should be no data returned. | |
22460 | |
22461 | |
22462 @item (nnchoke-request-rename-group GROUP NEW-NAME &optional SERVER) | |
22463 | |
22464 This function should rename @var{group} into @var{new-name}. All | |
22465 articles in @var{group} should move to @var{new-name}. | |
22466 | |
22467 There should be no data returned. | |
22468 | |
22469 @end table | |
22470 | |
22471 | |
22472 @node Error Messaging | |
22473 @subsubsection Error Messaging | |
22474 | |
22475 @findex nnheader-report | |
22476 @findex nnheader-get-report | |
22477 The backends should use the function @code{nnheader-report} to report | |
22478 error conditions---they should not raise errors when they aren't able to | |
22479 perform a request. The first argument to this function is the backend | |
22480 symbol, and the rest are interpreted as arguments to @code{format} if | |
22481 there are multiple of them, or just a string if there is one of them. | |
22482 This function must always returns @code{nil}. | |
22483 | |
22484 @lisp | |
22485 (nnheader-report 'nnchoke "You did something totally bogus") | |
22486 | |
22487 (nnheader-report 'nnchoke "Could not request group %s" group) | |
22488 @end lisp | |
22489 | |
22490 Gnus, in turn, will call @code{nnheader-get-report} when it gets a | |
22491 @code{nil} back from a server, and this function returns the most | |
22492 recently reported message for the backend in question. This function | |
22493 takes one argument---the server symbol. | |
22494 | |
22495 Internally, these functions access @var{backend}@code{-status-string}, | |
22496 so the @code{nnchoke} backend will have its error message stored in | |
22497 @code{nnchoke-status-string}. | |
22498 | |
22499 | |
22500 @node Writing New Backends | |
22501 @subsubsection Writing New Backends | |
22502 | |
22503 Many backends are quite similar. @code{nnml} is just like | |
22504 @code{nnspool}, but it allows you to edit the articles on the server. | |
22505 @code{nnmh} is just like @code{nnml}, but it doesn't use an active file, | |
22506 and it doesn't maintain overview databases. @code{nndir} is just like | |
22507 @code{nnml}, but it has no concept of ``groups'', and it doesn't allow | |
22508 editing articles. | |
22509 | |
22510 It would make sense if it were possible to ``inherit'' functions from | |
22511 backends when writing new backends. And, indeed, you can do that if you | |
22512 want to. (You don't have to if you don't want to, of course.) | |
22513 | |
22514 All the backends declare their public variables and functions by using a | |
22515 package called @code{nnoo}. | |
22516 | |
22517 To inherit functions from other backends (and allow other backends to | |
22518 inherit functions from the current backend), you should use the | |
22519 following macros: | |
22520 | |
22521 @table @code | |
22522 | |
22523 @item nnoo-declare | |
22524 This macro declares the first parameter to be a child of the subsequent | |
22525 parameters. For instance: | |
22526 | |
22527 @lisp | |
22528 (nnoo-declare nndir | |
22529 nnml nnmh) | |
22530 @end lisp | |
22531 | |
22532 @code{nndir} has declared here that it intends to inherit functions from | |
22533 both @code{nnml} and @code{nnmh}. | |
22534 | |
22535 @item defvoo | |
22536 This macro is equivalent to @code{defvar}, but registers the variable as | |
22537 a public server variable. Most state-oriented variables should be | |
22538 declared with @code{defvoo} instead of @code{defvar}. | |
22539 | |
22540 In addition to the normal @code{defvar} parameters, it takes a list of | |
22541 variables in the parent backends to map the variable to when executing | |
22542 a function in those backends. | |
22543 | |
22544 @lisp | |
22545 (defvoo nndir-directory nil | |
22546 "Where nndir will look for groups." | |
22547 nnml-current-directory nnmh-current-directory) | |
22548 @end lisp | |
22549 | |
22550 This means that @code{nnml-current-directory} will be set to | |
22551 @code{nndir-directory} when an @code{nnml} function is called on behalf | |
22552 of @code{nndir}. (The same with @code{nnmh}.) | |
22553 | |
22554 @item nnoo-define-basics | |
22555 This macro defines some common functions that almost all backends should | |
22556 have. | |
22557 | |
22558 @example | |
22559 (nnoo-define-basics nndir) | |
22560 @end example | |
22561 | |
22562 @item deffoo | |
22563 This macro is just like @code{defun} and takes the same parameters. In | |
22564 addition to doing the normal @code{defun} things, it registers the | |
22565 function as being public so that other backends can inherit it. | |
22566 | |
22567 @item nnoo-map-functions | |
22568 This macro allows mapping of functions from the current backend to | |
22569 functions from the parent backends. | |
22570 | |
22571 @example | |
22572 (nnoo-map-functions nndir | |
22573 (nnml-retrieve-headers 0 nndir-current-group 0 0) | |
22574 (nnmh-request-article 0 nndir-current-group 0 0)) | |
22575 @end example | |
22576 | |
22577 This means that when @code{nndir-retrieve-headers} is called, the first, | |
22578 third, and fourth parameters will be passed on to | |
22579 @code{nnml-retrieve-headers}, while the second parameter is set to the | |
22580 value of @code{nndir-current-group}. | |
22581 | |
22582 @item nnoo-import | |
22583 This macro allows importing functions from backends. It should be the | |
22584 last thing in the source file, since it will only define functions that | |
22585 haven't already been defined. | |
22586 | |
22587 @example | |
22588 (nnoo-import nndir | |
22589 (nnmh | |
22590 nnmh-request-list | |
22591 nnmh-request-newgroups) | |
22592 (nnml)) | |
22593 @end example | |
22594 | |
22595 This means that calls to @code{nndir-request-list} should just be passed | |
22596 on to @code{nnmh-request-list}, while all public functions from | |
22597 @code{nnml} that haven't been defined in @code{nndir} yet should be | |
22598 defined now. | |
22599 | |
22600 @end table | |
22601 | |
22602 Below is a slightly shortened version of the @code{nndir} backend. | |
22603 | |
22604 @lisp | |
22605 ;;; nndir.el --- single directory newsgroup access for Gnus | |
22606 ;; Copyright (C) 1995,96 Free Software Foundation, Inc. | |
22607 | |
22608 ;;; Code: | |
22609 | |
22610 (require 'nnheader) | |
22611 (require 'nnmh) | |
22612 (require 'nnml) | |
22613 (require 'nnoo) | |
22614 (eval-when-compile (require 'cl)) | |
22615 | |
22616 (nnoo-declare nndir | |
22617 nnml nnmh) | |
22618 | |
22619 (defvoo nndir-directory nil | |
22620 "Where nndir will look for groups." | |
22621 nnml-current-directory nnmh-current-directory) | |
22622 | |
22623 (defvoo nndir-nov-is-evil nil | |
22624 "*Non-nil means that nndir will never retrieve NOV headers." | |
22625 nnml-nov-is-evil) | |
22626 | |
22627 (defvoo nndir-current-group "" nil nnml-current-group nnmh-current-group) | |
22628 (defvoo nndir-top-directory nil nil nnml-directory nnmh-directory) | |
22629 (defvoo nndir-get-new-mail nil nil nnml-get-new-mail nnmh-get-new-mail) | |
22630 | |
22631 (defvoo nndir-status-string "" nil nnmh-status-string) | |
22632 (defconst nndir-version "nndir 1.0") | |
22633 | |
22634 ;;; Interface functions. | |
22635 | |
22636 (nnoo-define-basics nndir) | |
22637 | |
22638 (deffoo nndir-open-server (server &optional defs) | |
22639 (setq nndir-directory | |
22640 (or (cadr (assq 'nndir-directory defs)) | |
22641 server)) | |
22642 (unless (assq 'nndir-directory defs) | |
22643 (push `(nndir-directory ,server) defs)) | |
22644 (push `(nndir-current-group | |
22645 ,(file-name-nondirectory (directory-file-name nndir-directory))) | |
22646 defs) | |
22647 (push `(nndir-top-directory | |
22648 ,(file-name-directory (directory-file-name nndir-directory))) | |
22649 defs) | |
22650 (nnoo-change-server 'nndir server defs)) | |
22651 | |
22652 (nnoo-map-functions nndir | |
22653 (nnml-retrieve-headers 0 nndir-current-group 0 0) | |
22654 (nnmh-request-article 0 nndir-current-group 0 0) | |
22655 (nnmh-request-group nndir-current-group 0 0) | |
22656 (nnmh-close-group nndir-current-group 0)) | |
22657 | |
22658 (nnoo-import nndir | |
22659 (nnmh | |
22660 nnmh-status-message | |
22661 nnmh-request-list | |
22662 nnmh-request-newgroups)) | |
22663 | |
22664 (provide 'nndir) | |
22665 @end lisp | |
22666 | |
22667 | |
22668 @node Hooking New Backends Into Gnus | |
22669 @subsubsection Hooking New Backends Into Gnus | |
22670 | |
22671 @vindex gnus-valid-select-methods | |
22672 Having Gnus start using your new backend is rather easy---you just | |
22673 declare it with the @code{gnus-declare-backend} functions. This will | |
22674 enter the backend into the @code{gnus-valid-select-methods} variable. | |
22675 | |
22676 @code{gnus-declare-backend} takes two parameters---the backend name and | |
22677 an arbitrary number of @dfn{abilities}. | |
22678 | |
22679 Here's an example: | |
22680 | |
22681 @lisp | |
22682 (gnus-declare-backend "nnchoke" 'mail 'respool 'address) | |
22683 @end lisp | |
22684 | |
22685 The abilities can be: | |
22686 | |
22687 @table @code | |
22688 @item mail | |
22689 This is a mailish backend---followups should (probably) go via mail. | |
22690 @item post | |
22691 This is a newsish backend---followups should (probably) go via news. | |
22692 @item post-mail | |
22693 This backend supports both mail and news. | |
22694 @item none | |
22695 This is neither a post nor mail backend---it's something completely | |
22696 different. | |
22697 @item respool | |
22698 It supports respooling---or rather, it is able to modify its source | |
22699 articles and groups. | |
22700 @item address | |
22701 The name of the server should be in the virtual server name. This is | |
22702 true for almost all backends. | |
22703 @item prompt-address | |
22704 The user should be prompted for an address when doing commands like | |
22705 @kbd{B} in the group buffer. This is true for backends like | |
22706 @code{nntp}, but not @code{nnmbox}, for instance. | |
22707 @end table | |
22708 | |
22709 | |
22710 @node Mail-like Backends | |
22711 @subsubsection Mail-like Backends | |
22712 | |
22713 One of the things that separate the mail backends from the rest of the | |
22714 backends is the heavy dependence by the mail backends on common | |
22715 functions in @file{nnmail.el}. For instance, here's the definition of | |
22716 @code{nnml-request-scan}: | |
22717 | |
22718 @lisp | |
22719 (deffoo nnml-request-scan (&optional group server) | |
22720 (setq nnml-article-file-alist nil) | |
22721 (nnmail-get-new-mail 'nnml 'nnml-save-nov nnml-directory group)) | |
22722 @end lisp | |
22723 | |
22724 It simply calls @code{nnmail-get-new-mail} with a few parameters, | |
22725 and @code{nnmail} takes care of all the moving and splitting of the | |
22726 mail. | |
22727 | |
22728 This function takes four parameters. | |
22729 | |
22730 @table @var | |
22731 @item method | |
22732 This should be a symbol to designate which backend is responsible for | |
22733 the call. | |
22734 | |
22735 @item exit-function | |
22736 This function should be called after the splitting has been performed. | |
22737 | |
22738 @item temp-directory | |
22739 Where the temporary files should be stored. | |
22740 | |
22741 @item group | |
22742 This optional argument should be a group name if the splitting is to be | |
22743 performed for one group only. | |
22744 @end table | |
22745 | |
22746 @code{nnmail-get-new-mail} will call @var{backend}@code{-save-mail} to | |
22747 save each article. @var{backend}@code{-active-number} will be called to | |
22748 find the article number assigned to this article. | |
22749 | |
22750 The function also uses the following variables: | |
22751 @var{backend}@code{-get-new-mail} (to see whether to get new mail for | |
22752 this backend); and @var{backend}@code{-group-alist} and | |
22753 @var{backend}@code{-active-file} to generate the new active file. | |
22754 @var{backend}@code{-group-alist} should be a group-active alist, like | |
22755 this: | |
22756 | |
22757 @example | |
22758 (("a-group" (1 . 10)) | |
22759 ("some-group" (34 . 39))) | |
22760 @end example | |
22761 | |
22762 | |
22763 @node Score File Syntax | |
22764 @subsection Score File Syntax | |
22765 | |
22766 Score files are meant to be easily parseable, but yet extremely | |
22767 mallable. It was decided that something that had the same read syntax | |
22768 as an Emacs Lisp list would fit that spec. | |
22769 | |
22770 Here's a typical score file: | |
22771 | |
22772 @lisp | |
22773 (("summary" | |
22774 ("win95" -10000 nil s) | |
22775 ("Gnus")) | |
22776 ("from" | |
22777 ("Lars" -1000)) | |
22778 (mark -100)) | |
22779 @end lisp | |
22780 | |
22781 BNF definition of a score file: | |
22782 | |
22783 @example | |
22784 score-file = "" / "(" *element ")" | |
22785 element = rule / atom | |
22786 rule = string-rule / number-rule / date-rule | |
22787 string-rule = "(" quote string-header quote space *string-match ")" | |
22788 number-rule = "(" quote number-header quote space *number-match ")" | |
22789 date-rule = "(" quote date-header quote space *date-match ")" | |
22790 quote = <ascii 34> | |
22791 string-header = "subject" / "from" / "references" / "message-id" / | |
22792 "xref" / "body" / "head" / "all" / "followup" | |
22793 number-header = "lines" / "chars" | |
22794 date-header = "date" | |
22795 string-match = "(" quote <string> quote [ "" / [ space score [ "" / | |
22796 space date [ "" / [ space string-match-t ] ] ] ] ] ")" | |
22797 score = "nil" / <integer> | |
22798 date = "nil" / <natural number> | |
22799 string-match-t = "nil" / "s" / "substring" / "S" / "Substring" / | |
22800 "r" / "regex" / "R" / "Regex" / | |
22801 "e" / "exact" / "E" / "Exact" / | |
22802 "f" / "fuzzy" / "F" / "Fuzzy" | |
22803 number-match = "(" <integer> [ "" / [ space score [ "" / | |
22804 space date [ "" / [ space number-match-t ] ] ] ] ] ")" | |
22805 number-match-t = "nil" / "=" / "<" / ">" / ">=" / "<=" | |
22806 date-match = "(" quote <string> quote [ "" / [ space score [ "" / | |
22807 space date [ "" / [ space date-match-t ] ] ] ] ")" | |
22808 date-match-t = "nil" / "at" / "before" / "after" | |
22809 atom = "(" [ required-atom / optional-atom ] ")" | |
22810 required-atom = mark / expunge / mark-and-expunge / files / | |
22811 exclude-files / read-only / touched | |
22812 optional-atom = adapt / local / eval | |
22813 mark = "mark" space nil-or-number | |
22814 nil-or-number = "nil" / <integer> | |
22815 expunge = "expunge" space nil-or-number | |
22816 mark-and-expunge = "mark-and-expunge" space nil-or-number | |
22817 files = "files" *[ space <string> ] | |
22818 exclude-files = "exclude-files" *[ space <string> ] | |
22819 read-only = "read-only" [ space "nil" / space "t" ] | |
22820 adapt = "adapt" [ space "ignore" / space "t" / space adapt-rule ] | |
22821 adapt-rule = "(" *[ <string> *[ "(" <string> <integer> ")" ] ")" | |
22822 local = "local" *[ space "(" <string> space <form> ")" ] | |
22823 eval = "eval" space <form> | |
22824 space = *[ " " / <TAB> / <NEWLINE> ] | |
22825 @end example | |
22826 | |
22827 Any unrecognized elements in a score file should be ignored, but not | |
22828 discarded. | |
22829 | |
22830 As you can see, white space is needed, but the type and amount of white | |
22831 space is irrelevant. This means that formatting of the score file is | |
22832 left up to the programmer---if it's simpler to just spew it all out on | |
22833 one looong line, then that's ok. | |
22834 | |
22835 The meaning of the various atoms are explained elsewhere in this | |
22836 manual (@pxref{Score File Format}). | |
22837 | |
22838 | |
22839 @node Headers | |
22840 @subsection Headers | |
22841 | |
22842 Internally Gnus uses a format for storing article headers that | |
22843 corresponds to the @sc{nov} format in a mysterious fashion. One could | |
22844 almost suspect that the author looked at the @sc{nov} specification and | |
22845 just shamelessly @emph{stole} the entire thing, and one would be right. | |
22846 | |
22847 @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
|
22848 RFC 1036 to talk about lines in the head of an article (e.g., |
25829 | 22849 @code{From}). It is used by many people as a synonym for |
22850 ``head''---``the header and the body''. (That should be avoided, in my | |
22851 opinion.) And Gnus uses a format internally that it calls ``header'', | |
22852 which is what I'm talking about here. This is a 9-element vector, | |
22853 basically, with each header (ouch) having one slot. | |
22854 | |
22855 These slots are, in order: @code{number}, @code{subject}, @code{from}, | |
22856 @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
|
22857 @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
|
22858 setting these slots---they all have predictable names beginning with |
25829 | 22859 @code{mail-header-} and @code{mail-header-set-}, respectively. |
22860 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22861 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
|
22862 contains an alist of header/value pairs (@pxref{To From Newsgroups}). |
25829 | 22863 |
22864 | |
22865 @node Ranges | |
22866 @subsection Ranges | |
22867 | |
22868 @sc{gnus} introduced a concept that I found so useful that I've started | |
22869 using it a lot and have elaborated on it greatly. | |
22870 | |
22871 The question is simple: If you have a large amount of objects that are | |
22872 identified by numbers (say, articles, to take a @emph{wild} example) | |
22873 that you want to qualify as being ``included'', a normal sequence isn't | |
22874 very useful. (A 200,000 length sequence is a bit long-winded.) | |
22875 | |
22876 The solution is as simple as the question: You just collapse the | |
22877 sequence. | |
22878 | |
22879 @example | |
22880 (1 2 3 4 5 6 10 11 12) | |
22881 @end example | |
22882 | |
22883 is transformed into | |
22884 | |
22885 @example | |
22886 ((1 . 6) (10 . 12)) | |
22887 @end example | |
22888 | |
22889 To avoid having those nasty @samp{(13 . 13)} elements to denote a | |
22890 lonesome object, a @samp{13} is a valid element: | |
22891 | |
22892 @example | |
22893 ((1 . 6) 7 (10 . 12)) | |
22894 @end example | |
22895 | |
22896 This means that comparing two ranges to find out whether they are equal | |
22897 is slightly tricky: | |
22898 | |
22899 @example | |
22900 ((1 . 5) 7 8 (10 . 12)) | |
22901 @end example | |
22902 | |
22903 and | |
22904 | |
22905 @example | |
22906 ((1 . 5) (7 . 8) (10 . 12)) | |
22907 @end example | |
22908 | |
22909 are equal. In fact, any non-descending list is a range: | |
22910 | |
22911 @example | |
22912 (1 2 3 4 5) | |
22913 @end example | |
22914 | |
22915 is a perfectly valid range, although a pretty long-winded one. This is | |
22916 also valid: | |
22917 | |
22918 @example | |
22919 (1 . 5) | |
22920 @end example | |
22921 | |
22922 and is equal to the previous range. | |
22923 | |
22924 Here's a BNF definition of ranges. Of course, one must remember the | |
22925 semantic requirement that the numbers are non-descending. (Any number | |
22926 of repetition of the same number is allowed, but apt to disappear in | |
22927 range handling.) | |
22928 | |
22929 @example | |
22930 range = simple-range / normal-range | |
22931 simple-range = "(" number " . " number ")" | |
22932 normal-range = "(" start-contents ")" | |
22933 contents = "" / simple-range *[ " " contents ] / | |
22934 number *[ " " contents ] | |
22935 @end example | |
22936 | |
22937 Gnus currently uses ranges to keep track of read articles and article | |
22938 marks. I plan on implementing a number of range operators in C if The | |
22939 Powers That Be are willing to let me. (I haven't asked yet, because I | |
22940 need to do some more thinking on what operators I need to make life | |
22941 totally range-based without ever having to convert back to normal | |
22942 sequences.) | |
22943 | |
22944 | |
22945 @node Group Info | |
22946 @subsection Group Info | |
22947 | |
22948 Gnus stores all permanent info on groups in a @dfn{group info} list. | |
22949 This list is from three to six elements (or more) long and exhaustively | |
22950 describes the group. | |
22951 | |
22952 Here are two example group infos; one is a very simple group while the | |
22953 second is a more complex one: | |
22954 | |
22955 @example | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
22956 ("no.group" 5 ((1 . 54324))) |
25829 | 22957 |
22958 ("nnml:my.mail" 3 ((1 . 5) 9 (20 . 55)) | |
22959 ((tick (15 . 19)) (replied 3 6 (19 . 3))) | |
22960 (nnml "") | |
22961 ((auto-expire . t) (to-address . "ding@@gnus.org"))) | |
22962 @end example | |
22963 | |
22964 The first element is the @dfn{group name}---as Gnus knows the group, | |
22965 anyway. The second element is the @dfn{subscription level}, which | |
22966 normally is a small integer. (It can also be the @dfn{rank}, which is a | |
22967 cons cell where the @code{car} is the level and the @code{cdr} is the | |
22968 score.) The third element is a list of ranges of read articles. The | |
22969 fourth element is a list of lists of article marks of various kinds. | |
22970 The fifth element is the select method (or virtual server, if you like). | |
22971 The sixth element is a list of @dfn{group parameters}, which is what | |
22972 this section is about. | |
22973 | |
22974 Any of the last three elements may be missing if they are not required. | |
22975 In fact, the vast majority of groups will normally only have the first | |
22976 three elements, which saves quite a lot of cons cells. | |
22977 | |
22978 Here's a BNF definition of the group info format: | |
22979 | |
22980 @example | |
22981 info = "(" group space ralevel space read | |
22982 [ "" / [ space marks-list [ "" / [ space method [ "" / | |
22983 space parameters ] ] ] ] ] ")" | |
22984 group = quote <string> quote | |
22985 ralevel = rank / level | |
22986 level = <integer in the range of 1 to inf> | |
22987 rank = "(" level "." score ")" | |
22988 score = <integer in the range of 1 to inf> | |
22989 read = range | |
22990 marks-lists = nil / "(" *marks ")" | |
22991 marks = "(" <string> range ")" | |
22992 method = "(" <string> *elisp-forms ")" | |
22993 parameters = "(" *elisp-forms ")" | |
22994 @end example | |
22995 | |
22996 Actually that @samp{marks} rule is a fib. A @samp{marks} is a | |
22997 @samp{<string>} consed on to a @samp{range}, but that's a bitch to say | |
22998 in pseudo-BNF. | |
22999 | |
23000 If you have a Gnus info and want to access the elements, Gnus offers a | |
23001 series of macros for getting/setting these elements. | |
23002 | |
23003 @table @code | |
23004 @item gnus-info-group | |
23005 @itemx gnus-info-set-group | |
23006 @findex gnus-info-group | |
23007 @findex gnus-info-set-group | |
23008 Get/set the group name. | |
23009 | |
23010 @item gnus-info-rank | |
23011 @itemx gnus-info-set-rank | |
23012 @findex gnus-info-rank | |
23013 @findex gnus-info-set-rank | |
23014 Get/set the group rank (@pxref{Group Score}). | |
23015 | |
23016 @item gnus-info-level | |
23017 @itemx gnus-info-set-level | |
23018 @findex gnus-info-level | |
23019 @findex gnus-info-set-level | |
23020 Get/set the group level. | |
23021 | |
23022 @item gnus-info-score | |
23023 @itemx gnus-info-set-score | |
23024 @findex gnus-info-score | |
23025 @findex gnus-info-set-score | |
23026 Get/set the group score (@pxref{Group Score}). | |
23027 | |
23028 @item gnus-info-read | |
23029 @itemx gnus-info-set-read | |
23030 @findex gnus-info-read | |
23031 @findex gnus-info-set-read | |
23032 Get/set the ranges of read articles. | |
23033 | |
23034 @item gnus-info-marks | |
23035 @itemx gnus-info-set-marks | |
23036 @findex gnus-info-marks | |
23037 @findex gnus-info-set-marks | |
23038 Get/set the lists of ranges of marked articles. | |
23039 | |
23040 @item gnus-info-method | |
23041 @itemx gnus-info-set-method | |
23042 @findex gnus-info-method | |
23043 @findex gnus-info-set-method | |
23044 Get/set the group select method. | |
23045 | |
23046 @item gnus-info-params | |
23047 @itemx gnus-info-set-params | |
23048 @findex gnus-info-params | |
23049 @findex gnus-info-set-params | |
23050 Get/set the group parameters. | |
23051 @end table | |
23052 | |
23053 All the getter functions take one parameter---the info list. The setter | |
23054 functions take two parameters---the info list and the new value. | |
23055 | |
23056 The last three elements in the group info aren't mandatory, so it may be | |
23057 necessary to extend the group info before setting the element. If this | |
23058 is necessary, you can just pass on a non-@code{nil} third parameter to | |
23059 the three final setter functions to have this happen automatically. | |
23060 | |
23061 | |
23062 @node Extended Interactive | |
23063 @subsection Extended Interactive | |
23064 @cindex interactive | |
23065 @findex gnus-interactive | |
23066 | |
23067 Gnus extends the standard Emacs @code{interactive} specification | |
23068 slightly to allow easy use of the symbolic prefix (@pxref{Symbolic | |
23069 Prefixes}). Here's an example of how this is used: | |
23070 | |
23071 @lisp | |
23072 (defun gnus-summary-increase-score (&optional score symp) | |
23073 (interactive (gnus-interactive "P\ny")) | |
23074 ... | |
23075 ) | |
23076 @end lisp | |
23077 | |
23078 The best thing to do would have been to implement | |
23079 @code{gnus-interactive} as a macro which would have returned an | |
23080 @code{interactive} form, but this isn't possible since Emacs checks | |
23081 whether a function is interactive or not by simply doing an @code{assq} | |
23082 on the lambda form. So, instead we have @code{gnus-interactive} | |
23083 function that takes a string and returns values that are usable to | |
23084 @code{interactive}. | |
23085 | |
23086 This function accepts (almost) all normal @code{interactive} specs, but | |
23087 adds a few more. | |
23088 | |
23089 @table @samp | |
23090 @item y | |
23091 @vindex gnus-current-prefix-symbol | |
23092 The current symbolic prefix---the @code{gnus-current-prefix-symbol} | |
23093 variable. | |
23094 | |
23095 @item Y | |
23096 @vindex gnus-current-prefix-symbols | |
23097 A list of the current symbolic prefixes---the | |
23098 @code{gnus-current-prefix-symbol} variable. | |
23099 | |
23100 @item A | |
23101 The current article number---the @code{gnus-summary-article-number} | |
23102 function. | |
23103 | |
23104 @item H | |
23105 The current article header---the @code{gnus-summary-article-header} | |
23106 function. | |
23107 | |
23108 @item g | |
23109 The current group name---the @code{gnus-group-group-name} | |
23110 function. | |
23111 | |
23112 @end table | |
23113 | |
23114 | |
23115 @node Emacs/XEmacs Code | |
23116 @subsection Emacs/XEmacs Code | |
23117 @cindex XEmacs | |
23118 @cindex Emacsen | |
23119 | |
23120 While Gnus runs under Emacs, XEmacs and Mule, I decided that one of the | |
23121 platforms must be the primary one. I chose Emacs. Not because I don't | |
23122 like XEmacs or Mule, but because it comes first alphabetically. | |
23123 | |
23124 This means that Gnus will byte-compile under Emacs with nary a warning, | |
23125 while XEmacs will pump out gigabytes of warnings while byte-compiling. | |
23126 As I use byte-compilation warnings to help me root out trivial errors in | |
23127 Gnus, that's very useful. | |
23128 | |
23129 I've also consistently used Emacs function interfaces, but have used | |
23130 Gnusey aliases for the functions. To take an example: Emacs defines a | |
23131 @code{run-at-time} function while XEmacs defines a @code{start-itimer} | |
23132 function. I then define a function called @code{gnus-run-at-time} that | |
23133 takes the same parameters as the Emacs @code{run-at-time}. When running | |
23134 Gnus under Emacs, the former function is just an alias for the latter. | |
23135 However, when running under XEmacs, the former is an alias for the | |
23136 following function: | |
23137 | |
23138 @lisp | |
23139 (defun gnus-xmas-run-at-time (time repeat function &rest args) | |
23140 (start-itimer | |
23141 "gnus-run-at-time" | |
23142 `(lambda () | |
23143 (,function ,@@args)) | |
23144 time repeat)) | |
23145 @end lisp | |
23146 | |
23147 This sort of thing has been done for bunches of functions. Gnus does | |
23148 not redefine any native Emacs functions while running under XEmacs---it | |
23149 does this @code{defalias} thing with Gnus equivalents instead. Cleaner | |
23150 all over. | |
23151 | |
23152 In the cases where the XEmacs function interface was obviously cleaner, | |
23153 I used it instead. For example @code{gnus-region-active-p} is an alias | |
23154 for @code{region-active-p} in XEmacs, whereas in Emacs it is a function. | |
23155 | |
23156 Of course, I could have chosen XEmacs as my native platform and done | |
23157 mapping functions the other way around. But I didn't. The performance | |
23158 hit these indirections impose on Gnus under XEmacs should be slight. | |
23159 | |
23160 | |
23161 @node Various File Formats | |
23162 @subsection Various File Formats | |
23163 | |
23164 @menu | |
23165 * Active File Format:: Information on articles and groups available. | |
23166 * Newsgroups File Format:: Group descriptions. | |
23167 @end menu | |
23168 | |
23169 | |
23170 @node Active File Format | |
23171 @subsubsection Active File Format | |
23172 | |
23173 The active file lists all groups available on the server in | |
23174 question. It also lists the highest and lowest current article numbers | |
23175 in each group. | |
23176 | |
23177 Here's an excerpt from a typical active file: | |
23178 | |
23179 @example | |
23180 soc.motss 296030 293865 y | |
23181 alt.binaries.pictures.fractals 3922 3913 n | |
23182 comp.sources.unix 1605 1593 m | |
23183 comp.binaries.ibm.pc 5097 5089 y | |
23184 no.general 1000 900 y | |
23185 @end example | |
23186 | |
23187 Here's a pseudo-BNF definition of this file: | |
23188 | |
23189 @example | |
23190 active = *group-line | |
23191 group-line = group space high-number space low-number space flag <NEWLINE> | |
23192 group = <non-white-space string> | |
23193 space = " " | |
23194 high-number = <non-negative integer> | |
23195 low-number = <positive integer> | |
23196 flag = "y" / "n" / "m" / "j" / "x" / "=" group | |
23197 @end example | |
23198 | |
23199 For a full description of this file, see the manual pages for | |
23200 @samp{innd}, in particular @samp{active(5)}. | |
23201 | |
23202 | |
23203 @node Newsgroups File Format | |
23204 @subsubsection Newsgroups File Format | |
23205 | |
23206 The newsgroups file lists groups along with their descriptions. Not all | |
23207 groups on the server have to be listed, and not all groups in the file | |
23208 have to exist on the server. The file is meant purely as information to | |
23209 the user. | |
23210 | |
23211 The format is quite simple; a group name, a tab, and the description. | |
23212 Here's the definition: | |
23213 | |
23214 @example | |
23215 newsgroups = *line | |
23216 line = group tab description <NEWLINE> | |
23217 group = <non-white-space string> | |
23218 tab = <TAB> | |
23219 description = <string> | |
23220 @end example | |
23221 | |
23222 | |
23223 @page | |
23224 @node Emacs for Heathens | |
23225 @section Emacs for Heathens | |
23226 | |
23227 Believe it or not, but some people who use Gnus haven't really used | |
23228 Emacs much before they embarked on their journey on the Gnus Love Boat. | |
23229 If you are one of those unfortunates whom ``@kbd{M-C-a}'', ``kill the | |
23230 region'', and ``set @code{gnus-flargblossen} to an alist where the key | |
23231 is a regexp that is used for matching on the group name'' are magical | |
23232 phrases with little or no meaning, then this appendix is for you. If | |
23233 you are already familiar with Emacs, just ignore this and go fondle your | |
23234 cat instead. | |
23235 | |
23236 @menu | |
23237 * Keystrokes:: Entering text and executing commands. | |
23238 * Emacs Lisp:: The built-in Emacs programming language. | |
23239 @end menu | |
23240 | |
23241 | |
23242 @node Keystrokes | |
23243 @subsection Keystrokes | |
23244 | |
23245 @itemize @bullet | |
23246 @item | |
23247 Q: What is an experienced Emacs user? | |
23248 | |
23249 @item | |
23250 A: A person who wishes that the terminal had pedals. | |
23251 @end itemize | |
23252 | |
23253 Yes, when you use Emacs, you are apt to use the control key, the shift | |
23254 key and the meta key a lot. This is very annoying to some people | |
23255 (notably @code{vi}le users), and the rest of us just love the hell out | |
23256 of it. Just give up and submit. Emacs really does stand for | |
23257 ``Escape-Meta-Alt-Control-Shift'', and not ``Editing Macros'', as you | |
23258 may have heard from other disreputable sources (like the Emacs author). | |
23259 | |
23260 The shift keys are normally located near your pinky fingers, and are | |
23261 normally used to get capital letters and stuff. You probably use it all | |
23262 the time. The control key is normally marked ``CTRL'' or something like | |
23263 that. The meta key is, funnily enough, never marked as such on any | |
23264 keyboard. The one I'm currently at has a key that's marked ``Alt'', | |
23265 which is the meta key on this keyboard. It's usually located somewhere | |
23266 to the left hand side of the keyboard, usually on the bottom row. | |
23267 | |
23268 Now, us Emacs people don't say ``press the meta-control-m key'', | |
23269 because that's just too inconvenient. We say ``press the @kbd{M-C-m} | |
23270 key''. @kbd{M-} is the prefix that means ``meta'' and ``C-'' is the | |
23271 prefix that means ``control''. So ``press @kbd{C-k}'' means ``press | |
23272 down the control key, and hold it down while you press @kbd{k}''. | |
23273 ``Press @kbd{M-C-k}'' means ``press down and hold down the meta key and | |
23274 the control key and then press @kbd{k}''. Simple, ay? | |
23275 | |
23276 This is somewhat complicated by the fact that not all keyboards have a | |
23277 meta key. In that case you can use the ``escape'' key. Then @kbd{M-k} | |
23278 means ``press escape, release escape, press @kbd{k}''. That's much more | |
23279 work than if you have a meta key, so if that's the case, I respectfully | |
23280 suggest you get a real keyboard with a meta key. You can't live without | |
23281 it. | |
23282 | |
23283 | |
23284 | |
23285 @node Emacs Lisp | |
23286 @subsection Emacs Lisp | |
23287 | |
23288 Emacs is the King of Editors because it's really a Lisp interpreter. | |
23289 Each and every key you tap runs some Emacs Lisp code snippet, and since | |
23290 Emacs Lisp is an interpreted language, that means that you can configure | |
23291 any key to run any arbitrary code. You just, like, do it. | |
23292 | |
23293 Gnus is written in Emacs Lisp, and is run as a bunch of interpreted | |
23294 functions. (These are byte-compiled for speed, but it's still | |
23295 interpreted.) If you decide that you don't like the way Gnus does | |
23296 certain things, it's trivial to have it do something a different way. | |
23297 (Well, at least if you know how to write Lisp code.) However, that's | |
23298 beyond the scope of this manual, so we are simply going to talk about | |
23299 some common constructs that you normally use in your @file{.emacs} file | |
23300 to customize Gnus. | |
23301 | |
23302 If you want to set the variable @code{gnus-florgbnize} to four (4), you | |
23303 write the following: | |
23304 | |
23305 @lisp | |
23306 (setq gnus-florgbnize 4) | |
23307 @end lisp | |
23308 | |
23309 This function (really ``special form'') @code{setq} is the one that can | |
23310 set a variable to some value. This is really all you need to know. Now | |
23311 you can go and fill your @code{.emacs} file with lots of these to change | |
23312 how Gnus works. | |
23313 | |
23314 If you have put that thing in your @code{.emacs} file, it will be read | |
23315 and @code{eval}ed (which is lisp-ese for ``run'') the next time you | |
23316 start Emacs. If you want to change the variable right away, simply say | |
23317 @kbd{C-x C-e} after the closing parenthesis. That will @code{eval} the | |
23318 previous ``form'', which is a simple @code{setq} statement here. | |
23319 | |
23320 Go ahead---just try it, if you're located at your Emacs. After you | |
23321 @kbd{C-x C-e}, you will see @samp{4} appear in the echo area, which | |
23322 is the return value of the form you @code{eval}ed. | |
23323 | |
23324 Some pitfalls: | |
23325 | |
23326 If the manual says ``set @code{gnus-read-active-file} to @code{some}'', | |
23327 that means: | |
23328 | |
23329 @lisp | |
23330 (setq gnus-read-active-file 'some) | |
23331 @end lisp | |
23332 | |
23333 On the other hand, if the manual says ``set @code{gnus-nntp-server} to | |
23334 @samp{nntp.ifi.uio.no}'', that means: | |
23335 | |
23336 @lisp | |
23337 (setq gnus-nntp-server "nntp.ifi.uio.no") | |
23338 @end lisp | |
23339 | |
23340 So be careful not to mix up strings (the latter) with symbols (the | |
23341 former). The manual is unambiguous, but it can be confusing. | |
23342 | |
23343 @page | |
23344 @include gnus-faq.texi | |
23345 | |
23346 @node Index | |
23347 @chapter Index | |
23348 @printindex cp | |
23349 | |
23350 @node Key Index | |
23351 @chapter Key Index | |
23352 @printindex ky | |
23353 | |
23354 @summarycontents | |
23355 @contents | |
23356 @bye | |
23357 | |
32769
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
23358 @iftex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
23359 @iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
23360 \end{document} |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
23361 @end iflatex |
6c4bf57935ff
Update from version 5.213 from the Gnus repository.
Gerd Moellmann <gerd@gnu.org>
parents:
29713
diff
changeset
|
23362 @end iftex |
25829 | 23363 |
23364 @c End: |