diff options
| author | Kenichi Handa | 2010-09-27 14:42:43 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2010-09-27 14:42:43 +0900 |
| commit | b3253cd4b4bcbe1ab4ad1fdc98b30c33af70332c (patch) | |
| tree | 4d55005558f96dfb44bfcd746098ed0882aff2d0 /doc | |
| parent | 4be9765d4bad14d68cdfee2a2c6afe1001d9516a (diff) | |
| parent | e5fa38990bca723fc3ef1d0ede792e8ff84b84f7 (diff) | |
| download | emacs-b3253cd4b4bcbe1ab4ad1fdc98b30c33af70332c.tar.gz emacs-b3253cd4b4bcbe1ab4ad1fdc98b30c33af70332c.zip | |
merge trunk
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/lispintro/ChangeLog | 6 | ||||
| -rw-r--r-- | doc/lispintro/cons-1.eps | 9 | ||||
| -rw-r--r-- | doc/lispintro/cons-2.eps | 9 | ||||
| -rw-r--r-- | doc/lispintro/cons-2a.eps | 9 | ||||
| -rw-r--r-- | doc/lispintro/cons-3.eps | 9 | ||||
| -rw-r--r-- | doc/lispintro/cons-4.eps | 9 | ||||
| -rw-r--r-- | doc/lispintro/cons-5.eps | 9 | ||||
| -rw-r--r-- | doc/lispintro/lambda-1.eps | 9 | ||||
| -rw-r--r-- | doc/lispintro/lambda-2.eps | 9 | ||||
| -rw-r--r-- | doc/lispintro/lambda-3.eps | 9 | ||||
| -rw-r--r-- | doc/man/ChangeLog | 4 | ||||
| -rw-r--r-- | doc/man/etags.1 | 2 | ||||
| -rw-r--r-- | doc/misc/ChangeLog | 57 | ||||
| -rw-r--r-- | doc/misc/gnus-news.texi | 24 | ||||
| -rw-r--r-- | doc/misc/gnus.texi | 1234 | ||||
| -rw-r--r-- | doc/misc/message.texi | 8 | ||||
| -rw-r--r-- | doc/misc/url.texi | 24 | ||||
| -rw-r--r-- | doc/misc/woman.texi | 4 |
18 files changed, 377 insertions, 1067 deletions
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 1ab06891961..ff227a1f119 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2010-09-21 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * cons-1.eps, cons-2.eps, cons-2a.eps, cons-3.eps, cons-4.eps: | ||
| 4 | * cons-5.eps, lambda-1.eps, lambda-2.eps, lambda-3.eps: | ||
| 5 | Add first line EPSF magic comment. (Bug#7064) | ||
| 6 | |||
| 1 | 2010-06-23 Glenn Morris <rgm@gnu.org> | 7 | 2010-06-23 Glenn Morris <rgm@gnu.org> |
| 2 | 8 | ||
| 3 | * emacs-lisp-intro.texi: Untabify. | 9 | * emacs-lisp-intro.texi: Untabify. |
diff --git a/doc/lispintro/cons-1.eps b/doc/lispintro/cons-1.eps index fbae699e21b..42c350139da 100644 --- a/doc/lispintro/cons-1.eps +++ b/doc/lispintro/cons-1.eps | |||
| @@ -1,14 +1,11 @@ | |||
| 1 | %! | 1 | %!PS-Adobe-3.0 EPSF-3.0 |
| 2 | %%BoundingBox: 35 711 289 757 | 2 | %%BoundingBox: 35 711 289 757 |
| 3 | %%Title: cons-cell-diagram1 | 3 | %%Title: cons-cell-diagram1 |
| 4 | %%CreationDate: Wed Mar 8 14:26:58 1995 | 4 | %%CreationDate: Wed Mar 8 14:26:58 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | % | ||
| 7 | % Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 | ||
| 8 | % | ||
| 9 | 6 | ||
| 10 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 11 | % Free Software Foundation, Inc. | 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. |
| 12 | % | 9 | % |
| 13 | % This file is part of GNU Emacs. | 10 | % This file is part of GNU Emacs. |
| 14 | % | 11 | % |
diff --git a/doc/lispintro/cons-2.eps b/doc/lispintro/cons-2.eps index 703a842e046..8ae9d8a9190 100644 --- a/doc/lispintro/cons-2.eps +++ b/doc/lispintro/cons-2.eps | |||
| @@ -1,14 +1,11 @@ | |||
| 1 | %! | 1 | %!PS-Adobe-3.0 EPSF-3.0 |
| 2 | %%BoundingBox: 15 712 321 775 | 2 | %%BoundingBox: 15 712 321 775 |
| 3 | %%Title: cons-cell-diagram2 | 3 | %%Title: cons-cell-diagram2 |
| 4 | %%CreationDate: Wed Mar 8 14:26:39 1995 | 4 | %%CreationDate: Wed Mar 8 14:26:39 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | % | ||
| 7 | % Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 | ||
| 8 | % | ||
| 9 | 6 | ||
| 10 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 11 | % Free Software Foundation, Inc. | 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. |
| 12 | % | 9 | % |
| 13 | % This file is part of GNU Emacs. | 10 | % This file is part of GNU Emacs. |
| 14 | % | 11 | % |
diff --git a/doc/lispintro/cons-2a.eps b/doc/lispintro/cons-2a.eps index 4d2ae666590..916417adf9c 100644 --- a/doc/lispintro/cons-2a.eps +++ b/doc/lispintro/cons-2a.eps | |||
| @@ -1,14 +1,11 @@ | |||
| 1 | %! | 1 | %!PS-Adobe-3.0 EPSF-3.0 |
| 2 | %%BoundingBox: 15 702 300 767 | 2 | %%BoundingBox: 15 702 300 767 |
| 3 | %%Title: cons-cell-diagram2a | 3 | %%Title: cons-cell-diagram2a |
| 4 | %%CreationDate: Tue Mar 14 15:09:30 1995 | 4 | %%CreationDate: Tue Mar 14 15:09:30 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | % | ||
| 7 | % Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 | ||
| 8 | % | ||
| 9 | 6 | ||
| 10 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 11 | % Free Software Foundation, Inc. | 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. |
| 12 | % | 9 | % |
| 13 | % This file is part of GNU Emacs. | 10 | % This file is part of GNU Emacs. |
| 14 | % | 11 | % |
diff --git a/doc/lispintro/cons-3.eps b/doc/lispintro/cons-3.eps index b1aa60c1c99..f6fddf0a32a 100644 --- a/doc/lispintro/cons-3.eps +++ b/doc/lispintro/cons-3.eps | |||
| @@ -1,14 +1,11 @@ | |||
| 1 | %! | 1 | %!PS-Adobe-3.0 EPSF-3.0 |
| 2 | %%BoundingBox: -1 691 324 757 | 2 | %%BoundingBox: -1 691 324 757 |
| 3 | %%Title: cons-cell-diagram3 | 3 | %%Title: cons-cell-diagram3 |
| 4 | %%CreationDate: Wed Mar 8 14:25:41 1995 | 4 | %%CreationDate: Wed Mar 8 14:25:41 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | % | ||
| 7 | % Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 | ||
| 8 | % | ||
| 9 | 6 | ||
| 10 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 11 | % Free Software Foundation, Inc. | 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. |
| 12 | % | 9 | % |
| 13 | % This file is part of GNU Emacs. | 10 | % This file is part of GNU Emacs. |
| 14 | % | 11 | % |
diff --git a/doc/lispintro/cons-4.eps b/doc/lispintro/cons-4.eps index c61b47bcbce..77389632dfd 100644 --- a/doc/lispintro/cons-4.eps +++ b/doc/lispintro/cons-4.eps | |||
| @@ -1,14 +1,11 @@ | |||
| 1 | %! | 1 | %!PS-Adobe-3.0 EPSF-3.0 |
| 2 | %%BoundingBox: 6 681 355 758 | 2 | %%BoundingBox: 6 681 355 758 |
| 3 | %%Title: cons-cell-diagram4 | 3 | %%Title: cons-cell-diagram4 |
| 4 | %%CreationDate: Wed Mar 8 14:25:06 1995 | 4 | %%CreationDate: Wed Mar 8 14:25:06 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | % | ||
| 7 | % Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 | ||
| 8 | % | ||
| 9 | 6 | ||
| 10 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 11 | % Free Software Foundation, Inc. | 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. |
| 12 | % | 9 | % |
| 13 | % This file is part of GNU Emacs. | 10 | % This file is part of GNU Emacs. |
| 14 | % | 11 | % |
diff --git a/doc/lispintro/cons-5.eps b/doc/lispintro/cons-5.eps index 87c7f645b5e..67423d5354e 100644 --- a/doc/lispintro/cons-5.eps +++ b/doc/lispintro/cons-5.eps | |||
| @@ -1,14 +1,11 @@ | |||
| 1 | %! | 1 | %!PS-Adobe-3.0 EPSF-3.0 |
| 2 | %%BoundingBox: 15 680 305 764 | 2 | %%BoundingBox: 15 680 305 764 |
| 3 | %%Title: cons-cell-diagram5 | 3 | %%Title: cons-cell-diagram5 |
| 4 | %%CreationDate: Wed Mar 8 14:27:28 1995 | 4 | %%CreationDate: Wed Mar 8 14:27:28 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | % | ||
| 7 | % Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 | ||
| 8 | % | ||
| 9 | 6 | ||
| 10 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 11 | % Free Software Foundation, Inc. | 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. |
| 12 | % | 9 | % |
| 13 | % This file is part of GNU Emacs. | 10 | % This file is part of GNU Emacs. |
| 14 | % | 11 | % |
diff --git a/doc/lispintro/lambda-1.eps b/doc/lispintro/lambda-1.eps index f48bdf20ff7..3510c40e005 100644 --- a/doc/lispintro/lambda-1.eps +++ b/doc/lispintro/lambda-1.eps | |||
| @@ -1,14 +1,11 @@ | |||
| 1 | %! | 1 | %!PS-Adobe-3.0 EPSF-3.0 |
| 2 | %%BoundingBox: 33 710 173 759 | 2 | %%BoundingBox: 33 710 173 759 |
| 3 | %%Title: lambda-diagram1 | 3 | %%Title: lambda-diagram1 |
| 4 | %%CreationDate: Wed Mar 8 14:31:53 1995 | 4 | %%CreationDate: Wed Mar 8 14:31:53 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | % | ||
| 7 | % Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 | ||
| 8 | % | ||
| 9 | 6 | ||
| 10 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 11 | % Free Software Foundation, Inc. | 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. |
| 12 | % | 9 | % |
| 13 | % This file is part of GNU Emacs. | 10 | % This file is part of GNU Emacs. |
| 14 | % | 11 | % |
diff --git a/doc/lispintro/lambda-2.eps b/doc/lispintro/lambda-2.eps index 923d09657b8..f60c2b56ad3 100644 --- a/doc/lispintro/lambda-2.eps +++ b/doc/lispintro/lambda-2.eps | |||
| @@ -1,14 +1,11 @@ | |||
| 1 | %! | 1 | %!PS-Adobe-3.0 EPSF-3.0 |
| 2 | %%BoundingBox: 33 730 240 777 | 2 | %%BoundingBox: 33 730 240 777 |
| 3 | %%Title: lambda-diagram2 | 3 | %%Title: lambda-diagram2 |
| 4 | %%CreationDate: Wed Mar 8 14:33:09 1995 | 4 | %%CreationDate: Wed Mar 8 14:33:09 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | % | ||
| 7 | % Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 | ||
| 8 | % | ||
| 9 | 6 | ||
| 10 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 11 | % Free Software Foundation, Inc. | 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. |
| 12 | % | 9 | % |
| 13 | % This file is part of GNU Emacs. | 10 | % This file is part of GNU Emacs. |
| 14 | % | 11 | % |
diff --git a/doc/lispintro/lambda-3.eps b/doc/lispintro/lambda-3.eps index be7c0538e32..67c55093e7f 100644 --- a/doc/lispintro/lambda-3.eps +++ b/doc/lispintro/lambda-3.eps | |||
| @@ -1,14 +1,11 @@ | |||
| 1 | %! | 1 | %!PS-Adobe-3.0 EPSF-3.0 |
| 2 | %%BoundingBox: 33 728 211 777 | 2 | %%BoundingBox: 33 728 211 777 |
| 3 | %%Title: lambda-diagram3 | 3 | %%Title: lambda-diagram3 |
| 4 | %%CreationDate: Wed Mar 8 14:33:49 1995 | 4 | %%CreationDate: Wed Mar 8 14:33:49 1995 |
| 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) | 5 | %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) |
| 6 | % | ||
| 7 | % Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1 | ||
| 8 | % | ||
| 9 | 6 | ||
| 10 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 | 7 | % Copyright (C) 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 11 | % Free Software Foundation, Inc. | 8 | % 2008, 2009, 2010 Free Software Foundation, Inc. |
| 12 | % | 9 | % |
| 13 | % This file is part of GNU Emacs. | 10 | % This file is part of GNU Emacs. |
| 14 | % | 11 | % |
diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog index 47f059e7d3c..4688c27f9b5 100644 --- a/doc/man/ChangeLog +++ b/doc/man/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2010-09-25 Ulrich Mueller <ulm@gentoo.org> | ||
| 2 | |||
| 3 | * etags.1: xz compression is now supported. | ||
| 4 | |||
| 1 | 2010-08-26 Sven Joachim <svenjoac@gmx.de> | 5 | 2010-08-26 Sven Joachim <svenjoac@gmx.de> |
| 2 | 6 | ||
| 3 | * emacs.1: Mention "maximized" value for the "fullscreen" X resource. | 7 | * emacs.1: Mention "maximized" value for the "fullscreen" X resource. |
diff --git a/doc/man/etags.1 b/doc/man/etags.1 index 7b515807782..cddf7295595 100644 --- a/doc/man/etags.1 +++ b/doc/man/etags.1 | |||
| @@ -62,7 +62,7 @@ Files specified with absolute file names will be recorded | |||
| 62 | with absolute file names. Files generated from a source file\-\-like | 62 | with absolute file names. Files generated from a source file\-\-like |
| 63 | a C file generated from a source Cweb file\-\-will be recorded with | 63 | a C file generated from a source Cweb file\-\-will be recorded with |
| 64 | the name of the source file. | 64 | the name of the source file. |
| 65 | Compressed files are supported using gzip and bzip2. | 65 | Compressed files are supported using gzip, bzip2, and xz. |
| 66 | The programs recognize the language used in an input file based on its | 66 | The programs recognize the language used in an input file based on its |
| 67 | file name and contents. The \fB\-\-language\fP switch can be used to force | 67 | file name and contents. The \fB\-\-language\fP switch can be used to force |
| 68 | parsing of the file names following the switch according to the given | 68 | parsing of the file names following the switch according to the given |
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 3e723cd8c83..2cdc071f73d 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,60 @@ | |||
| 1 | 2010-09-26 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * gnus-news.texi: Mention nnimap-inbox. | ||
| 4 | |||
| 5 | * gnus.texi (Picons): Document gnus-picon-inhibit-top-level-domains. | ||
| 6 | |||
| 7 | 2010-09-26 Julien Danjou <julien@danjou.info> | ||
| 8 | |||
| 9 | * gnus.texi (Oort Gnus): Remove mention of ssl.el | ||
| 10 | |||
| 11 | 2010-09-26 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 12 | |||
| 13 | * gnus.texi (Security): Remove gpg.el mention. | ||
| 14 | |||
| 15 | 2010-09-26 Andreas Seltenreich <seltenreich@gmx.de> | ||
| 16 | |||
| 17 | * gnus.texi (Browse Foreign Server): New variable | ||
| 18 | gnus-browse-subscribe-newsgroup-method. | ||
| 19 | |||
| 20 | * gnus-news.texi: Mention it. | ||
| 21 | |||
| 22 | 2010-09-26 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 23 | |||
| 24 | * gnus.texi (NoCeM): Removed. | ||
| 25 | (Startup Variables): No jingle. | ||
| 26 | |||
| 27 | 2010-09-25 Ulrich Mueller <ulm@gentoo.org> | ||
| 28 | |||
| 29 | * woman.texi (Interface Options): xz compression is now supported. | ||
| 30 | |||
| 31 | 2010-09-25 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 32 | |||
| 33 | * gnus.texi (Article Commands): Document gnus-fetch-partial-articles. | ||
| 34 | (Unavailable Servers): Document gnus-server-copy-server. | ||
| 35 | (Using IMAP): Document the new nnimap. | ||
| 36 | |||
| 37 | 2010-09-25 Julien Danjou <julien@danjou.info> | ||
| 38 | |||
| 39 | * gnus.texi (Customizing Articles): Remove gnus-treat-translate | ||
| 40 | |||
| 41 | 2010-09-24 Glenn Morris <rgm@gnu.org> | ||
| 42 | |||
| 43 | * url.texi (Disk Caching): Tweak previous change. | ||
| 44 | |||
| 45 | 2010-09-24 Julien Danjou <julien@danjou.info> | ||
| 46 | |||
| 47 | * url.texi (Disk Caching): Mention url-cache-expire-time, | ||
| 48 | url-cache-expired, and url-fetch-from-cache. | ||
| 49 | |||
| 50 | 2010-09-24 Julien Danjou <julien@danjou.info> | ||
| 51 | |||
| 52 | * gnus.texi: Add Gravatars. | ||
| 53 | |||
| 54 | 2010-09-23 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 55 | |||
| 56 | * gnus.texi (Startup Variables): Mention gnus-use-backend-marks. | ||
| 57 | |||
| 1 | 2010-09-21 Lars Magne Ingebrigtsen <larsi@gnus.org> | 58 | 2010-09-21 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 59 | ||
| 3 | * gnus.texi (Expunging mailboxes): Update name of the expunging | 60 | * gnus.texi (Expunging mailboxes): Update name of the expunging |
diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi index 8aa28dd89c8..028539a7fb4 100644 --- a/doc/misc/gnus-news.texi +++ b/doc/misc/gnus-news.texi | |||
| @@ -68,8 +68,10 @@ remove-installed-shadows}. | |||
| 68 | 68 | ||
| 69 | @item New version of @code{nnimap} | 69 | @item New version of @code{nnimap} |
| 70 | 70 | ||
| 71 | @code{nnimap} has been reimplemented in a mostly-compatible way. | 71 | @code{nnimap} has been reimplemented in a mostly-compatible way. See |
| 72 | @c Mention any incompatibilities. | 72 | the Gnus manual for a description of the new interface. In |
| 73 | particular, @code{nnimap-inbox} and the client side split method has | ||
| 74 | changed. | ||
| 73 | 75 | ||
| 74 | @item Gnus includes the Emacs Lisp @acronym{SASL} library. | 76 | @item Gnus includes the Emacs Lisp @acronym{SASL} library. |
| 75 | 77 | ||
| @@ -103,6 +105,12 @@ EasyPG is included in Emacs 23 and available separately as well. | |||
| 103 | @c ************************ | 105 | @c ************************ |
| 104 | 106 | ||
| 105 | @itemize @bullet | 107 | @itemize @bullet |
| 108 | |||
| 109 | @item | ||
| 110 | Symbols like @code{gcc-self} now has the same presedence rules in | ||
| 111 | @code{gnus-parameters} as other ``real'' variables: The last match | ||
| 112 | wins instead of the first match. | ||
| 113 | |||
| 106 | @item | 114 | @item |
| 107 | Old intermediate incoming mail files (@file{Incoming*}) are deleted | 115 | Old intermediate incoming mail files (@file{Incoming*}) are deleted |
| 108 | after a couple of days, not immediately. @xref{Mail Source | 116 | after a couple of days, not immediately. @xref{Mail Source |
| @@ -246,6 +254,16 @@ of the "Whomever writes:" line. You need to set | |||
| 246 | @code{message-insert-formatted-citation-line} as well. | 254 | @code{message-insert-formatted-citation-line} as well. |
| 247 | @end itemize | 255 | @end itemize |
| 248 | 256 | ||
| 257 | @item Changes in Browse Server mode | ||
| 258 | |||
| 259 | @itemize @bullet | ||
| 260 | @item Gnus' sophisticated subscription methods are now available in | ||
| 261 | Browse Server buffers as well using the variable | ||
| 262 | @code{gnus-browse-subscribe-newsgroup-method}. | ||
| 263 | |||
| 264 | @end itemize | ||
| 265 | |||
| 266 | |||
| 249 | @item Changes in back ends | 267 | @item Changes in back ends |
| 250 | 268 | ||
| 251 | @itemize @bullet | 269 | @itemize @bullet |
| @@ -336,6 +354,8 @@ be unchanged except that the marks will be removed when copying or | |||
| 336 | moving articles to a group that has not turned auto-expire on. | 354 | moving articles to a group that has not turned auto-expire on. |
| 337 | @xref{Expiring Mail}. | 355 | @xref{Expiring Mail}. |
| 338 | 356 | ||
| 357 | @item NoCeM support has been removed. | ||
| 358 | |||
| 339 | @end itemize | 359 | @end itemize |
| 340 | 360 | ||
| 341 | @end itemize | 361 | @end itemize |
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 52c8bb642f0..c1acf7e0d8a 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -589,7 +589,7 @@ Article Treatment | |||
| 589 | * Article Buttons:: Click on URLs, Message-IDs, addresses and the like. | 589 | * Article Buttons:: Click on URLs, Message-IDs, addresses and the like. |
| 590 | * Article Button Levels:: Controlling appearance of buttons. | 590 | * Article Button Levels:: Controlling appearance of buttons. |
| 591 | * Article Date:: Grumble, UT! | 591 | * Article Date:: Grumble, UT! |
| 592 | * Article Display:: Display various stuff---X-Face, Picons, Smileys | 592 | * Article Display:: Display various stuff---X-Face, Picons, Smileys, Gravatars |
| 593 | * Article Signature:: What is a signature? | 593 | * Article Signature:: What is a signature? |
| 594 | * Article Miscellanea:: Various other stuff. | 594 | * Article Miscellanea:: Various other stuff. |
| 595 | 595 | ||
| @@ -629,9 +629,9 @@ Select Methods | |||
| 629 | 629 | ||
| 630 | * Server Buffer:: Making and editing virtual servers. | 630 | * Server Buffer:: Making and editing virtual servers. |
| 631 | * Getting News:: Reading USENET news with Gnus. | 631 | * Getting News:: Reading USENET news with Gnus. |
| 632 | * Using @acronym{IMAP}:: Reading mail from @acronym{IMAP}. | ||
| 632 | * Getting Mail:: Reading your personal mail with Gnus. | 633 | * Getting Mail:: Reading your personal mail with Gnus. |
| 633 | * Browsing the Web:: Getting messages from a plethora of Web sources. | 634 | * Browsing the Web:: Getting messages from a plethora of Web sources. |
| 634 | * IMAP:: Using Gnus as a @acronym{IMAP} client. | ||
| 635 | * Other Sources:: Reading directories, files. | 635 | * Other Sources:: Reading directories, files. |
| 636 | * Combined Groups:: Combining groups into one group. | 636 | * Combined Groups:: Combining groups into one group. |
| 637 | * Email Based Diary:: Using mails to manage diary events in Gnus. | 637 | * Email Based Diary:: Using mails to manage diary events in Gnus. |
| @@ -698,15 +698,6 @@ Browsing the Web | |||
| 698 | * RSS:: Reading RDF site summary. | 698 | * RSS:: Reading RDF site summary. |
| 699 | * Customizing W3:: Doing stuff to Emacs/W3 from Gnus. | 699 | * Customizing W3:: Doing stuff to Emacs/W3 from Gnus. |
| 700 | 700 | ||
| 701 | @acronym{IMAP} | ||
| 702 | |||
| 703 | * Splitting in IMAP:: Splitting mail with nnimap. | ||
| 704 | * Expiring in IMAP:: Expiring mail with nnimap. | ||
| 705 | * Editing IMAP ACLs:: Limiting/enabling other users access to a mailbox. | ||
| 706 | * Expunging mailboxes:: Equivalent of a ``compress mailbox'' button. | ||
| 707 | * A note on namespaces:: How to (not) use @acronym{IMAP} namespace in Gnus. | ||
| 708 | * Debugging IMAP:: What to do when things don't work. | ||
| 709 | |||
| 710 | Other Sources | 701 | Other Sources |
| 711 | 702 | ||
| 712 | * Directory Groups:: You can read a directory as if it was a newsgroup. | 703 | * Directory Groups:: You can read a directory as if it was a newsgroup. |
| @@ -808,7 +799,6 @@ Various | |||
| 808 | * Highlighting and Menus:: Making buffers look all nice and cozy. | 799 | * Highlighting and Menus:: Making buffers look all nice and cozy. |
| 809 | * Buttons:: Get tendinitis in ten easy steps! | 800 | * Buttons:: Get tendinitis in ten easy steps! |
| 810 | * Daemons:: Gnus can do things behind your back. | 801 | * Daemons:: Gnus can do things behind your back. |
| 811 | * NoCeM:: How to avoid spam and other fatty foods. | ||
| 812 | * Undo:: Some actions can be undone. | 802 | * Undo:: Some actions can be undone. |
| 813 | * Predicate Specifiers:: Specifying predicates. | 803 | * Predicate Specifiers:: Specifying predicates. |
| 814 | * Moderation:: What to do if you're a moderator. | 804 | * Moderation:: What to do if you're a moderator. |
| @@ -1637,14 +1627,11 @@ of doing your job. Note that this variable is used before | |||
| 1637 | @vindex gnus-no-groups-message | 1627 | @vindex gnus-no-groups-message |
| 1638 | Message displayed by Gnus when no groups are available. | 1628 | Message displayed by Gnus when no groups are available. |
| 1639 | 1629 | ||
| 1640 | @item gnus-play-startup-jingle | 1630 | @item gnus-use-backend-marks |
| 1641 | @vindex gnus-play-startup-jingle | 1631 | @vindex gnus-use-backend-marks |
| 1642 | If non-@code{nil}, play the Gnus jingle at startup. | 1632 | If non-@code{nil}, Gnus will store article marks both in the |
| 1643 | 1633 | @file{.newsrc.eld} file and in the backends. This will slow down | |
| 1644 | @item gnus-startup-jingle | 1634 | group operation some. |
| 1645 | @vindex gnus-startup-jingle | ||
| 1646 | Jingle to be played if the above variable is non-@code{nil}. The | ||
| 1647 | default is @samp{Tuxedomoon.Jingle4.au}. | ||
| 1648 | 1635 | ||
| 1649 | @end table | 1636 | @end table |
| 1650 | 1637 | ||
| @@ -1996,8 +1983,7 @@ functions for snarfing info on the group. | |||
| 1996 | @vindex gnus-group-update-hook | 1983 | @vindex gnus-group-update-hook |
| 1997 | @findex gnus-group-highlight-line | 1984 | @findex gnus-group-highlight-line |
| 1998 | @code{gnus-group-update-hook} is called when a group line is changed. | 1985 | @code{gnus-group-update-hook} is called when a group line is changed. |
| 1999 | It will not be called when @code{gnus-visual} is @code{nil}. This hook | 1986 | It will not be called when @code{gnus-visual} is @code{nil}. |
| 2000 | calls @code{gnus-group-highlight-line} by default. | ||
| 2001 | 1987 | ||
| 2002 | 1988 | ||
| 2003 | @node Group Maneuvering | 1989 | @node Group Maneuvering |
| @@ -2611,18 +2597,6 @@ for a directory name (@code{gnus-group-make-directory-group}). | |||
| 2611 | @findex gnus-group-make-help-group | 2597 | @findex gnus-group-make-help-group |
| 2612 | Make the Gnus help group (@code{gnus-group-make-help-group}). | 2598 | Make the Gnus help group (@code{gnus-group-make-help-group}). |
| 2613 | 2599 | ||
| 2614 | @item G a | ||
| 2615 | @kindex G a (Group) | ||
| 2616 | @cindex (ding) archive | ||
| 2617 | @cindex archive group | ||
| 2618 | @findex gnus-group-make-archive-group | ||
| 2619 | @vindex gnus-group-archive-directory | ||
| 2620 | @vindex gnus-group-recent-archive-directory | ||
| 2621 | Make a Gnus archive group (@code{gnus-group-make-archive-group}). By | ||
| 2622 | default a group pointing to the most recent articles will be created | ||
| 2623 | (@code{gnus-group-recent-archive-directory}), but given a prefix, a full | ||
| 2624 | group will be created from @code{gnus-group-archive-directory}. | ||
| 2625 | |||
| 2626 | @item G D | 2600 | @item G D |
| 2627 | @kindex G D (Group) | 2601 | @kindex G D (Group) |
| 2628 | @findex gnus-group-enter-directory | 2602 | @findex gnus-group-enter-directory |
| @@ -3624,8 +3598,12 @@ Enter the current group (@code{gnus-browse-select-group}). | |||
| 3624 | @item u | 3598 | @item u |
| 3625 | @kindex u (Browse) | 3599 | @kindex u (Browse) |
| 3626 | @findex gnus-browse-unsubscribe-current-group | 3600 | @findex gnus-browse-unsubscribe-current-group |
| 3601 | @vindex gnus-browse-subscribe-newsgroup-method | ||
| 3627 | Unsubscribe to the current group, or, as will be the case here, | 3602 | Unsubscribe to the current group, or, as will be the case here, |
| 3628 | subscribe to it (@code{gnus-browse-unsubscribe-current-group}). | 3603 | subscribe to it (@code{gnus-browse-unsubscribe-current-group}). You |
| 3604 | can affect the way the new group is entered into the Group buffer | ||
| 3605 | using the variable @code{gnus-browse-subscribe-newsgroup-method}. See | ||
| 3606 | @pxref{Subscription Methods} for available options. | ||
| 3629 | 3607 | ||
| 3630 | @item l | 3608 | @item l |
| 3631 | @itemx q | 3609 | @itemx q |
| @@ -5217,19 +5195,6 @@ used for fetching the file. | |||
| 5217 | If fetching from the first site is unsuccessful, Gnus will attempt to go | 5195 | If fetching from the first site is unsuccessful, Gnus will attempt to go |
| 5218 | through @code{gnus-group-faq-directory} and try to open them one by one. | 5196 | through @code{gnus-group-faq-directory} and try to open them one by one. |
| 5219 | 5197 | ||
| 5220 | @item H c | ||
| 5221 | @kindex H c (Group) | ||
| 5222 | @findex gnus-group-fetch-charter | ||
| 5223 | @vindex gnus-group-charter-alist | ||
| 5224 | @cindex charter | ||
| 5225 | Try to open the charter for the current group in a web browser | ||
| 5226 | (@code{gnus-group-fetch-charter}). Query for a group if given a | ||
| 5227 | prefix argument. | ||
| 5228 | |||
| 5229 | Gnus will use @code{gnus-group-charter-alist} to find the location of | ||
| 5230 | the charter. If no location is known, Gnus will fetch the control | ||
| 5231 | messages for the group, which in some cases includes the charter. | ||
| 5232 | |||
| 5233 | @item H C | 5198 | @item H C |
| 5234 | @kindex H C (Group) | 5199 | @kindex H C (Group) |
| 5235 | @findex gnus-group-fetch-control | 5200 | @findex gnus-group-fetch-control |
| @@ -9250,7 +9215,8 @@ these articles easier. | |||
| 9250 | * Article Buttons:: Click on URLs, Message-IDs, addresses and the like. | 9215 | * Article Buttons:: Click on URLs, Message-IDs, addresses and the like. |
| 9251 | * Article Button Levels:: Controlling appearance of buttons. | 9216 | * Article Button Levels:: Controlling appearance of buttons. |
| 9252 | * Article Date:: Grumble, UT! | 9217 | * Article Date:: Grumble, UT! |
| 9253 | * Article Display:: Display various stuff---X-Face, Picons, Smileys | 9218 | * Article Display:: Display various stuff: |
| 9219 | X-Face, Picons, Gravatars, Smileys. | ||
| 9254 | * Article Signature:: What is a signature? | 9220 | * Article Signature:: What is a signature? |
| 9255 | * Article Miscellanea:: Various other stuff. | 9221 | * Article Miscellanea:: Various other stuff. |
| 9256 | @end menu | 9222 | @end menu |
| @@ -10105,18 +10071,6 @@ string is invalid. | |||
| 10105 | An alist of @code{(RATE . REGEXP)} pairs used by the function | 10071 | An alist of @code{(RATE . REGEXP)} pairs used by the function |
| 10106 | @code{gnus-button-mid-or-mail-heuristic}. | 10072 | @code{gnus-button-mid-or-mail-heuristic}. |
| 10107 | 10073 | ||
| 10108 | @c Stuff related to gnus-button-tex-level | ||
| 10109 | |||
| 10110 | @item gnus-button-ctan-handler | ||
| 10111 | @findex gnus-button-ctan-handler | ||
| 10112 | The function to use for displaying CTAN links. It must take one | ||
| 10113 | argument, the string naming the URL. | ||
| 10114 | |||
| 10115 | @item gnus-ctan-url | ||
| 10116 | @vindex gnus-ctan-url | ||
| 10117 | Top directory of a CTAN (Comprehensive TeX Archive Network) archive used | ||
| 10118 | by @code{gnus-button-ctan-handler}. | ||
| 10119 | |||
| 10120 | @c Misc stuff | 10074 | @c Misc stuff |
| 10121 | 10075 | ||
| 10122 | @item gnus-article-button-face | 10076 | @item gnus-article-button-face |
| @@ -10189,14 +10143,6 @@ Related variables and functions include | |||
| 10189 | @code{gnus-button-mid-or-mail-heuristic}, and | 10143 | @code{gnus-button-mid-or-mail-heuristic}, and |
| 10190 | @code{gnus-button-mid-or-mail-heuristic-alist}. | 10144 | @code{gnus-button-mid-or-mail-heuristic-alist}. |
| 10191 | 10145 | ||
| 10192 | @item gnus-button-tex-level | ||
| 10193 | @vindex gnus-button-tex-level | ||
| 10194 | Controls the display of references to @TeX{} or LaTeX stuff, e.g. for CTAN | ||
| 10195 | URLs. See the variables @code{gnus-ctan-url}, | ||
| 10196 | @code{gnus-button-ctan-handler}, | ||
| 10197 | @code{gnus-button-ctan-directory-regexp}, and | ||
| 10198 | @code{gnus-button-handle-ctan-bogus-regexp}. | ||
| 10199 | |||
| 10200 | @end table | 10146 | @end table |
| 10201 | 10147 | ||
| 10202 | 10148 | ||
| @@ -10294,6 +10240,7 @@ preferred format automatically. | |||
| 10294 | @cindex picons | 10240 | @cindex picons |
| 10295 | @cindex x-face | 10241 | @cindex x-face |
| 10296 | @cindex smileys | 10242 | @cindex smileys |
| 10243 | @cindex gravatars | ||
| 10297 | 10244 | ||
| 10298 | These commands add various frivolous display gimmicks to the article | 10245 | These commands add various frivolous display gimmicks to the article |
| 10299 | buffer in Emacs versions that support them. | 10246 | buffer in Emacs versions that support them. |
| @@ -10310,6 +10257,9 @@ their messages with (@pxref{Smileys}). | |||
| 10310 | Picons, on the other hand, reside on your own system, and Gnus will | 10257 | Picons, on the other hand, reside on your own system, and Gnus will |
| 10311 | try to match the headers to what you have (@pxref{Picons}). | 10258 | try to match the headers to what you have (@pxref{Picons}). |
| 10312 | 10259 | ||
| 10260 | Gravatars reside on-line and are fetched from | ||
| 10261 | @uref{http://www.gravatar.com/} (@pxref{Gravatars}). | ||
| 10262 | |||
| 10313 | All these functions are toggles---if the elements already exist, | 10263 | All these functions are toggles---if the elements already exist, |
| 10314 | they'll be removed. | 10264 | they'll be removed. |
| 10315 | 10265 | ||
| @@ -10348,6 +10298,17 @@ Piconify all mail headers (i. e., @code{Cc}, @code{To}) | |||
| 10348 | Piconify all news headers (i. e., @code{Newsgroups} and | 10298 | Piconify all news headers (i. e., @code{Newsgroups} and |
| 10349 | @code{Followup-To}) (@code{gnus-treat-newsgroups-picon}). | 10299 | @code{Followup-To}) (@code{gnus-treat-newsgroups-picon}). |
| 10350 | 10300 | ||
| 10301 | @item W D g | ||
| 10302 | @kindex W D g (Summary) | ||
| 10303 | @findex gnus-treat-from-gravatar | ||
| 10304 | Gravatarify the @code{From} header (@code{gnus-treat-from-gravatar}). | ||
| 10305 | |||
| 10306 | @item W D h | ||
| 10307 | @kindex W D h (Summary) | ||
| 10308 | @findex gnus-treat-mail-gravatar | ||
| 10309 | Gravatarify all mail headers (i. e., @code{Cc}, @code{To}) | ||
| 10310 | (@code{gnus-treat-from-gravatar}). | ||
| 10311 | |||
| 10351 | @item W D D | 10312 | @item W D D |
| 10352 | @kindex W D D (Summary) | 10313 | @kindex W D D (Summary) |
| 10353 | @findex gnus-article-remove-images | 10314 | @findex gnus-article-remove-images |
| @@ -10833,6 +10794,16 @@ Generate and print a PostScript image of the article buffer | |||
| 10833 | be run just before printing the buffer. An alternative way to print | 10794 | be run just before printing the buffer. An alternative way to print |
| 10834 | article is to use Muttprint (@pxref{Saving Articles}). | 10795 | article is to use Muttprint (@pxref{Saving Articles}). |
| 10835 | 10796 | ||
| 10797 | @item A C | ||
| 10798 | @vindex gnus-fetch-partial-articles | ||
| 10799 | @findex gnus-summary-show-complete-article | ||
| 10800 | If @code{gnus-fetch-partial-articles} is non-@code{nil}, Gnus will | ||
| 10801 | fetch partial articles, if the backend it fetches them from supports | ||
| 10802 | it. Currently only @code{nnimap} does. If you're looking at a | ||
| 10803 | partial article, and want to see the complete article instead, then | ||
| 10804 | the @kbd{A C} command (@code{gnus-summary-show-complete-article}) will | ||
| 10805 | do so. | ||
| 10806 | |||
| 10836 | @end table | 10807 | @end table |
| 10837 | 10808 | ||
| 10838 | 10809 | ||
| @@ -11556,18 +11527,6 @@ sieve. | |||
| 11556 | 11527 | ||
| 11557 | @table @kbd | 11528 | @table @kbd |
| 11558 | 11529 | ||
| 11559 | @item H f | ||
| 11560 | @kindex H f (Summary) | ||
| 11561 | @findex gnus-summary-fetch-faq | ||
| 11562 | @vindex gnus-group-faq-directory | ||
| 11563 | Try to fetch the @acronym{FAQ} (list of frequently asked questions) | ||
| 11564 | for the current group (@code{gnus-summary-fetch-faq}). Gnus will try | ||
| 11565 | to get the @acronym{FAQ} from @code{gnus-group-faq-directory}, which | ||
| 11566 | is usually a directory on a remote machine. This variable can also be | ||
| 11567 | a list of directories. In that case, giving a prefix to this command | ||
| 11568 | will allow you to choose between the various sites. @code{ange-ftp} | ||
| 11569 | or @code{efs} will probably be used for fetching the file. | ||
| 11570 | |||
| 11571 | @item H d | 11530 | @item H d |
| 11572 | @kindex H d (Summary) | 11531 | @kindex H d (Summary) |
| 11573 | @findex gnus-summary-describe-group | 11532 | @findex gnus-summary-describe-group |
| @@ -11893,8 +11852,7 @@ read the same article more than once. Unless, of course, somebody has | |||
| 11893 | posted it to several groups separately. Posting the same article to | 11852 | posted it to several groups separately. Posting the same article to |
| 11894 | several groups (not cross-posting) is called @dfn{spamming}, and you are | 11853 | several groups (not cross-posting) is called @dfn{spamming}, and you are |
| 11895 | by law required to send nasty-grams to anyone who perpetrates such a | 11854 | by law required to send nasty-grams to anyone who perpetrates such a |
| 11896 | heinous crime. You may want to try NoCeM handling to filter out spam | 11855 | heinous crime. |
| 11897 | (@pxref{NoCeM}). | ||
| 11898 | 11856 | ||
| 11899 | Remember: Cross-posting is kinda ok, but posting the same article | 11857 | Remember: Cross-posting is kinda ok, but posting the same article |
| 11900 | separately to several groups is not. Massive cross-posting (aka. | 11858 | separately to several groups is not. Massive cross-posting (aka. |
| @@ -12025,7 +11983,7 @@ To handle @acronym{PGP} and @acronym{PGP/MIME} messages, you have to | |||
| 12025 | install an OpenPGP implementation such as GnuPG. The Lisp interface | 11983 | install an OpenPGP implementation such as GnuPG. The Lisp interface |
| 12026 | to GnuPG included with Emacs is called EasyPG (@pxref{Top, ,EasyPG, | 11984 | to GnuPG included with Emacs is called EasyPG (@pxref{Top, ,EasyPG, |
| 12027 | epa, EasyPG Assistant user's manual}), but PGG (@pxref{Top, ,PGG, pgg, | 11985 | epa, EasyPG Assistant user's manual}), but PGG (@pxref{Top, ,PGG, pgg, |
| 12028 | PGG Manual}), Mailcrypt, and gpg.el are also supported. | 11986 | PGG Manual}), and Mailcrypt are also supported. |
| 12029 | 11987 | ||
| 12030 | @item | 11988 | @item |
| 12031 | To handle @acronym{S/MIME} message, you need to install OpenSSL. OpenSSL 0.9.6 | 11989 | To handle @acronym{S/MIME} message, you need to install OpenSSL. OpenSSL 0.9.6 |
| @@ -12064,7 +12022,7 @@ public-key matching the @samp{From:} header as the recipient; | |||
| 12064 | @vindex mml1991-use | 12022 | @vindex mml1991-use |
| 12065 | Symbol indicating elisp interface to OpenPGP implementation for | 12023 | Symbol indicating elisp interface to OpenPGP implementation for |
| 12066 | @acronym{PGP} messages. The default is @code{epg}, but @code{pgg}, | 12024 | @acronym{PGP} messages. The default is @code{epg}, but @code{pgg}, |
| 12067 | @code{mailcrypt}, and @code{gpg} are also supported although | 12025 | and @code{mailcrypt} are also supported although |
| 12068 | deprecated. By default, Gnus uses the first available interface in | 12026 | deprecated. By default, Gnus uses the first available interface in |
| 12069 | this order. | 12027 | this order. |
| 12070 | 12028 | ||
| @@ -12072,7 +12030,7 @@ this order. | |||
| 12072 | @vindex mml2015-use | 12030 | @vindex mml2015-use |
| 12073 | Symbol indicating elisp interface to OpenPGP implementation for | 12031 | Symbol indicating elisp interface to OpenPGP implementation for |
| 12074 | @acronym{PGP/MIME} messages. The default is @code{epg}, but | 12032 | @acronym{PGP/MIME} messages. The default is @code{epg}, but |
| 12075 | @code{pgg}, @code{mailcrypt}, and @code{gpg} are also supported | 12033 | @code{pgg}, and @code{mailcrypt} are also supported |
| 12076 | although deprecated. By default, Gnus uses the first available | 12034 | although deprecated. By default, Gnus uses the first available |
| 12077 | interface in this order. | 12035 | interface in this order. |
| 12078 | 12036 | ||
| @@ -12626,6 +12584,8 @@ controlling variable is a predicate list, as described above. | |||
| 12626 | @vindex gnus-treat-from-picon | 12584 | @vindex gnus-treat-from-picon |
| 12627 | @vindex gnus-treat-mail-picon | 12585 | @vindex gnus-treat-mail-picon |
| 12628 | @vindex gnus-treat-newsgroups-picon | 12586 | @vindex gnus-treat-newsgroups-picon |
| 12587 | @vindex gnus-treat-from-gravatar | ||
| 12588 | @vindex gnus-treat-mail-gravatar | ||
| 12629 | @vindex gnus-treat-display-smileys | 12589 | @vindex gnus-treat-display-smileys |
| 12630 | @vindex gnus-treat-body-boundary | 12590 | @vindex gnus-treat-body-boundary |
| 12631 | @vindex gnus-treat-display-x-face | 12591 | @vindex gnus-treat-display-x-face |
| @@ -12644,7 +12604,6 @@ controlling variable is a predicate list, as described above. | |||
| 12644 | @vindex gnus-treat-highlight-headers | 12604 | @vindex gnus-treat-highlight-headers |
| 12645 | @vindex gnus-treat-highlight-signature | 12605 | @vindex gnus-treat-highlight-signature |
| 12646 | @vindex gnus-treat-play-sounds | 12606 | @vindex gnus-treat-play-sounds |
| 12647 | @vindex gnus-treat-translate | ||
| 12648 | @vindex gnus-treat-x-pgp-sig | 12607 | @vindex gnus-treat-x-pgp-sig |
| 12649 | @vindex gnus-treat-unfold-headers | 12608 | @vindex gnus-treat-unfold-headers |
| 12650 | @vindex gnus-treat-fold-headers | 12609 | @vindex gnus-treat-fold-headers |
| @@ -12692,6 +12651,11 @@ possible but those listed are probably sufficient for most people. | |||
| 12692 | 12651 | ||
| 12693 | @xref{Picons}. | 12652 | @xref{Picons}. |
| 12694 | 12653 | ||
| 12654 | @item gnus-treat-from-gravatar (head) | ||
| 12655 | @item gnus-treat-mail-gravatar (head) | ||
| 12656 | |||
| 12657 | @xref{Gravatars}. | ||
| 12658 | |||
| 12695 | @item gnus-treat-display-smileys (t, integer) | 12659 | @item gnus-treat-display-smileys (t, integer) |
| 12696 | 12660 | ||
| 12697 | @item gnus-treat-body-boundary (head) | 12661 | @item gnus-treat-body-boundary (head) |
| @@ -12746,8 +12710,6 @@ is controlled by @code{gnus-body-boundary-delimiter}. | |||
| 12746 | 12710 | ||
| 12747 | @vindex gnus-treat-play-sounds | 12711 | @vindex gnus-treat-play-sounds |
| 12748 | @item gnus-treat-play-sounds | 12712 | @item gnus-treat-play-sounds |
| 12749 | @vindex gnus-treat-translate | ||
| 12750 | @item gnus-treat-translate | ||
| 12751 | @item gnus-treat-ansi-sequences (t) | 12713 | @item gnus-treat-ansi-sequences (t) |
| 12752 | @vindex gnus-treat-x-pgp-sig | 12714 | @vindex gnus-treat-x-pgp-sig |
| 12753 | @item gnus-treat-x-pgp-sig (head) | 12715 | @item gnus-treat-x-pgp-sig (head) |
| @@ -13738,9 +13700,9 @@ The different methods all have their peculiarities, of course. | |||
| 13738 | @menu | 13700 | @menu |
| 13739 | * Server Buffer:: Making and editing virtual servers. | 13701 | * Server Buffer:: Making and editing virtual servers. |
| 13740 | * Getting News:: Reading USENET news with Gnus. | 13702 | * Getting News:: Reading USENET news with Gnus. |
| 13703 | * Using @acronym{IMAP}:: Reading mail from @acronym{IMAP}. | ||
| 13741 | * Getting Mail:: Reading your personal mail with Gnus. | 13704 | * Getting Mail:: Reading your personal mail with Gnus. |
| 13742 | * Browsing the Web:: Getting messages from a plethora of Web sources. | 13705 | * Browsing the Web:: Getting messages from a plethora of Web sources. |
| 13743 | * IMAP:: Using Gnus as a @acronym{IMAP} client. | ||
| 13744 | * Other Sources:: Reading directories, files. | 13706 | * Other Sources:: Reading directories, files. |
| 13745 | * Combined Groups:: Combining groups into one group. | 13707 | * Combined Groups:: Combining groups into one group. |
| 13746 | * Email Based Diary:: Using mails to manage diary events in Gnus. | 13708 | * Email Based Diary:: Using mails to manage diary events in Gnus. |
| @@ -14153,6 +14115,14 @@ Close the connections to all servers in the buffer | |||
| 14153 | Remove all marks to whether Gnus was denied connection from any servers | 14115 | Remove all marks to whether Gnus was denied connection from any servers |
| 14154 | (@code{gnus-server-remove-denials}). | 14116 | (@code{gnus-server-remove-denials}). |
| 14155 | 14117 | ||
| 14118 | @item c | ||
| 14119 | @kindex c (Server) | ||
| 14120 | @findex gnus-server-copy-server | ||
| 14121 | Copy a server and give it a new name | ||
| 14122 | (@code{gnus-server-copy-server}). This can be useful if you have a | ||
| 14123 | complex method definition, and want to use the same definition towards | ||
| 14124 | a different (physical) server. | ||
| 14125 | |||
| 14156 | @item L | 14126 | @item L |
| 14157 | @kindex L (Server) | 14127 | @kindex L (Server) |
| 14158 | @findex gnus-server-offline-server | 14128 | @findex gnus-server-offline-server |
| @@ -14817,6 +14787,121 @@ there. | |||
| 14817 | @end table | 14787 | @end table |
| 14818 | 14788 | ||
| 14819 | 14789 | ||
| 14790 | @node Using @acronym{IMAP} | ||
| 14791 | @section Using @acronym{IMAP} | ||
| 14792 | @cindex imap | ||
| 14793 | |||
| 14794 | The most popular mail backend is probably @code{nnimap}, which | ||
| 14795 | provides access to @acronym{IMAP} servers. @acronym{IMAP} servers | ||
| 14796 | store mail remotely, so the client doesn't store anything locally. | ||
| 14797 | This means that it's a convenient choice when you're reading your mail | ||
| 14798 | from different locations, or with different user agents. | ||
| 14799 | |||
| 14800 | @menu | ||
| 14801 | * Connecting to an @acronym{IMAP} Server:: Getting started with @acronym{IMAP}. | ||
| 14802 | * Customizing the @acronym{IMAP} Connection:: Variables for @acronym{IMAP} connection. | ||
| 14803 | * Client-Side @acronym{IMAP} Splitting:: Put mail in the correct mail box. | ||
| 14804 | @end menu | ||
| 14805 | |||
| 14806 | |||
| 14807 | @node Connecting to an @acronym{IMAP} Server | ||
| 14808 | @subsection Connecting to an @acronym{IMAP} Server | ||
| 14809 | |||
| 14810 | Connecting to an @acronym{IMAP} can be very easy. Type @kbd{B} in the | ||
| 14811 | group buffer, or (if your primary interest is reading email), say | ||
| 14812 | something like: | ||
| 14813 | |||
| 14814 | @example | ||
| 14815 | (setq gnus-select-method | ||
| 14816 | '(nnimap "imap.gmail.com")) | ||
| 14817 | @end example | ||
| 14818 | |||
| 14819 | You'll be prompted for a user name and password. If you grow tired of | ||
| 14820 | that, then add the following to your @file{~/.authinfo} file: | ||
| 14821 | |||
| 14822 | @example | ||
| 14823 | machine imap.gmail.com login <username> password <password> port imap | ||
| 14824 | @end example | ||
| 14825 | |||
| 14826 | That should basically be it for most users. | ||
| 14827 | |||
| 14828 | |||
| 14829 | @node Customizing the @acronym{IMAP} Connection | ||
| 14830 | @subsection Customizing the @acronym{IMAP} Connection | ||
| 14831 | |||
| 14832 | Here's an example method that's more complex: | ||
| 14833 | |||
| 14834 | @example | ||
| 14835 | (nnimap "imap.gmail.com" | ||
| 14836 | (nnimap-inbox "INBOX") | ||
| 14837 | (nnimap-split-methods ,nnmail-split-methods) | ||
| 14838 | (nnimap-expunge t) | ||
| 14839 | (nnimap-stream 'ssl) | ||
| 14840 | (nnir-search-engine imap) | ||
| 14841 | (nnimap-expunge-inbox t)) | ||
| 14842 | @end example | ||
| 14843 | |||
| 14844 | @table @code | ||
| 14845 | @item nnimap-address | ||
| 14846 | The address of the server, like @samp{imap.gmail.com}. | ||
| 14847 | |||
| 14848 | @item nnimap-server-port | ||
| 14849 | If the server uses a non-standard port, that can be specified here. A | ||
| 14850 | typical port would be @samp{imap} or @samp{imaps}. | ||
| 14851 | |||
| 14852 | @item nnimap-stream | ||
| 14853 | How @code{nnimap} should connect to the server. Possible values are: | ||
| 14854 | |||
| 14855 | @table @code | ||
| 14856 | @item ssl | ||
| 14857 | This is the default, and this uses standard | ||
| 14858 | @acronym{TLS}/@acronym{SSL} connection. | ||
| 14859 | |||
| 14860 | @item network | ||
| 14861 | Non-encrypted and unsafe straight socket connection. | ||
| 14862 | |||
| 14863 | @item starttls | ||
| 14864 | Encrypted @acronym{STARTTLS} over the normal @acronym{IMAP} port. | ||
| 14865 | |||
| 14866 | @item shell | ||
| 14867 | If you need to tunnel via other systems to connect to the server, you | ||
| 14868 | can use this option, and customize @code{nnimap-shell-program} to be | ||
| 14869 | what you need. | ||
| 14870 | |||
| 14871 | @end table | ||
| 14872 | |||
| 14873 | @item nnimap-authenticator | ||
| 14874 | Some @acronym{IMAP} servers allow anonymous logins. In that case, | ||
| 14875 | this should be set to @code{anonymous}. | ||
| 14876 | |||
| 14877 | @item nnimap-streaming | ||
| 14878 | Virtually all @code{IMAP} server support fast streaming of data. If | ||
| 14879 | you have problems connecting to the server, try setting this to @code{nil}. | ||
| 14880 | |||
| 14881 | @end table | ||
| 14882 | |||
| 14883 | |||
| 14884 | @node Client-Side @acronym{IMAP} Splitting | ||
| 14885 | @subsection Client-Side @acronym{IMAP} Splitting | ||
| 14886 | |||
| 14887 | Many people prefer to do the sorting/splitting of mail into their mail | ||
| 14888 | boxes on the @acronym{IMAP} server. That way they don't have to | ||
| 14889 | download the mail they're not all that interested in. | ||
| 14890 | |||
| 14891 | If you do want to do client-side mail splitting, then the following | ||
| 14892 | variables are relevant: | ||
| 14893 | |||
| 14894 | @table @code | ||
| 14895 | @item nnimap-inbox | ||
| 14896 | This is the @acronym{IMAP} mail box that will be scanned for new mail. | ||
| 14897 | |||
| 14898 | @item nnimap-split-methods | ||
| 14899 | Uses the same syntax as @code{nnmail-split-methods} (@pxref{Splitting | ||
| 14900 | Mail}). | ||
| 14901 | |||
| 14902 | @end table | ||
| 14903 | |||
| 14904 | |||
| 14820 | @node Getting Mail | 14905 | @node Getting Mail |
| 14821 | @section Getting Mail | 14906 | @section Getting Mail |
| 14822 | @cindex reading mail | 14907 | @cindex reading mail |
| @@ -15375,10 +15460,7 @@ Get mail from a @acronym{IMAP} server. If you don't want to use | |||
| 15375 | @acronym{IMAP} as intended, as a network mail reading protocol (ie | 15460 | @acronym{IMAP} as intended, as a network mail reading protocol (ie |
| 15376 | with nnimap), for some reason or other, Gnus let you treat it similar | 15461 | with nnimap), for some reason or other, Gnus let you treat it similar |
| 15377 | to a @acronym{POP} server and fetches articles from a given | 15462 | to a @acronym{POP} server and fetches articles from a given |
| 15378 | @acronym{IMAP} mailbox. @xref{IMAP}, for more information. | 15463 | @acronym{IMAP} mailbox. @xref{Using @acronym{IMAP}}, for more information. |
| 15379 | |||
| 15380 | Note that for the Kerberos, GSSAPI, @acronym{TLS}/@acronym{SSL} and STARTTLS support you | ||
| 15381 | may need external programs and libraries, @xref{IMAP}. | ||
| 15382 | 15464 | ||
| 15383 | Keywords: | 15465 | Keywords: |
| 15384 | 15466 | ||
| @@ -15847,7 +15929,7 @@ after @code{save-excursion} and @code{save-restriction} in the example | |||
| 15847 | above. Also note that with the nnimap backend, message bodies will | 15929 | above. Also note that with the nnimap backend, message bodies will |
| 15848 | not be downloaded by default. You need to set | 15930 | not be downloaded by default. You need to set |
| 15849 | @code{nnimap-split-download-body} to @code{t} to do that | 15931 | @code{nnimap-split-download-body} to @code{t} to do that |
| 15850 | (@pxref{Splitting in IMAP}). | 15932 | (@pxref{Client-Side @acronym{IMAP} Splitting}). |
| 15851 | 15933 | ||
| 15852 | @item (! @var{func} @var{split}) | 15934 | @item (! @var{func} @var{split}) |
| 15853 | If the split is a list, and the first element is @code{!}, then | 15935 | If the split is a list, and the first element is @code{!}, then |
| @@ -16611,6 +16693,7 @@ Spool}). | |||
| 16611 | @end menu | 16693 | @end menu |
| 16612 | 16694 | ||
| 16613 | 16695 | ||
| 16696 | |||
| 16614 | @node Unix Mail Box | 16697 | @node Unix Mail Box |
| 16615 | @subsubsection Unix Mail Box | 16698 | @subsubsection Unix Mail Box |
| 16616 | @cindex nnmbox | 16699 | @cindex nnmbox |
| @@ -17736,739 +17819,6 @@ Put that in your @file{.emacs} file, and hitting links in W3-rendered | |||
| 17736 | follow the link. | 17819 | follow the link. |
| 17737 | 17820 | ||
| 17738 | 17821 | ||
| 17739 | @node IMAP | ||
| 17740 | @section IMAP | ||
| 17741 | @cindex nnimap | ||
| 17742 | @cindex @acronym{IMAP} | ||
| 17743 | |||
| 17744 | @acronym{IMAP} is a network protocol for reading mail (or news, or @dots{}), | ||
| 17745 | think of it as a modernized @acronym{NNTP}. Connecting to a @acronym{IMAP} | ||
| 17746 | server is much similar to connecting to a news server, you just | ||
| 17747 | specify the network address of the server. | ||
| 17748 | |||
| 17749 | @acronym{IMAP} has two properties. First, @acronym{IMAP} can do | ||
| 17750 | everything that @acronym{POP} can, it can hence be viewed as a | ||
| 17751 | @acronym{POP++}. Secondly, @acronym{IMAP} is a mail storage protocol, | ||
| 17752 | similar to @acronym{NNTP} being a news storage protocol---however, | ||
| 17753 | @acronym{IMAP} offers more features than @acronym{NNTP} because news | ||
| 17754 | is more or less read-only whereas mail is read-write. | ||
| 17755 | |||
| 17756 | If you want to use @acronym{IMAP} as a @acronym{POP++}, use an imap | ||
| 17757 | entry in @code{mail-sources}. With this, Gnus will fetch mails from | ||
| 17758 | the @acronym{IMAP} server and store them on the local disk. This is | ||
| 17759 | not the usage described in this section---@xref{Mail Sources}. | ||
| 17760 | |||
| 17761 | If you want to use @acronym{IMAP} as a mail storage protocol, use an nnimap | ||
| 17762 | entry in @code{gnus-secondary-select-methods}. With this, Gnus will | ||
| 17763 | manipulate mails stored on the @acronym{IMAP} server. This is the kind of | ||
| 17764 | usage explained in this section. | ||
| 17765 | |||
| 17766 | A server configuration in @file{~/.gnus.el} with a few @acronym{IMAP} | ||
| 17767 | servers might look something like the following. (Note that for | ||
| 17768 | @acronym{TLS}/@acronym{SSL}, you need external programs and libraries, | ||
| 17769 | see below.) | ||
| 17770 | |||
| 17771 | @lisp | ||
| 17772 | (setq gnus-secondary-select-methods | ||
| 17773 | '((nnimap "simpleserver") ; @r{no special configuration} | ||
| 17774 | ; @r{perhaps a ssh port forwarded server:} | ||
| 17775 | (nnimap "dolk" | ||
| 17776 | (nnimap-address "localhost") | ||
| 17777 | (nnimap-server-port 1430)) | ||
| 17778 | ; @r{a UW server running on localhost} | ||
| 17779 | (nnimap "barbar" | ||
| 17780 | (nnimap-server-port 143) | ||
| 17781 | (nnimap-address "localhost") | ||
| 17782 | (nnimap-list-pattern ("INBOX" "mail/*"))) | ||
| 17783 | ; @r{anonymous public cyrus server:} | ||
| 17784 | (nnimap "cyrus.andrew.cmu.edu" | ||
| 17785 | (nnimap-authenticator anonymous) | ||
| 17786 | (nnimap-list-pattern "archive.*") | ||
| 17787 | (nnimap-stream network)) | ||
| 17788 | ; @r{a ssl server on a non-standard port:} | ||
| 17789 | (nnimap "vic20" | ||
| 17790 | (nnimap-address "vic20.somewhere.com") | ||
| 17791 | (nnimap-server-port 9930) | ||
| 17792 | (nnimap-stream ssl)))) | ||
| 17793 | @end lisp | ||
| 17794 | |||
| 17795 | After defining the new server, you can subscribe to groups on the | ||
| 17796 | server using normal Gnus commands such as @kbd{U} in the Group Buffer | ||
| 17797 | (@pxref{Subscription Commands}) or via the Server Buffer | ||
| 17798 | (@pxref{Server Buffer}). | ||
| 17799 | |||
| 17800 | The following variables can be used to create a virtual @code{nnimap} | ||
| 17801 | server: | ||
| 17802 | |||
| 17803 | @table @code | ||
| 17804 | |||
| 17805 | @item nnimap-address | ||
| 17806 | @vindex nnimap-address | ||
| 17807 | |||
| 17808 | The address of the remote @acronym{IMAP} server. Defaults to the virtual | ||
| 17809 | server name if not specified. | ||
| 17810 | |||
| 17811 | @item nnimap-server-port | ||
| 17812 | @vindex nnimap-server-port | ||
| 17813 | Port on server to contact. Defaults to port 143, or 993 for @acronym{TLS}/@acronym{SSL}. | ||
| 17814 | |||
| 17815 | Note that this should be an integer, example server specification: | ||
| 17816 | |||
| 17817 | @lisp | ||
| 17818 | (nnimap "mail.server.com" | ||
| 17819 | (nnimap-server-port 4711)) | ||
| 17820 | @end lisp | ||
| 17821 | |||
| 17822 | @item nnimap-list-pattern | ||
| 17823 | @vindex nnimap-list-pattern | ||
| 17824 | String or list of strings of mailboxes to limit available groups to. | ||
| 17825 | This is used when the server has very many mailboxes and you're only | ||
| 17826 | interested in a few---some servers export your home directory via | ||
| 17827 | @acronym{IMAP}, you'll probably want to limit the mailboxes to those in | ||
| 17828 | @file{~/Mail/*} then. | ||
| 17829 | |||
| 17830 | The string can also be a cons of REFERENCE and the string as above, what | ||
| 17831 | REFERENCE is used for is server specific, but on the University of | ||
| 17832 | Washington server it's a directory that will be concatenated with the | ||
| 17833 | mailbox. | ||
| 17834 | |||
| 17835 | Example server specification: | ||
| 17836 | |||
| 17837 | @lisp | ||
| 17838 | (nnimap "mail.server.com" | ||
| 17839 | (nnimap-list-pattern ("INBOX" "Mail/*" "alt.sex.*" | ||
| 17840 | ("~friend/Mail/" . "list/*")))) | ||
| 17841 | @end lisp | ||
| 17842 | |||
| 17843 | @item nnimap-stream | ||
| 17844 | @vindex nnimap-stream | ||
| 17845 | The type of stream used to connect to your server. By default, nnimap | ||
| 17846 | will detect and automatically use all of the below, with the exception | ||
| 17847 | of @acronym{TLS}/@acronym{SSL}. (@acronym{IMAP} over | ||
| 17848 | @acronym{TLS}/@acronym{SSL} is being replaced by STARTTLS, which can | ||
| 17849 | be automatically detected, but it's not widely deployed yet.) | ||
| 17850 | |||
| 17851 | Example server specification: | ||
| 17852 | |||
| 17853 | @lisp | ||
| 17854 | (nnimap "mail.server.com" | ||
| 17855 | (nnimap-stream ssl)) | ||
| 17856 | @end lisp | ||
| 17857 | |||
| 17858 | Please note that the value of @code{nnimap-stream} is a symbol! | ||
| 17859 | |||
| 17860 | @itemize @bullet | ||
| 17861 | @item | ||
| 17862 | @dfn{gssapi:} Connect with GSSAPI (usually Kerberos 5). Requires the | ||
| 17863 | @samp{gsasl} or @samp{imtest} program. | ||
| 17864 | @item | ||
| 17865 | @dfn{kerberos4:} Connect with Kerberos 4. Requires the @samp{imtest} program. | ||
| 17866 | @item | ||
| 17867 | @dfn{starttls:} Connect via the STARTTLS extension (similar to | ||
| 17868 | @acronym{TLS}/@acronym{SSL}). Requires the external library @samp{starttls.el} and program | ||
| 17869 | @samp{starttls}. | ||
| 17870 | @item | ||
| 17871 | @dfn{tls:} Connect through @acronym{TLS}. Requires GNUTLS (the program | ||
| 17872 | @samp{gnutls-cli}). | ||
| 17873 | @item | ||
| 17874 | @dfn{ssl:} Connect through @acronym{SSL}. Requires OpenSSL (the program | ||
| 17875 | @samp{openssl}) or SSLeay (@samp{s_client}). | ||
| 17876 | @item | ||
| 17877 | @dfn{shell:} Use a shell command to start @acronym{IMAP} connection. | ||
| 17878 | @item | ||
| 17879 | @dfn{network:} Plain, TCP/IP network connection. | ||
| 17880 | @end itemize | ||
| 17881 | |||
| 17882 | @vindex imap-kerberos4-program | ||
| 17883 | The @samp{imtest} program is shipped with Cyrus IMAPD. If you're | ||
| 17884 | using @samp{imtest} from Cyrus IMAPD < 2.0.14 (which includes version | ||
| 17885 | 1.5.x and 1.6.x) you need to frob @code{imap-process-connection-type} | ||
| 17886 | to make @code{imap.el} use a pty instead of a pipe when communicating | ||
| 17887 | with @samp{imtest}. You will then suffer from a line length | ||
| 17888 | restrictions on @acronym{IMAP} commands, which might make Gnus seem to hang | ||
| 17889 | indefinitely if you have many articles in a mailbox. The variable | ||
| 17890 | @code{imap-kerberos4-program} contain parameters to pass to the imtest | ||
| 17891 | program. | ||
| 17892 | |||
| 17893 | For @acronym{TLS} connection, the @code{gnutls-cli} program from GNUTLS is | ||
| 17894 | needed. It is available from | ||
| 17895 | @uref{http://www.gnu.org/software/gnutls/}. | ||
| 17896 | |||
| 17897 | @vindex imap-gssapi-program | ||
| 17898 | This parameter specifies a list of command lines that invoke a GSSAPI | ||
| 17899 | authenticated @acronym{IMAP} stream in a subshell. They are tried | ||
| 17900 | sequentially until a connection is made, or the list has been | ||
| 17901 | exhausted. By default, @samp{gsasl} from GNU SASL, available from | ||
| 17902 | @uref{http://www.gnu.org/software/gsasl/}, and the @samp{imtest} | ||
| 17903 | program from Cyrus IMAPD (see @code{imap-kerberos4-program}), are | ||
| 17904 | tried. | ||
| 17905 | |||
| 17906 | @vindex imap-ssl-program | ||
| 17907 | For @acronym{SSL} connections, the OpenSSL program is available from | ||
| 17908 | @uref{http://www.openssl.org/}. OpenSSL was formerly known as SSLeay, | ||
| 17909 | and nnimap support it too---although the most recent versions of | ||
| 17910 | SSLeay, 0.9.x, are known to have serious bugs making it | ||
| 17911 | useless. Earlier versions, especially 0.8.x, of SSLeay are known to | ||
| 17912 | work. The variable @code{imap-ssl-program} contain parameters to pass | ||
| 17913 | to OpenSSL/SSLeay. | ||
| 17914 | |||
| 17915 | @vindex imap-shell-program | ||
| 17916 | @vindex imap-shell-host | ||
| 17917 | For @acronym{IMAP} connections using the @code{shell} stream, the | ||
| 17918 | variable @code{imap-shell-program} specify what program to call. Make | ||
| 17919 | sure nothing is interfering with the output of the program, e.g., don't | ||
| 17920 | forget to redirect the error output to the void. | ||
| 17921 | |||
| 17922 | @item nnimap-authenticator | ||
| 17923 | @vindex nnimap-authenticator | ||
| 17924 | |||
| 17925 | The authenticator used to connect to the server. By default, nnimap | ||
| 17926 | will use the most secure authenticator your server is capable of. | ||
| 17927 | |||
| 17928 | Example server specification: | ||
| 17929 | |||
| 17930 | @lisp | ||
| 17931 | (nnimap "mail.server.com" | ||
| 17932 | (nnimap-authenticator anonymous)) | ||
| 17933 | @end lisp | ||
| 17934 | |||
| 17935 | Please note that the value of @code{nnimap-authenticator} is a symbol! | ||
| 17936 | |||
| 17937 | @itemize @bullet | ||
| 17938 | @item | ||
| 17939 | @dfn{gssapi:} GSSAPI (usually kerberos 5) authentication. Requires | ||
| 17940 | external program @code{gsasl} or @code{imtest}. | ||
| 17941 | @item | ||
| 17942 | @dfn{kerberos4:} Kerberos 4 authentication. Requires external program | ||
| 17943 | @code{imtest}. | ||
| 17944 | @item | ||
| 17945 | @dfn{digest-md5:} Encrypted username/password via DIGEST-MD5. Requires | ||
| 17946 | external library @code{digest-md5.el}. | ||
| 17947 | @item | ||
| 17948 | @dfn{cram-md5:} Encrypted username/password via CRAM-MD5. | ||
| 17949 | @item | ||
| 17950 | @dfn{login:} Plain-text username/password via LOGIN. | ||
| 17951 | @item | ||
| 17952 | @dfn{anonymous:} Login as ``anonymous'', supplying your email address as password. | ||
| 17953 | @end itemize | ||
| 17954 | |||
| 17955 | @item nnimap-expunge-on-close | ||
| 17956 | @cindex expunging | ||
| 17957 | @vindex nnimap-expunge-on-close | ||
| 17958 | Unlike Parmenides the @acronym{IMAP} designers have decided things that | ||
| 17959 | don't exist actually do exist. More specifically, @acronym{IMAP} has | ||
| 17960 | this concept of marking articles @code{Deleted} which doesn't actually | ||
| 17961 | delete them, and this (marking them @code{Deleted}, that is) is what | ||
| 17962 | nnimap does when you delete an article in Gnus (with @kbd{B DEL} or | ||
| 17963 | similar). | ||
| 17964 | |||
| 17965 | Since the articles aren't really removed when we mark them with the | ||
| 17966 | @code{Deleted} flag we'll need a way to actually delete them. Feel like | ||
| 17967 | running in circles yet? | ||
| 17968 | |||
| 17969 | Traditionally, nnimap has removed all articles marked as @code{Deleted} | ||
| 17970 | when closing a mailbox but this is now configurable by this server | ||
| 17971 | variable. | ||
| 17972 | |||
| 17973 | The possible options are: | ||
| 17974 | |||
| 17975 | @table @code | ||
| 17976 | |||
| 17977 | @item always | ||
| 17978 | The default behavior, delete all articles marked as ``Deleted'' when | ||
| 17979 | closing a mailbox. | ||
| 17980 | @item never | ||
| 17981 | Never actually delete articles. Currently there is no way of showing | ||
| 17982 | the articles marked for deletion in nnimap, but other @acronym{IMAP} clients | ||
| 17983 | may allow you to do this. If you ever want to run the EXPUNGE command | ||
| 17984 | manually, @xref{Expunging mailboxes}. | ||
| 17985 | @item ask | ||
| 17986 | When closing mailboxes, nnimap will ask if you wish to expunge deleted | ||
| 17987 | articles or not. | ||
| 17988 | |||
| 17989 | @end table | ||
| 17990 | |||
| 17991 | @item nnimap-importantize-dormant | ||
| 17992 | @vindex nnimap-importantize-dormant | ||
| 17993 | |||
| 17994 | If non-@code{nil} (the default), marks dormant articles as ticked (as | ||
| 17995 | well), for other @acronym{IMAP} clients. Within Gnus, dormant articles will | ||
| 17996 | naturally still (only) be marked as dormant. This is to make dormant | ||
| 17997 | articles stand out, just like ticked articles, in other @acronym{IMAP} | ||
| 17998 | clients. (In other words, Gnus has two ``Tick'' marks and @acronym{IMAP} | ||
| 17999 | has only one.) | ||
| 18000 | |||
| 18001 | Probably the only reason for frobbing this would be if you're trying | ||
| 18002 | enable per-user persistent dormant flags, using something like: | ||
| 18003 | |||
| 18004 | @lisp | ||
| 18005 | (setcdr (assq 'dormant nnimap-mark-to-flag-alist) | ||
| 18006 | (format "gnus-dormant-%s" (user-login-name))) | ||
| 18007 | (setcdr (assq 'dormant nnimap-mark-to-predicate-alist) | ||
| 18008 | (format "KEYWORD gnus-dormant-%s" (user-login-name))) | ||
| 18009 | @end lisp | ||
| 18010 | |||
| 18011 | In this case, you would not want the per-user dormant flag showing up | ||
| 18012 | as ticked for other users. | ||
| 18013 | |||
| 18014 | @item nnimap-expunge-search-string | ||
| 18015 | @cindex expunging | ||
| 18016 | @vindex nnimap-expunge-search-string | ||
| 18017 | @cindex expiring @acronym{IMAP} mail | ||
| 18018 | |||
| 18019 | This variable contain the @acronym{IMAP} search command sent to server when | ||
| 18020 | searching for articles eligible for expiring. The default is | ||
| 18021 | @code{"UID %s NOT SINCE %s"}, where the first @code{%s} is replaced by | ||
| 18022 | UID set and the second @code{%s} is replaced by a date. | ||
| 18023 | |||
| 18024 | Probably the only useful value to change this to is | ||
| 18025 | @code{"UID %s NOT SENTSINCE %s"}, which makes nnimap use the Date: in | ||
| 18026 | messages instead of the internal article date. See section 6.4.4 of | ||
| 18027 | RFC 2060 for more information on valid strings. | ||
| 18028 | |||
| 18029 | However, if @code{nnimap-search-uids-not-since-is-evil} | ||
| 18030 | is true, this variable has no effect since the search logic | ||
| 18031 | is reversed, as described below. | ||
| 18032 | |||
| 18033 | @item nnimap-authinfo-file | ||
| 18034 | @vindex nnimap-authinfo-file | ||
| 18035 | |||
| 18036 | A file containing credentials used to log in on servers. The format is | ||
| 18037 | (almost) the same as the @code{ftp} @file{~/.netrc} file. See the | ||
| 18038 | variable @code{nntp-authinfo-file} for exact syntax; also see | ||
| 18039 | @ref{NNTP}. An example of an .authinfo line for an IMAP server, is: | ||
| 18040 | |||
| 18041 | @example | ||
| 18042 | machine students.uio.no login larsi password geheimnis port imap | ||
| 18043 | @end example | ||
| 18044 | |||
| 18045 | Note that it should be @code{port imap}, or @code{port 143}, if you | ||
| 18046 | use a @code{nnimap-stream} of @code{tls} or @code{ssl}, even if the | ||
| 18047 | actual port number used is port 993 for secured IMAP. For | ||
| 18048 | convenience, Gnus will accept @code{port imaps} as a synonym of | ||
| 18049 | @code{port imap}. | ||
| 18050 | |||
| 18051 | @item nnimap-need-unselect-to-notice-new-mail | ||
| 18052 | @vindex nnimap-need-unselect-to-notice-new-mail | ||
| 18053 | |||
| 18054 | Unselect mailboxes before looking for new mail in them. Some servers | ||
| 18055 | seem to need this under some circumstances; it was reported that | ||
| 18056 | Courier 1.7.1 did. | ||
| 18057 | |||
| 18058 | @item nnimap-nov-is-evil | ||
| 18059 | @vindex nnimap-nov-is-evil | ||
| 18060 | @cindex Courier @acronym{IMAP} server | ||
| 18061 | @cindex @acronym{NOV} | ||
| 18062 | |||
| 18063 | Never generate or use a local @acronym{NOV} database. Defaults to the | ||
| 18064 | value of @code{gnus-agent}. | ||
| 18065 | |||
| 18066 | Using a @acronym{NOV} database usually makes header fetching much | ||
| 18067 | faster, but it uses the @code{UID SEARCH UID} command, which is very | ||
| 18068 | slow on some servers (notably some versions of Courier). Since the Gnus | ||
| 18069 | Agent caches the information in the @acronym{NOV} database without using | ||
| 18070 | the slow command, this variable defaults to true if the Agent is in use, | ||
| 18071 | and false otherwise. | ||
| 18072 | |||
| 18073 | @item nnimap-search-uids-not-since-is-evil | ||
| 18074 | @vindex nnimap-search-uids-not-since-is-evil | ||
| 18075 | @cindex Courier @acronym{IMAP} server | ||
| 18076 | @cindex expiring @acronym{IMAP} mail | ||
| 18077 | |||
| 18078 | Avoid the @code{UID SEARCH UID @var{message numbers} NOT SINCE | ||
| 18079 | @var{date}} command, which is slow on some @acronym{IMAP} servers | ||
| 18080 | (notably, some versions of Courier). Instead, use @code{UID SEARCH SINCE | ||
| 18081 | @var{date}} and prune the list of expirable articles within Gnus. | ||
| 18082 | |||
| 18083 | When Gnus expires your mail (@pxref{Expiring Mail}), it starts with a | ||
| 18084 | list of expirable articles and asks the IMAP server questions like ``Of | ||
| 18085 | these articles, which ones are older than a week?'' While this seems | ||
| 18086 | like a perfectly reasonable question, some IMAP servers take a long time | ||
| 18087 | to answer it, since they seemingly go looking into every old article to | ||
| 18088 | see if it is one of the expirable ones. Curiously, the question ``Of | ||
| 18089 | @emph{all} articles, which ones are newer than a week?'' seems to be | ||
| 18090 | much faster to answer, so setting this variable causes Gnus to ask this | ||
| 18091 | question and figure out the answer to the real question itself. | ||
| 18092 | |||
| 18093 | This problem can really sneak up on you: when you first configure Gnus, | ||
| 18094 | everything works fine, but once you accumulate a couple thousand | ||
| 18095 | messages, you start cursing Gnus for being so slow. On the other hand, | ||
| 18096 | if you get a lot of email within a week, setting this variable will | ||
| 18097 | cause a lot of network traffic between Gnus and the IMAP server. | ||
| 18098 | |||
| 18099 | @item nnimap-logout-timeout | ||
| 18100 | @vindex nnimap-logout-timeout | ||
| 18101 | |||
| 18102 | There is a case where a connection to a @acronym{IMAP} server is unable | ||
| 18103 | to close, when connecting to the server via a certain kind of network, | ||
| 18104 | e.g. @acronym{VPN}. In that case, it will be observed that a connection | ||
| 18105 | between Emacs and the local network looks alive even if the server has | ||
| 18106 | closed a connection for some reason (typically, a timeout). | ||
| 18107 | Consequently, Emacs continues waiting for a response from the server for | ||
| 18108 | the @code{LOGOUT} command that Emacs sent, or hangs in other words. If | ||
| 18109 | you are in such a network, setting this variable to a number of seconds | ||
| 18110 | will be helpful. If it is set, a hung connection will be closed | ||
| 18111 | forcibly, after this number of seconds from the time Emacs sends the | ||
| 18112 | @code{LOGOUT} command. It should not be too small value but too large | ||
| 18113 | value will be inconvenient too. Perhaps the value 1.0 will be a good | ||
| 18114 | candidate but it might be worth trying some other values. | ||
| 18115 | |||
| 18116 | Example server specification: | ||
| 18117 | |||
| 18118 | @lisp | ||
| 18119 | (nnimap "mail.server.com" | ||
| 18120 | (nnimap-logout-timeout 1.0)) | ||
| 18121 | @end lisp | ||
| 18122 | |||
| 18123 | @end table | ||
| 18124 | |||
| 18125 | @menu | ||
| 18126 | * Splitting in IMAP:: Splitting mail with nnimap. | ||
| 18127 | * Expiring in IMAP:: Expiring mail with nnimap. | ||
| 18128 | * Editing IMAP ACLs:: Limiting/enabling other users access to a mailbox. | ||
| 18129 | * Expunging mailboxes:: Equivalent of a ``compress mailbox'' button. | ||
| 18130 | * A note on namespaces:: How to (not) use @acronym{IMAP} namespace in Gnus. | ||
| 18131 | * Debugging IMAP:: What to do when things don't work. | ||
| 18132 | @end menu | ||
| 18133 | |||
| 18134 | |||
| 18135 | |||
| 18136 | @node Splitting in IMAP | ||
| 18137 | @subsection Splitting in IMAP | ||
| 18138 | @cindex splitting imap mail | ||
| 18139 | |||
| 18140 | Splitting is something Gnus users have loved and used for years, and now | ||
| 18141 | the rest of the world is catching up. Yeah, dream on, not many | ||
| 18142 | @acronym{IMAP} servers have server side splitting and those that have | ||
| 18143 | splitting seem to use some non-standard protocol. This means that | ||
| 18144 | @acronym{IMAP} support for Gnus has to do its own splitting. | ||
| 18145 | |||
| 18146 | And it does. | ||
| 18147 | |||
| 18148 | (Incidentally, people seem to have been dreaming on, and Sieve has | ||
| 18149 | gaining a market share and is supported by several IMAP servers. | ||
| 18150 | Fortunately, Gnus support it too, @xref{Sieve Commands}.) | ||
| 18151 | |||
| 18152 | Here are the variables of interest: | ||
| 18153 | |||
| 18154 | @table @code | ||
| 18155 | |||
| 18156 | @item nnimap-split-crosspost | ||
| 18157 | @cindex splitting, crosspost | ||
| 18158 | @cindex crosspost | ||
| 18159 | @vindex nnimap-split-crosspost | ||
| 18160 | |||
| 18161 | If non-@code{nil}, do crossposting if several split methods match the | ||
| 18162 | mail. If @code{nil}, the first match in @code{nnimap-split-rule} | ||
| 18163 | found will be used. | ||
| 18164 | |||
| 18165 | Nnmail equivalent: @code{nnmail-crosspost}. | ||
| 18166 | |||
| 18167 | @item nnimap-split-inbox | ||
| 18168 | @cindex splitting, inbox | ||
| 18169 | @cindex inbox | ||
| 18170 | @vindex nnimap-split-inbox | ||
| 18171 | |||
| 18172 | A string or a list of strings that gives the name(s) of @acronym{IMAP} | ||
| 18173 | mailboxes to split from. Defaults to @code{nil}, which means that | ||
| 18174 | splitting is disabled! | ||
| 18175 | |||
| 18176 | @lisp | ||
| 18177 | (setq nnimap-split-inbox | ||
| 18178 | '("INBOX" ("~/friend/Mail" . "lists/*") "lists.imap")) | ||
| 18179 | @end lisp | ||
| 18180 | |||
| 18181 | No nnmail equivalent. | ||
| 18182 | |||
| 18183 | @item nnimap-split-rule | ||
| 18184 | @cindex splitting, rules | ||
| 18185 | @vindex nnimap-split-rule | ||
| 18186 | |||
| 18187 | New mail found in @code{nnimap-split-inbox} will be split according to | ||
| 18188 | this variable. | ||
| 18189 | |||
| 18190 | This variable contains a list of lists, where the first element in the | ||
| 18191 | sublist gives the name of the @acronym{IMAP} mailbox to move articles | ||
| 18192 | matching the regexp in the second element in the sublist. Got that? | ||
| 18193 | Neither did I, we need examples. | ||
| 18194 | |||
| 18195 | @lisp | ||
| 18196 | (setq nnimap-split-rule | ||
| 18197 | '(("INBOX.nnimap" | ||
| 18198 | "^Sender: owner-nnimap@@vic20.globalcom.se") | ||
| 18199 | ("INBOX.junk" "^Subject:.*MAKE MONEY") | ||
| 18200 | ("INBOX.private" ""))) | ||
| 18201 | @end lisp | ||
| 18202 | |||
| 18203 | This will put all articles from the nnimap mailing list into mailbox | ||
| 18204 | INBOX.nnimap, all articles containing MAKE MONEY in the Subject: line | ||
| 18205 | into INBOX.junk and everything else in INBOX.private. | ||
| 18206 | |||
| 18207 | The first string may contain @samp{\\1} forms, like the ones used by | ||
| 18208 | replace-match to insert sub-expressions from the matched text. For | ||
| 18209 | instance: | ||
| 18210 | |||
| 18211 | @lisp | ||
| 18212 | ("INBOX.lists.\\1" "^Sender: owner-\\([a-z-]+\\)@@") | ||
| 18213 | @end lisp | ||
| 18214 | |||
| 18215 | The first element can also be the symbol @code{junk} to indicate that | ||
| 18216 | matching messages should simply be deleted. Use with care. | ||
| 18217 | |||
| 18218 | The second element can also be a function. In that case, it will be | ||
| 18219 | called with the first element of the rule as the argument, in a buffer | ||
| 18220 | containing the headers of the article. It should return a | ||
| 18221 | non-@code{nil} value if it thinks that the mail belongs in that group. | ||
| 18222 | |||
| 18223 | Nnmail users might recollect that the last regexp had to be empty to | ||
| 18224 | match all articles (like in the example above). This is not required in | ||
| 18225 | nnimap. Articles not matching any of the regexps will not be moved out | ||
| 18226 | of your inbox. (This might affect performance if you keep lots of | ||
| 18227 | unread articles in your inbox, since the splitting code would go over | ||
| 18228 | them every time you fetch new mail.) | ||
| 18229 | |||
| 18230 | These rules are processed from the beginning of the alist toward the | ||
| 18231 | end. The first rule to make a match will ``win'', unless you have | ||
| 18232 | crossposting enabled. In that case, all matching rules will ``win''. | ||
| 18233 | |||
| 18234 | This variable can also have a function as its value, the function will | ||
| 18235 | be called with the headers narrowed and should return a group where it | ||
| 18236 | thinks the article should be split to. See @code{nnimap-split-fancy}. | ||
| 18237 | |||
| 18238 | The splitting code tries to create mailboxes if it needs to. | ||
| 18239 | |||
| 18240 | To allow for different split rules on different virtual servers, and | ||
| 18241 | even different split rules in different inboxes on the same server, | ||
| 18242 | the syntax of this variable have been extended along the lines of: | ||
| 18243 | |||
| 18244 | @lisp | ||
| 18245 | (setq nnimap-split-rule | ||
| 18246 | '(("my1server" (".*" (("ding" "ding@@gnus.org") | ||
| 18247 | ("junk" "From:.*Simon")))) | ||
| 18248 | ("my2server" ("INBOX" nnimap-split-fancy)) | ||
| 18249 | ("my[34]server" (".*" (("private" "To:.*Simon") | ||
| 18250 | ("junk" my-junk-func)))))) | ||
| 18251 | @end lisp | ||
| 18252 | |||
| 18253 | The virtual server name is in fact a regexp, so that the same rules | ||
| 18254 | may apply to several servers. In the example, the servers | ||
| 18255 | @code{my3server} and @code{my4server} both use the same rules. | ||
| 18256 | Similarly, the inbox string is also a regexp. The actual splitting | ||
| 18257 | rules are as before, either a function, or a list with group/regexp or | ||
| 18258 | group/function elements. | ||
| 18259 | |||
| 18260 | Nnmail equivalent: @code{nnmail-split-methods}. | ||
| 18261 | |||
| 18262 | @item nnimap-split-predicate | ||
| 18263 | @cindex splitting | ||
| 18264 | @vindex nnimap-split-predicate | ||
| 18265 | |||
| 18266 | Mail matching this predicate in @code{nnimap-split-inbox} will be | ||
| 18267 | split, it is a string and the default is @samp{UNSEEN UNDELETED}. | ||
| 18268 | |||
| 18269 | This might be useful if you use another @acronym{IMAP} client to read mail in | ||
| 18270 | your inbox but would like Gnus to split all articles in the inbox | ||
| 18271 | regardless of readedness. Then you might change this to | ||
| 18272 | @samp{UNDELETED}. | ||
| 18273 | |||
| 18274 | @item nnimap-split-fancy | ||
| 18275 | @cindex splitting, fancy | ||
| 18276 | @findex nnimap-split-fancy | ||
| 18277 | @vindex nnimap-split-fancy | ||
| 18278 | |||
| 18279 | It's possible to set @code{nnimap-split-rule} to | ||
| 18280 | @code{nnmail-split-fancy} if you want to use fancy | ||
| 18281 | splitting. @xref{Fancy Mail Splitting}. | ||
| 18282 | |||
| 18283 | However, to be able to have different fancy split rules for nnmail and | ||
| 18284 | nnimap back ends you can set @code{nnimap-split-rule} to | ||
| 18285 | @code{nnimap-split-fancy} and define the nnimap specific fancy split | ||
| 18286 | rule in @code{nnimap-split-fancy}. | ||
| 18287 | |||
| 18288 | Example: | ||
| 18289 | |||
| 18290 | @lisp | ||
| 18291 | (setq nnimap-split-rule 'nnimap-split-fancy | ||
| 18292 | nnimap-split-fancy ...) | ||
| 18293 | @end lisp | ||
| 18294 | |||
| 18295 | Nnmail equivalent: @code{nnmail-split-fancy}. | ||
| 18296 | |||
| 18297 | @item nnimap-split-download-body | ||
| 18298 | @findex nnimap-split-download-body | ||
| 18299 | @vindex nnimap-split-download-body | ||
| 18300 | |||
| 18301 | Set to non-@code{nil} to download entire articles during splitting. | ||
| 18302 | This is generally not required, and will slow things down | ||
| 18303 | considerably. You may need it if you want to use an advanced | ||
| 18304 | splitting function that analyzes the body to split the article. | ||
| 18305 | |||
| 18306 | @end table | ||
| 18307 | |||
| 18308 | @node Expiring in IMAP | ||
| 18309 | @subsection Expiring in IMAP | ||
| 18310 | @cindex expiring @acronym{IMAP} mail | ||
| 18311 | |||
| 18312 | Even though @code{nnimap} is not a proper @code{nnmail} derived back | ||
| 18313 | end, it supports most features in regular expiring (@pxref{Expiring | ||
| 18314 | Mail}). Unlike splitting in @acronym{IMAP} (@pxref{Splitting in | ||
| 18315 | IMAP}) it does not clone the @code{nnmail} variables (i.e., creating | ||
| 18316 | @var{nnimap-expiry-wait}) but reuse the @code{nnmail} variables. What | ||
| 18317 | follows below are the variables used by the @code{nnimap} expiry | ||
| 18318 | process. | ||
| 18319 | |||
| 18320 | A note on how the expire mark is stored on the @acronym{IMAP} server is | ||
| 18321 | appropriate here as well. The expire mark is translated into a | ||
| 18322 | @code{imap} client specific mark, @code{gnus-expire}, and stored on the | ||
| 18323 | message. This means that likely only Gnus will understand and treat | ||
| 18324 | the @code{gnus-expire} mark properly, although other clients may allow | ||
| 18325 | you to view client specific flags on the message. It also means that | ||
| 18326 | your server must support permanent storage of client specific flags on | ||
| 18327 | messages. Most do, fortunately. | ||
| 18328 | |||
| 18329 | If expiring @acronym{IMAP} mail seems very slow, try setting the server | ||
| 18330 | variable @code{nnimap-search-uids-not-since-is-evil}. | ||
| 18331 | |||
| 18332 | @table @code | ||
| 18333 | |||
| 18334 | @item nnmail-expiry-wait | ||
| 18335 | @item nnmail-expiry-wait-function | ||
| 18336 | |||
| 18337 | These variables are fully supported. The expire value can be a | ||
| 18338 | number, the symbol @code{immediate} or @code{never}. | ||
| 18339 | |||
| 18340 | @item nnmail-expiry-target | ||
| 18341 | |||
| 18342 | This variable is supported, and internally implemented by calling the | ||
| 18343 | @code{nnmail} functions that handle this. It contains an optimization | ||
| 18344 | that if the destination is a @acronym{IMAP} group on the same server, the | ||
| 18345 | article is copied instead of appended (that is, uploaded again). | ||
| 18346 | |||
| 18347 | @end table | ||
| 18348 | |||
| 18349 | @node Editing IMAP ACLs | ||
| 18350 | @subsection Editing IMAP ACLs | ||
| 18351 | @cindex editing imap acls | ||
| 18352 | @cindex Access Control Lists | ||
| 18353 | @cindex Editing @acronym{IMAP} ACLs | ||
| 18354 | @kindex G l (Group) | ||
| 18355 | @findex gnus-group-nnimap-edit-acl | ||
| 18356 | |||
| 18357 | ACL stands for Access Control List. ACLs are used in @acronym{IMAP} for | ||
| 18358 | limiting (or enabling) other users access to your mail boxes. Not all | ||
| 18359 | @acronym{IMAP} servers support this, this function will give an error if it | ||
| 18360 | doesn't. | ||
| 18361 | |||
| 18362 | To edit an ACL for a mailbox, type @kbd{G l} | ||
| 18363 | (@code{gnus-group-edit-nnimap-acl}) and you'll be presented with an ACL | ||
| 18364 | editing window with detailed instructions. | ||
| 18365 | |||
| 18366 | Some possible uses: | ||
| 18367 | |||
| 18368 | @itemize @bullet | ||
| 18369 | @item | ||
| 18370 | Giving ``anyone'' the ``lrs'' rights (lookup, read, keep seen/unseen flags) | ||
| 18371 | on your mailing list mailboxes enables other users on the same server to | ||
| 18372 | follow the list without subscribing to it. | ||
| 18373 | @item | ||
| 18374 | At least with the Cyrus server, you are required to give the user | ||
| 18375 | ``anyone'' posting ("p") capabilities to have ``plussing'' work (that is, | ||
| 18376 | mail sent to user+mailbox@@domain ending up in the @acronym{IMAP} mailbox | ||
| 18377 | INBOX.mailbox). | ||
| 18378 | @end itemize | ||
| 18379 | |||
| 18380 | @node Expunging mailboxes | ||
| 18381 | @subsection Expunging mailboxes | ||
| 18382 | @cindex expunging | ||
| 18383 | |||
| 18384 | @cindex expunge | ||
| 18385 | @cindex manual expunging | ||
| 18386 | @kindex G x (Group) | ||
| 18387 | @findex gnus-group-expunge-group | ||
| 18388 | |||
| 18389 | If you're using the @code{never} setting of @code{nnimap-expunge-on-close}, | ||
| 18390 | you may want the option of expunging all deleted articles in a mailbox | ||
| 18391 | manually. This is exactly what @kbd{G x} does. | ||
| 18392 | |||
| 18393 | Currently there is no way of showing deleted articles, you can just | ||
| 18394 | delete them. | ||
| 18395 | |||
| 18396 | @node A note on namespaces | ||
| 18397 | @subsection A note on namespaces | ||
| 18398 | @cindex IMAP namespace | ||
| 18399 | @cindex namespaces | ||
| 18400 | |||
| 18401 | The @acronym{IMAP} protocol has a concept called namespaces, described | ||
| 18402 | by the following text in the RFC2060: | ||
| 18403 | |||
| 18404 | @display | ||
| 18405 | 5.1.2. Mailbox Namespace Naming Convention | ||
| 18406 | |||
| 18407 | By convention, the first hierarchical element of any mailbox name | ||
| 18408 | which begins with "#" identifies the "namespace" of the remainder of | ||
| 18409 | the name. This makes it possible to disambiguate between different | ||
| 18410 | types of mailbox stores, each of which have their own namespaces. | ||
| 18411 | |||
| 18412 | For example, implementations which offer access to USENET | ||
| 18413 | newsgroups MAY use the "#news" namespace to partition the USENET | ||
| 18414 | newsgroup namespace from that of other mailboxes. Thus, the | ||
| 18415 | comp.mail.misc newsgroup would have an mailbox name of | ||
| 18416 | "#news.comp.mail.misc", and the name "comp.mail.misc" could refer | ||
| 18417 | to a different object (e.g. a user's private mailbox). | ||
| 18418 | @end display | ||
| 18419 | |||
| 18420 | While there is nothing in this text that warrants concern for the | ||
| 18421 | @acronym{IMAP} implementation in Gnus, some servers use namespace | ||
| 18422 | prefixes in a way that does not work with how Gnus uses mailbox names. | ||
| 18423 | |||
| 18424 | Specifically, University of Washington's @acronym{IMAP} server uses | ||
| 18425 | mailbox names like @code{#driver.mbx/read-mail} which are valid only | ||
| 18426 | in the @sc{create} and @sc{append} commands. After the mailbox is | ||
| 18427 | created (or a messages is appended to a mailbox), it must be accessed | ||
| 18428 | without the namespace prefix, i.e. @code{read-mail}. Since Gnus do | ||
| 18429 | not make it possible for the user to guarantee that user entered | ||
| 18430 | mailbox names will only be used with the CREATE and APPEND commands, | ||
| 18431 | you should simply not use the namespace prefixed mailbox names in | ||
| 18432 | Gnus. | ||
| 18433 | |||
| 18434 | See the UoW IMAPD documentation for the @code{#driver.*/} prefix | ||
| 18435 | for more information on how to use the prefixes. They are a power | ||
| 18436 | tool and should be used only if you are sure what the effects are. | ||
| 18437 | |||
| 18438 | @node Debugging IMAP | ||
| 18439 | @subsection Debugging IMAP | ||
| 18440 | @cindex IMAP debugging | ||
| 18441 | @cindex protocol dump (IMAP) | ||
| 18442 | |||
| 18443 | @acronym{IMAP} is a complex protocol, more so than @acronym{NNTP} or | ||
| 18444 | @acronym{POP3}. Implementation bugs are not unlikely, and we do our | ||
| 18445 | best to fix them right away. If you encounter odd behavior, chances | ||
| 18446 | are that either the server or Gnus is buggy. | ||
| 18447 | |||
| 18448 | If you are familiar with network protocols in general, you will | ||
| 18449 | probably be able to extract some clues from the protocol dump of the | ||
| 18450 | exchanges between Gnus and the server. Even if you are not familiar | ||
| 18451 | with network protocols, when you include the protocol dump in | ||
| 18452 | @acronym{IMAP}-related bug reports you are helping us with data | ||
| 18453 | critical to solving the problem. Therefore, we strongly encourage you | ||
| 18454 | to include the protocol dump when reporting IMAP bugs in Gnus. | ||
| 18455 | |||
| 18456 | |||
| 18457 | @vindex imap-log | ||
| 18458 | Because the protocol dump, when enabled, generates lots of data, it is | ||
| 18459 | disabled by default. You can enable it by setting @code{imap-log} as | ||
| 18460 | follows: | ||
| 18461 | |||
| 18462 | @lisp | ||
| 18463 | (setq imap-log t) | ||
| 18464 | @end lisp | ||
| 18465 | |||
| 18466 | This instructs the @code{imap.el} package to log any exchanges with | ||
| 18467 | the server. The log is stored in the buffer @samp{*imap-log*}. Look | ||
| 18468 | for error messages, which sometimes are tagged with the keyword | ||
| 18469 | @code{BAD}---but when submitting a bug, make sure to include all the | ||
| 18470 | data. | ||
| 18471 | |||
| 18472 | @node Other Sources | 17822 | @node Other Sources |
| 18473 | @section Other Sources | 17823 | @section Other Sources |
| 18474 | 17824 | ||
| @@ -22381,7 +21731,6 @@ four days, Gnus will decay the scores four times, for instance. | |||
| 22381 | * Highlighting and Menus:: Making buffers look all nice and cozy. | 21731 | * Highlighting and Menus:: Making buffers look all nice and cozy. |
| 22382 | * Buttons:: Get tendinitis in ten easy steps! | 21732 | * Buttons:: Get tendinitis in ten easy steps! |
| 22383 | * Daemons:: Gnus can do things behind your back. | 21733 | * Daemons:: Gnus can do things behind your back. |
| 22384 | * NoCeM:: How to avoid spam and other fatty foods. | ||
| 22385 | * Undo:: Some actions can be undone. | 21734 | * Undo:: Some actions can be undone. |
| 22386 | * Predicate Specifiers:: Specifying predicates. | 21735 | * Predicate Specifiers:: Specifying predicates. |
| 22387 | * Moderation:: What to do if you're a moderator. | 21736 | * Moderation:: What to do if you're a moderator. |
| @@ -23400,13 +22749,12 @@ your @file{~/.gnus.el} file: | |||
| 23400 | (gnus-demon-add-handler 'gnus-demon-close-connections 30 t) | 22749 | (gnus-demon-add-handler 'gnus-demon-close-connections 30 t) |
| 23401 | @end lisp | 22750 | @end lisp |
| 23402 | 22751 | ||
| 23403 | @findex gnus-demon-add-nocem | ||
| 23404 | @findex gnus-demon-add-scanmail | 22752 | @findex gnus-demon-add-scanmail |
| 23405 | @findex gnus-demon-add-rescan | 22753 | @findex gnus-demon-add-rescan |
| 23406 | @findex gnus-demon-add-scan-timestamps | 22754 | @findex gnus-demon-add-scan-timestamps |
| 23407 | @findex gnus-demon-add-disconnection | 22755 | @findex gnus-demon-add-disconnection |
| 23408 | Some ready-made functions to do this have been created: | 22756 | Some ready-made functions to do this have been created: |
| 23409 | @code{gnus-demon-add-nocem}, @code{gnus-demon-add-disconnection}, | 22757 | @code{gnus-demon-add-disconnection}, |
| 23410 | @code{gnus-demon-add-nntp-close-connection}, | 22758 | @code{gnus-demon-add-nntp-close-connection}, |
| 23411 | @code{gnus-demon-add-scan-timestamps}, @code{gnus-demon-add-rescan}, and | 22759 | @code{gnus-demon-add-scan-timestamps}, @code{gnus-demon-add-rescan}, and |
| 23412 | @code{gnus-demon-add-scanmail}. Just put those functions in your | 22760 | @code{gnus-demon-add-scanmail}. Just put those functions in your |
| @@ -23425,152 +22773,6 @@ is a sure-fire way of getting booted off any respectable system. So | |||
| 23425 | behave. | 22773 | behave. |
| 23426 | 22774 | ||
| 23427 | 22775 | ||
| 23428 | @node NoCeM | ||
| 23429 | @section NoCeM | ||
| 23430 | @cindex nocem | ||
| 23431 | @cindex spam | ||
| 23432 | |||
| 23433 | @dfn{Spamming} is posting the same article lots and lots of times. | ||
| 23434 | Spamming is bad. Spamming is evil. | ||
| 23435 | |||
| 23436 | Spamming is usually canceled within a day or so by various anti-spamming | ||
| 23437 | agencies. These agencies usually also send out @dfn{NoCeM} messages. | ||
| 23438 | NoCeM is pronounced ``no see-'em'', and means what the name | ||
| 23439 | implies---these are messages that make the offending articles, like, go | ||
| 23440 | away. | ||
| 23441 | |||
| 23442 | What use are these NoCeM messages if the articles are canceled anyway? | ||
| 23443 | Some sites do not honor cancel messages and some sites just honor cancels | ||
| 23444 | from a select few people. Then you may wish to make use of the NoCeM | ||
| 23445 | messages, which are distributed in the newsgroups | ||
| 23446 | @samp{news.lists.filters}, @samp{alt.nocem.misc}, etc. | ||
| 23447 | |||
| 23448 | Gnus can read and parse the messages in this group automatically, and | ||
| 23449 | this will make spam disappear. | ||
| 23450 | |||
| 23451 | There are some variables to customize, of course: | ||
| 23452 | |||
| 23453 | @table @code | ||
| 23454 | @item gnus-use-nocem | ||
| 23455 | @vindex gnus-use-nocem | ||
| 23456 | Set this variable to @code{t} to set the ball rolling. It is @code{nil} | ||
| 23457 | by default. | ||
| 23458 | |||
| 23459 | You can also set this variable to a positive number as a group level. | ||
| 23460 | In that case, Gnus scans NoCeM messages when checking new news if this | ||
| 23461 | value is not exceeding a group level that you specify as the prefix | ||
| 23462 | argument to some commands, e.g. @code{gnus}, | ||
| 23463 | @code{gnus-group-get-new-news}, etc. Otherwise, Gnus does not scan | ||
| 23464 | NoCeM messages if you specify a group level that is smaller than this | ||
| 23465 | value to those commands. For example, if you use 1 or 2 on the mail | ||
| 23466 | groups and the levels on the news groups remain the default, 3 is the | ||
| 23467 | best choice. | ||
| 23468 | |||
| 23469 | @item gnus-nocem-groups | ||
| 23470 | @vindex gnus-nocem-groups | ||
| 23471 | Gnus will look for NoCeM messages in the groups in this list. The | ||
| 23472 | default is | ||
| 23473 | @lisp | ||
| 23474 | ("news.lists.filters" "alt.nocem.misc") | ||
| 23475 | @end lisp | ||
| 23476 | |||
| 23477 | @item gnus-nocem-issuers | ||
| 23478 | @vindex gnus-nocem-issuers | ||
| 23479 | There are many people issuing NoCeM messages. This list says what | ||
| 23480 | people you want to listen to. The default is: | ||
| 23481 | |||
| 23482 | @lisp | ||
| 23483 | ("Adri Verhoef" | ||
| 23484 | "alba-nocem@@albasani.net" | ||
| 23485 | "bleachbot@@httrack.com" | ||
| 23486 | "news@@arcor-online.net" | ||
| 23487 | "news@@uni-berlin.de" | ||
| 23488 | "nocem@@arcor.de" | ||
| 23489 | "pgpmoose@@killfile.org" | ||
| 23490 | "xjsppl@@gmx.de") | ||
| 23491 | @end lisp | ||
| 23492 | |||
| 23493 | Known despammers that you can put in this list are listed at@* | ||
| 23494 | @uref{http://www.xs4all.nl/~rosalind/nocemreg/nocemreg.html}. | ||
| 23495 | |||
| 23496 | You do not have to heed NoCeM messages from all these people---just the | ||
| 23497 | ones you want to listen to. You also don't have to accept all NoCeM | ||
| 23498 | messages from the people you like. Each NoCeM message has a @dfn{type} | ||
| 23499 | header that gives the message a (more or less, usually less) rigorous | ||
| 23500 | definition. Common types are @samp{spam}, @samp{spew}, @samp{mmf}, | ||
| 23501 | @samp{binary}, and @samp{troll}. To specify this, you have to use | ||
| 23502 | @code{(@var{issuer} @var{conditions} @dots{})} elements in the list. | ||
| 23503 | Each condition is either a string (which is a regexp that matches types | ||
| 23504 | you want to use) or a list on the form @code{(not @var{string})}, where | ||
| 23505 | @var{string} is a regexp that matches types you don't want to use. | ||
| 23506 | |||
| 23507 | For instance, if you want all NoCeM messages from Chris Lewis except his | ||
| 23508 | @samp{troll} messages, you'd say: | ||
| 23509 | |||
| 23510 | @lisp | ||
| 23511 | ("clewis@@ferret.ocunix.on.ca" ".*" (not "troll")) | ||
| 23512 | @end lisp | ||
| 23513 | |||
| 23514 | On the other hand, if you just want nothing but his @samp{spam} and | ||
| 23515 | @samp{spew} messages, you'd say: | ||
| 23516 | |||
| 23517 | @lisp | ||
| 23518 | ("clewis@@ferret.ocunix.on.ca" (not ".*") "spew" "spam") | ||
| 23519 | @end lisp | ||
| 23520 | |||
| 23521 | The specs are applied left-to-right. | ||
| 23522 | |||
| 23523 | |||
| 23524 | @item gnus-nocem-verifyer | ||
| 23525 | @vindex gnus-nocem-verifyer | ||
| 23526 | @findex gnus-nocem-epg-verify | ||
| 23527 | @findex pgg-verify | ||
| 23528 | This should be a function for verifying that the NoCeM issuer is who she | ||
| 23529 | says she is. This variable defaults to @code{gnus-nocem-epg-verify} if | ||
| 23530 | EasyPG is available, otherwise defaults to @code{pgg-verify}. The | ||
| 23531 | function should return non-@code{nil} if the verification is successful, | ||
| 23532 | otherwise (including the case the NoCeM message was not signed) should | ||
| 23533 | return @code{nil}. If this is too slow and you don't care for | ||
| 23534 | verification (which may be dangerous), you can set this variable to | ||
| 23535 | @code{nil}. | ||
| 23536 | |||
| 23537 | Formerly the default was @code{mc-verify}, which is a Mailcrypt | ||
| 23538 | function. While you can still use it, you can change it into | ||
| 23539 | @code{gnus-nocem-epg-verify} or @code{pgg-verify} running with GnuPG if | ||
| 23540 | you are willing to add the @acronym{PGP} public keys to GnuPG's keyring. | ||
| 23541 | |||
| 23542 | @item gnus-nocem-directory | ||
| 23543 | @vindex gnus-nocem-directory | ||
| 23544 | This is where Gnus will store its NoCeM cache files. The default is@* | ||
| 23545 | @file{~/News/NoCeM/}. | ||
| 23546 | |||
| 23547 | @item gnus-nocem-expiry-wait | ||
| 23548 | @vindex gnus-nocem-expiry-wait | ||
| 23549 | The number of days before removing old NoCeM entries from the cache. | ||
| 23550 | The default is 15. If you make it shorter Gnus will be faster, but you | ||
| 23551 | might then see old spam. | ||
| 23552 | |||
| 23553 | @item gnus-nocem-check-from | ||
| 23554 | @vindex gnus-nocem-check-from | ||
| 23555 | Non-@code{nil} means check for valid issuers in message bodies. | ||
| 23556 | Otherwise don't bother fetching articles unless their author matches a | ||
| 23557 | valid issuer; that is much faster if you are selective about the | ||
| 23558 | issuers. | ||
| 23559 | |||
| 23560 | @item gnus-nocem-check-article-limit | ||
| 23561 | @vindex gnus-nocem-check-article-limit | ||
| 23562 | If non-@code{nil}, the maximum number of articles to check in any NoCeM | ||
| 23563 | group. @code{nil} means no restriction. NoCeM groups can be huge and | ||
| 23564 | very slow to process. | ||
| 23565 | |||
| 23566 | @end table | ||
| 23567 | |||
| 23568 | Using NoCeM could potentially be a memory hog. If you have many living | ||
| 23569 | (i. e., subscribed or unsubscribed groups), your Emacs process will grow | ||
| 23570 | big. If this is a problem, you should kill off all (or most) of your | ||
| 23571 | unsubscribed groups (@pxref{Subscription Commands}). | ||
| 23572 | |||
| 23573 | |||
| 23574 | @node Undo | 22776 | @node Undo |
| 23575 | @section Undo | 22777 | @section Undo |
| 23576 | @cindex undo | 22778 | @cindex undo |
| @@ -23704,6 +22906,7 @@ stuff, so Gnus has taken advantage of that. | |||
| 23704 | * Face:: Display a funkier, teensier colored image. | 22906 | * Face:: Display a funkier, teensier colored image. |
| 23705 | * Smileys:: Show all those happy faces the way they were meant to be shown. | 22907 | * Smileys:: Show all those happy faces the way they were meant to be shown. |
| 23706 | * Picons:: How to display pictures of what you're reading. | 22908 | * Picons:: How to display pictures of what you're reading. |
| 22909 | * Gravatars:: Display the avatar of people you read. | ||
| 23707 | * XVarious:: Other XEmacsy Gnusey variables. | 22910 | * XVarious:: Other XEmacsy Gnusey variables. |
| 23708 | @end menu | 22911 | @end menu |
| 23709 | 22912 | ||
| @@ -24030,8 +23233,56 @@ want to add @samp{"unknown"} to this list. | |||
| 24030 | Ordered list of suffixes on picon file names to try. Defaults to | 23233 | Ordered list of suffixes on picon file names to try. Defaults to |
| 24031 | @code{("xpm" "gif" "xbm")} minus those not built-in your Emacs. | 23234 | @code{("xpm" "gif" "xbm")} minus those not built-in your Emacs. |
| 24032 | 23235 | ||
| 23236 | @item gnus-picon-inhibit-top-level-domains | ||
| 23237 | @vindex gnus-picon-inhibit-top-level-domains | ||
| 23238 | If non-@code{nil} (which is the default), don't display picons for | ||
| 23239 | things like @samp{.net} and @samp{.de}, which aren't usually very | ||
| 23240 | interesting. | ||
| 23241 | |||
| 24033 | @end table | 23242 | @end table |
| 24034 | 23243 | ||
| 23244 | @node Gravatars | ||
| 23245 | @subsection Gravatars | ||
| 23246 | |||
| 23247 | @iftex | ||
| 23248 | @iflatex | ||
| 23249 | \include{gravatars} | ||
| 23250 | @end iflatex | ||
| 23251 | @end iftex | ||
| 23252 | |||
| 23253 | A gravatar is an image registered to an e-mail address. | ||
| 23254 | |||
| 23255 | You can submit yours on-line at @uref{http://www.gravatar.com}. | ||
| 23256 | |||
| 23257 | The following variables offer control over how things are displayed. | ||
| 23258 | |||
| 23259 | @table @code | ||
| 23260 | |||
| 23261 | @item gnus-gravatar-size | ||
| 23262 | @vindex gnus-gravatar-size | ||
| 23263 | The size in pixels of gravatars. Gravatars are always square, so one | ||
| 23264 | number for the size is enough. | ||
| 23265 | |||
| 23266 | @item gnus-gravatar-relief | ||
| 23267 | @vindex gnus-gravatar-relief | ||
| 23268 | If non-nil, adds a shadow rectangle around the image. The value, | ||
| 23269 | relief, specifies the width of the shadow lines, in pixels. If relief | ||
| 23270 | is negative, shadows are drawn so that the image appears as a pressed | ||
| 23271 | button; otherwise, it appears as an unpressed button. | ||
| 23272 | |||
| 23273 | @end table | ||
| 23274 | |||
| 23275 | If you want to see them in the From field, set: | ||
| 23276 | @lisp | ||
| 23277 | (setq gnus-treat-from-gravatar 'head) | ||
| 23278 | @end lisp | ||
| 23279 | |||
| 23280 | If you want to see them in the Cc and To fields, set: | ||
| 23281 | |||
| 23282 | @lisp | ||
| 23283 | (setq gnus-treat-mail-gravatar 'head) | ||
| 23284 | @end lisp | ||
| 23285 | |||
| 24035 | 23286 | ||
| 24036 | @node XVarious | 23287 | @node XVarious |
| 24037 | @subsection Various XEmacs Variables | 23288 | @subsection Various XEmacs Variables |
| @@ -24367,7 +23618,7 @@ call the external tools during splitting. Example fancy split method: | |||
| 24367 | Note that with the nnimap back end, message bodies will not be | 23618 | Note that with the nnimap back end, message bodies will not be |
| 24368 | downloaded by default. You need to set | 23619 | downloaded by default. You need to set |
| 24369 | @code{nnimap-split-download-body} to @code{t} to do that | 23620 | @code{nnimap-split-download-body} to @code{t} to do that |
| 24370 | (@pxref{Splitting in IMAP}). | 23621 | (@pxref{Client-Side @acronym{IMAP} Splitting}). |
| 24371 | 23622 | ||
| 24372 | That is about it. As some spam is likely to get through anyway, you | 23623 | That is about it. As some spam is likely to get through anyway, you |
| 24373 | might want to have a nifty function to call when you happen to read | 23624 | might want to have a nifty function to call when you happen to read |
| @@ -24649,14 +23900,14 @@ the value @samp{spam} means @samp{nnimap+your-server:spam}. The value | |||
| 24649 | @vindex nnimap-split-download-body | 23900 | @vindex nnimap-split-download-body |
| 24650 | Note for IMAP users: if you use the @code{spam-check-bogofilter}, | 23901 | Note for IMAP users: if you use the @code{spam-check-bogofilter}, |
| 24651 | @code{spam-check-ifile}, and @code{spam-check-stat} spam back ends, | 23902 | @code{spam-check-ifile}, and @code{spam-check-stat} spam back ends, |
| 24652 | you should also set the variable @code{nnimap-split-download-body} | 23903 | you should also set the variable @code{nnimap-split-download-body} to |
| 24653 | to @code{t}. These spam back ends are most useful when they can | 23904 | @code{t}. These spam back ends are most useful when they can ``scan'' |
| 24654 | ``scan'' the full message body. By default, the nnimap back end only | 23905 | the full message body. By default, the nnimap back end only retrieves |
| 24655 | retrieves the message headers; @code{nnimap-split-download-body} tells | 23906 | the message headers; @code{nnimap-split-download-body} tells it to |
| 24656 | it to retrieve the message bodies as well. We don't set this by | 23907 | retrieve the message bodies as well. We don't set this by default |
| 24657 | default because it will slow @acronym{IMAP} down, and that is not an | 23908 | because it will slow @acronym{IMAP} down, and that is not an |
| 24658 | appropriate decision to make on behalf of the user. @xref{Splitting | 23909 | appropriate decision to make on behalf of the user. @xref{Client-Side |
| 24659 | in IMAP}. | 23910 | @acronym{IMAP} Splitting}. |
| 24660 | 23911 | ||
| 24661 | You have to specify one or more spam back ends for @code{spam-split} | 23912 | You have to specify one or more spam back ends for @code{spam-split} |
| 24662 | to use, by setting the @code{spam-use-*} variables. @xref{Spam Back | 23913 | to use, by setting the @code{spam-use-*} variables. @xref{Spam Back |
| @@ -27573,13 +26824,6 @@ Mail can be re-scanned by a daemonic process (@pxref{Daemons}). | |||
| 27573 | @end iftex | 26824 | @end iftex |
| 27574 | 26825 | ||
| 27575 | @item | 26826 | @item |
| 27576 | Gnus can make use of NoCeM files to weed out spam (@pxref{NoCeM}). | ||
| 27577 | |||
| 27578 | @lisp | ||
| 27579 | (setq gnus-use-nocem t) | ||
| 27580 | @end lisp | ||
| 27581 | |||
| 27582 | @item | ||
| 27583 | Groups can be made permanently visible (@pxref{Listing Groups}). | 26827 | Groups can be made permanently visible (@pxref{Listing Groups}). |
| 27584 | 26828 | ||
| 27585 | @lisp | 26829 | @lisp |
| @@ -28095,9 +27339,7 @@ The revised Gnus @acronym{FAQ} is included in the manual, | |||
| 28095 | @acronym{TLS} wrapper shipped with Gnus | 27339 | @acronym{TLS} wrapper shipped with Gnus |
| 28096 | 27340 | ||
| 28097 | @acronym{TLS}/@acronym{SSL} is now supported in @acronym{IMAP} and | 27341 | @acronym{TLS}/@acronym{SSL} is now supported in @acronym{IMAP} and |
| 28098 | @acronym{NNTP} via @file{tls.el} and GNUTLS. The old | 27342 | @acronym{NNTP} via @file{tls.el} and GNUTLS. |
| 28099 | @acronym{TLS}/@acronym{SSL} support via (external third party) | ||
| 28100 | @file{ssl.el} and OpenSSL still works. | ||
| 28101 | 27343 | ||
| 28102 | @item | 27344 | @item |
| 28103 | Improved anti-spam features. | 27345 | Improved anti-spam features. |
diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 6b922476596..ad56520f892 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi | |||
| @@ -1090,11 +1090,11 @@ the passphrase prompt. | |||
| 1090 | @subsection Using PGP/MIME | 1090 | @subsection Using PGP/MIME |
| 1091 | 1091 | ||
| 1092 | @acronym{PGP/MIME} requires an external OpenPGP implementation, such | 1092 | @acronym{PGP/MIME} requires an external OpenPGP implementation, such |
| 1093 | as @uref{http://www.gnupg.org/, GNU Privacy Guard}. Pre-OpenPGP | 1093 | as @uref{http://www.gnupg.org/, GNU Privacy Guard}. Pre-OpenPGP |
| 1094 | implementations such as PGP 2.x and PGP 5.x are also supported. One | 1094 | implementations such as PGP 2.x and PGP 5.x are also supported. One |
| 1095 | Emacs interface to the PGP implementations, PGG (@pxref{Top, ,PGG, | 1095 | Emacs interface to the PGP implementations, PGG (@pxref{Top, ,PGG, |
| 1096 | pgg, PGG Manual}), is included, but Mailcrypt and Florian Weimer's | 1096 | pgg, PGG Manual}), is included, but Mailcrypt is also supported. |
| 1097 | @code{gpg.el} are also supported. @xref{PGP Compatibility}. | 1097 | @xref{PGP Compatibility}. |
| 1098 | 1098 | ||
| 1099 | @cindex gpg-agent | 1099 | @cindex gpg-agent |
| 1100 | Message internally calls GnuPG (the @command{gpg} command) to perform | 1100 | Message internally calls GnuPG (the @command{gpg} command) to perform |
diff --git a/doc/misc/url.texi b/doc/misc/url.texi index a6bbf0bd3eb..acb4145f120 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi | |||
| @@ -731,14 +731,6 @@ directory to store the cache files. It defaults to sub-directory | |||
| 731 | @file{cache} of @code{url-configuration-directory}. | 731 | @file{cache} of @code{url-configuration-directory}. |
| 732 | @end defopt | 732 | @end defopt |
| 733 | 733 | ||
| 734 | @c Fixme: function v. option, but neither used. | ||
| 735 | @c @findex url-cache-expired | ||
| 736 | @c @defopt url-cache-expired | ||
| 737 | @c This is a function to decide whether or not a cache entry has expired. | ||
| 738 | @c It takes two times as it parameters and returns non-@code{nil} if the | ||
| 739 | @c second time is ``too old'' when compared with the first time. | ||
| 740 | @c @end defopt | ||
| 741 | |||
| 742 | @defopt url-cache-creation-function | 734 | @defopt url-cache-creation-function |
| 743 | The cache relies on a scheme for mapping URLs to files in the cache. | 735 | The cache relies on a scheme for mapping URLs to files in the cache. |
| 744 | This variable names a function which sets the type of cache to use. | 736 | This variable names a function which sets the type of cache to use. |
| @@ -768,6 +760,22 @@ more likely to conflict with other files. | |||
| 768 | @end smallexample | 760 | @end smallexample |
| 769 | @end defun | 761 | @end defun |
| 770 | 762 | ||
| 763 | @defun url-cache-expired | ||
| 764 | This function returns non-nil if a cache entry has expired (or is absent). | ||
| 765 | The arguments are a URL and optional expiration delay in seconds | ||
| 766 | (default @var{url-cache-expire-time}). | ||
| 767 | @end defun | ||
| 768 | |||
| 769 | @defopt url-cache-expire-time | ||
| 770 | This variable is the default number of seconds to use for the | ||
| 771 | expire-time argument of the function @code{url-cache-expired}. | ||
| 772 | @end defopt | ||
| 773 | |||
| 774 | @defun url-fetch-from-cache | ||
| 775 | This function takes a URL as its argument and returns a buffer | ||
| 776 | containing the data cached for that URL. | ||
| 777 | @end defun | ||
| 778 | |||
| 771 | @c Fixme: never actually used currently? | 779 | @c Fixme: never actually used currently? |
| 772 | @c @defopt url-standalone-mode | 780 | @c @defopt url-standalone-mode |
| 773 | @c @cindex Relying on cache | 781 | @c @cindex Relying on cache |
diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index ba772c4b4a1..788c10b87dd 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi | |||
| @@ -1121,8 +1121,8 @@ A regular match expression used to match compressed man file extensions | |||
| 1121 | for which decompressors are available and handled by auto-compression | 1121 | for which decompressors are available and handled by auto-compression |
| 1122 | mode. It should begin with @code{\\.} and end with @code{\\'} and | 1122 | mode. It should begin with @code{\\.} and end with @code{\\'} and |
| 1123 | @emph{must not} be optional. The default value is | 1123 | @emph{must not} be optional. The default value is |
| 1124 | @code{"\\.\\(g?z\\|bz2\\)\\'"}, which matches the @code{gzip} and | 1124 | @code{"\\.\\(g?z\\|bz2\\|xz\\)\\'"}, which matches the @code{gzip}, |
| 1125 | @code{bzip2} compression extensions. | 1125 | @code{bzip2}, and @code{xz} compression extensions. |
| 1126 | 1126 | ||
| 1127 | @emph{Do not change this unless you are sure you know what you are doing!} | 1127 | @emph{Do not change this unless you are sure you know what you are doing!} |
| 1128 | 1128 | ||