aboutsummaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorKaroly Lorentey2005-04-04 16:43:15 +0000
committerKaroly Lorentey2005-04-04 16:43:15 +0000
commitee00ea6e18c2aeae86e262fae703f67f4705032a (patch)
tree9e7fc6bfb33de2b2f861589a2f7674ad35de85a8 /man
parent4a932511428a2b61ec51deebd6e16ec1efbda800 (diff)
parent8c6ef2ca34c444c1dea1f11b999b4b2ec16cdea3 (diff)
downloademacs-ee00ea6e18c2aeae86e262fae703f67f4705032a.tar.gz
emacs-ee00ea6e18c2aeae86e262fae703f67f4705032a.zip
Merged from miles@gnu.org--gnu-2005 (patch 45-55, 214-231)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-214 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-215 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-216 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-217 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-218 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-219 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-220 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-221 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-222 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-223 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-224 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-225 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-226 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-227 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-228 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-229 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-230 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-231 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-45 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-46 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-47 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-48 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-49 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-50 Update from CVS: texi Makefile.in CVS keyw cruft * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-51 Update from CVS: ChangeLog tweaks * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-52 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-53 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-54 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-55 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-324
Diffstat (limited to 'man')
-rw-r--r--man/ChangeLog137
-rw-r--r--man/basic.texi63
-rw-r--r--man/building.texi26
-rw-r--r--man/calc.texi652
-rw-r--r--man/calendar.texi47
-rw-r--r--man/cmdargs.texi5
-rw-r--r--man/commands.texi4
-rw-r--r--man/custom.texi21
-rw-r--r--man/dired.texi34
-rw-r--r--man/emacs-mime.texi33
-rw-r--r--man/emacs.texi11
-rw-r--r--man/files.texi108
-rw-r--r--man/gnus-faq.texi3521
-rw-r--r--man/maintaining.texi21
-rw-r--r--man/message.texi2
-rw-r--r--man/misc.texi8
-rw-r--r--man/mule.texi39
-rw-r--r--man/org.texi107
-rw-r--r--man/programs.texi247
-rw-r--r--man/text.texi73
-rw-r--r--man/xresources.texi9
21 files changed, 2794 insertions, 2374 deletions
diff --git a/man/ChangeLog b/man/ChangeLog
index 432fd8bad2c..eddd1e97741 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,138 @@
12005-04-04 Jay Belanger <belanger@truman.edu>
2
3 * calc.texi: Change Calc version number.
4 (Customizable variables): Fix description of calc-language-alist.
5 (Copying): Put in version 2 of GPL.
6
72005-04-03 Glenn Morris <gmorris@ast.cam.ac.uk>
8
9 * calendar.texi (Diary): Mention shell utility `calendar'.
10
112005-04-01 Jay Belanger <belanger@truman.edu>
12
13 * calc.texi (Troubleshooting Commands): Remove comment about
14 installation.
15 (Installation): Remove section.
16 (Customizable Variables): New section.
17 (Basic Embedded Mode, Customizing Embedded Mode, Graphics)
18 (Graphical Devices): Add references to Customizable Variables.
19
202005-04-01 Lute Kamstra <lute@gnu.org>
21
22 * maintaining.texi (Change Log): add-change-log-entry uses
23 add-log-mailing-address.
24
252005-03-31 Luc Teirlinck <teirllm@auburn.edu>
26
27 * files.texi (Reverting): Move `auto-revert-check-vc-info' to
28 `VC Mode Line' and put in an xref to that node.
29 (VC Mode Line): Move `auto-revert-check-vc-info' here and clarify
30 its description.
31
322005-03-31 Paul Eggert <eggert@cs.ucla.edu>
33
34 * calendar.texi (Calendar Systems): Say that the Persian calendar
35 implemented here is the arithmetical one championed by Birashk.
36
372005-03-30 Glenn Morris <gmorris@ast.cam.ac.uk>
38
39 * programs.texi (Fortran Motion): Fix previous change.
40
412005-03-25 Katsumi Yamaoka <yamaoka@jpl.org>
42
43 * emacs-mime.texi (Display Customization): Markup fixes.
44 (rfc2047): Update.
45
462005-03-23 Reiner Steib <Reiner.Steib@gmx.de>
47
48 * gnus-faq.texi: Replaced with auto-generated version.
49
502005-03-29 Richard M. Stallman <rms@gnu.org>
51
52 * mule.texi (Single-Byte Character Support): Reinstall the C-x 8 info.
53
542005-03-29 Chong Yidong <cyd@stupidchicken.com>
55
56 * text.texi (Refill): Refer to Long Lines Mode.
57 (Longlines): New node.
58 (Auto Fill): Don't index "word wrap" here.
59 (Filling): Add Longlines to menu.
60
612005-03-29 Richard M. Stallman <rms@gnu.org>
62
63 * xresources.texi: Minor fixes.
64
65 * misc.texi (Emacs Server): Fix Texinfo usage.
66
67 * emacs.texi (Top): Don't use a real section heading for
68 "Detailed Node Listing". Fake it instead.
69
70 * basic.texi (Position Info): Minor cleanup.
71
72 * mule.texi (Input Methods): Minor cleanup.
73
742005-03-29 Glenn Morris <gmorris@ast.cam.ac.uk>
75
76 * programs.texi (ForIndent Vars): `fortran-if-indent' does other
77 constructs as well.
78 (Fortran Motion): Add fortran-end-of-block,
79 fortran-beginning-of-block.
80
812005-03-29 Kenichi Handa <handa@m17n.org>
82
83 * mule.texi (Input Methods): Refer to the command C-u C-x =.
84
85 * basic.texi (Position Info): Update the description about the
86 command C-u C-x =.
87
882005-03-28 Richard M. Stallman <rms@gnu.org>
89
90 * emacs.texi (Top): Use @section for the detailed node listing.
91
92 * calendar.texi: Minor fixes to previous change.
93
94 * programs.texi (Fortran): Small fixes to previous changes.
95
96 * emacs.texi (Top): Update list of subnodes of Dired.
97 Likewise for building.texi.
98
99 * files.texi (File Conveniences): Delete Auto Image File mode.
100
1012005-03-28 Chong Yidong <cyd@stupidchicken.com>
102
103 * building.texi (Flymake): New node.
104
105 * custom.texi (Function Keys): Document kp- event types and
106 keypad-setup package.
107
108 * dired.texi (Wdired): New node.
109
110 * files.texi (File Conveniences): Reorder entries.
111 Explain how to turn on Auto-image-file mode.
112 Document Thumbs mode.
113
114 * mule.texi (Specify Coding): Document recode-region and
115 recode-file-name.
116
117 * programs.texi (Program Modes): Add Conf mode and DNS mode.
118
1192005-03-27 Luc Teirlinck <teirllm@auburn.edu>
120
121 * commands.texi (Keys): M-o is now a prefix key.
122
1232005-03-27 Glenn Morris <gmorris@ast.cam.ac.uk>
124
125 * programs.texi: Reformat and update copyright years.
126 (Fortran): Update section.
127
1282005-03-26 Luc Teirlinck <teirllm@auburn.edu>
129
130 * files.texi: Several small changes in addition to:
131 (Visiting): Change xref for Dialog Boxes to ref.
132 (Version Headers): Replace references to obsolete var
133 `vc-header-alist' with `vc-BACKEND-header'.
134 (Customizing VC): Update value of `vc-handled-backends'.
135
12005-03-26 Glenn Morris <gmorris@ast.cam.ac.uk> 1362005-03-26 Glenn Morris <gmorris@ast.cam.ac.uk>
2 137
3 * emacs-xtra.texi (Advanced Calendar/Diary Usage): New section; 138 * emacs-xtra.texi (Advanced Calendar/Diary Usage): New section;
@@ -49,7 +184,7 @@
49 * files.texi (Visiting): Fix cross-references introduced with the 184 * files.texi (Visiting): Fix cross-references introduced with the
50 last change. 185 last change.
51 186
52 * xresources.texi (GTK resources): Fix last change. 187 * xresources.texi (GTK resources): Fix last change.
53 188
542005-03-26 Jay Belanger <belanger@truman.edu> 1892005-03-26 Jay Belanger <belanger@truman.edu>
55 190
diff --git a/man/basic.texi b/man/basic.texi
index 2f8c2bc1764..ad3cfbca88a 100644
--- a/man/basic.texi
+++ b/man/basic.texi
@@ -677,36 +677,57 @@ point=26957 of 26956(100%) column 0
677@cindex character set of character at point 677@cindex character set of character at point
678@cindex font of character at point 678@cindex font of character at point
679@cindex text properties at point 679@cindex text properties at point
680 @w{@kbd{C-u C-x =}} displays additional information about a 680 @w{@kbd{C-u C-x =}} displays these additional information about a
681character, including the character set name and the codes that 681character.
682identify the character within that character set; @acronym{ASCII} characters are 682
683identified as belonging to the @code{ascii} character set. It also 683@itemize @bullet
684shows the character's syntax, categories, and encodings both 684@item
685internally in the buffer and externally if you save the file. It also 685The character set name, and the codes that identify the character
686shows the character's text properties (@pxref{Text Properties,,, 686within that character set; @acronym{ASCII} characters are identified
687as belonging to the @code{ascii} character set.
688
689@item
690The character's syntax and categories.
691
692@item
693The character's encodings, both internally in the buffer, and externally
694if you were to save the file.
695
696@item
697What to type to input the character in the current input method
698(if it supports the character).
699
700@item
701If you are running Emacs on a window system, the font name and glyph
702code for the character. If you are running Emacs on a terminal, the
703code(s) sent to the terminal.
704
705@item
706The character's text properties (@pxref{Text Properties,,,
687elisp, the Emacs Lisp Reference Manual}), and any overlays containing it 707elisp, the Emacs Lisp Reference Manual}), and any overlays containing it
688(@pxref{Overlays,,, elisp, the same manual}). 708(@pxref{Overlays,,, elisp, the same manual}).
709@end itemize
689 710
690 Here's an example showing the Latin-1 character A with grave accent, 711 Here's an example showing the Latin-1 character A with grave accent,
691in a buffer whose coding system is @code{iso-2022-7bit}, whose 712in a buffer whose coding system is @code{iso-latin-1}, whose
692terminal coding system is @code{iso-latin-1} (so the terminal actually 713terminal coding system is @code{iso-latin-1} (so the terminal actually
693displays the character as @samp{@`A}), and which has font-lock-mode 714displays the character as @samp{@`A}), and which has font-lock-mode
694(@pxref{Font Lock}) enabled: 715(@pxref{Font Lock}) enabled:
695 716
696@smallexample 717@smallexample
697 character: @`A (04300, 2240, 0x8c0) 718 character: @`A (04300, 2240, 0x8c0, U+00C0)
698 charset: latin-iso8859-1 719 charset: latin-iso8859-1
699 (Right-Hand Part of Latin Alphabet 1@dots{} 720 (Right-Hand Part of Latin Alphabet 1@dots{}
700 code point: 64 721 code point: 64
701 syntax: w which means: word 722 syntax: w which means: word
702 category: l:Latin 723 category: l:Latin
703 buffer code: 0x81 0xC0 724 to input: type "`A"
704 file code: ESC 2C 41 40 (encoded by coding system iso-2022-7bit) 725buffer code: 0x81 0xC0
705terminal code: C0 726 file code: ESC 2C 41 40 (encoded by coding system iso-2022-7bit)
706 727 display: terminal code 0xC0
707Text properties 728
708 font-lock-face: font-lock-variable-name-face 729There are text properties here:
709 fontified: t 730 fontified t
710@end smallexample 731@end smallexample
711 732
712@node Arguments 733@node Arguments
diff --git a/man/building.texi b/man/building.texi
index 50490e34dd5..10b7b8053d2 100644
--- a/man/building.texi
+++ b/man/building.texi
@@ -18,6 +18,7 @@ in the larger process of developing and maintaining programs.
18* Compilation Shell:: Customizing your shell properly 18* Compilation Shell:: Customizing your shell properly
19 for use in the compilation buffer. 19 for use in the compilation buffer.
20* Grep Searching:: Searching with grep. 20* Grep Searching:: Searching with grep.
21* Flymake:: Finding syntax errors on the fly.
21* Debuggers:: Running symbolic debuggers for non-Lisp programs. 22* Debuggers:: Running symbolic debuggers for non-Lisp programs.
22* Executing Lisp:: Various modes for editing Lisp programs, 23* Executing Lisp:: Various modes for editing Lisp programs,
23 with different facilities for running 24 with different facilities for running
@@ -337,6 +338,31 @@ initial default for the command---one that runs both @code{find} and
337@code{grep}, so as to search every file in a directory tree. See also 338@code{grep}, so as to search every file in a directory tree. See also
338the @code{find-grep-dired} command, in @ref{Dired and Find}. 339the @code{find-grep-dired} command, in @ref{Dired and Find}.
339 340
341@node Flymake
342@section Finding Syntax Errors On The Fly
343@cindex checking syntax
344
345 Flymake mode is a minor mode that performs on-the-fly syntax
346checking for many programming and markup languages, including C, C++,
347Perl, HTML, and @TeX{}/La@TeX{}. It is somewhat analogous to Flyspell
348mode, which performs spell checking for ordinary human languages in a
349similar fashion (@pxref{Spelling}). As you edit a file, Flymake mode
350runs an appropriate syntax checking tool in the background, using a
351temporary copy of the buffer. It then parses the error and warning
352messages, and highlights the erroneous lines in the buffer. The
353syntax checking tool used depends on the language; for example, for
354C/C++ files this is usually the C compiler. Flymake can also use
355build tools such as @code{make} for checking complicated projects.
356
357 To activate Flymake mode, type @kbd{M-x flymake-mode}. You can move
358to the errors spotted by Flymake mode with @kbd{M-x
359flymake-goto-next-error} and @kbd{M-x flymake-goto-prev-error}. To
360display any error messages associated with the current line, use
361@kbd{M-x flymake-display-err-menu-for-current-line}.
362
363 For more details about using Flymake, see @ref{Top, Flymake,
364Flymake, flymake, The Flymake Manual}.
365
340@node Debuggers 366@node Debuggers
341@section Running Debuggers Under Emacs 367@section Running Debuggers Under Emacs
342@cindex debuggers 368@cindex debuggers
diff --git a/man/calc.texi b/man/calc.texi
index 07c33206f28..0cd28e5bf8a 100644
--- a/man/calc.texi
+++ b/man/calc.texi
@@ -3,7 +3,7 @@
3@c smallbook 3@c smallbook
4@setfilename ../info/calc 4@setfilename ../info/calc
5@c [title] 5@c [title]
6@settitle GNU Emacs Calc 2.02g Manual 6@settitle GNU Emacs Calc 2.1 Manual
7@setchapternewpage odd 7@setchapternewpage odd
8@comment %**end of header (This is for running Texinfo on a region.) 8@comment %**end of header (This is for running Texinfo on a region.)
9 9
@@ -108,7 +108,7 @@ Software Foundation raise funds for GNU development.''
108@sp 6 108@sp 6
109@center @titlefont{Calc Manual} 109@center @titlefont{Calc Manual}
110@sp 4 110@sp 4
111@center GNU Emacs Calc Version 2.02g 111@center GNU Emacs Calc Version 2.1
112@c [volume] 112@c [volume]
113@sp 1 113@sp 1
114@center March 2005 114@center March 2005
@@ -165,7 +165,7 @@ longer Info tutorial.)
165* Embedded Mode:: Working with formulas embedded in a file. 165* Embedded Mode:: Working with formulas embedded in a file.
166* Programming:: Calc as a programmable calculator. 166* Programming:: Calc as a programmable calculator.
167 167
168* Installation:: Installing Calc as a part of GNU Emacs. 168* Customizable Variables:: Customizable Variables.
169* Reporting Bugs:: How to report bugs and make suggestions. 169* Reporting Bugs:: How to report bugs and make suggestions.
170 170
171* Summary:: Summary of Calc commands and functions. 171* Summary:: Summary of Calc commands and functions.
@@ -180,11 +180,13 @@ longer Info tutorial.)
180 180
181@node Copying, Getting Started, Top, Top 181@node Copying, Getting Started, Top, Top
182@unnumbered GNU GENERAL PUBLIC LICENSE 182@unnumbered GNU GENERAL PUBLIC LICENSE
183@center Version 1, February 1989 183@center Version 2, June 1991
184
185@c This file is intended to be included in another file.
184 186
185@display 187@display
186Copyright @copyright{} 1989 Free Software Foundation, Inc. 188Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc.
187675 Mass Ave, Cambridge, MA 02139, USA 18959 Temple Place - Suite 330, Boston, MA 02111-1307, USA
188 190
189Everyone is permitted to copy and distribute verbatim copies 191Everyone is permitted to copy and distribute verbatim copies
190of this license document, but changing it is not allowed. 192of this license document, but changing it is not allowed.
@@ -192,30 +194,33 @@ of this license document, but changing it is not allowed.
192 194
193@unnumberedsec Preamble 195@unnumberedsec Preamble
194 196
195 The license agreements of most software companies try to keep users 197 The licenses for most software are designed to take away your
196at the mercy of those companies. By contrast, our General Public 198freedom to share and change it. By contrast, the GNU General Public
197License is intended to guarantee your freedom to share and change free 199License is intended to guarantee your freedom to share and change free
198software---to make sure the software is free for all its users. The 200software---to make sure the software is free for all its users. This
199General Public License applies to the Free Software Foundation's 201General Public License applies to most of the Free Software
200software and to any other program whose authors commit to using it. 202Foundation's software and to any other program whose authors commit to
201You can use it for your programs, too. 203using it. (Some other Free Software Foundation software is covered by
204the GNU Library General Public License instead.) You can apply it to
205your programs, too.
202 206
203 When we speak of free software, we are referring to freedom, not 207 When we speak of free software, we are referring to freedom, not
204price. Specifically, the General Public License is designed to make 208price. Our General Public Licenses are designed to make sure that you
205sure that you have the freedom to give away or sell copies of free 209have the freedom to distribute copies of free software (and charge for
206software, that you receive source code or can get it if you want it, 210this service if you wish), that you receive source code or can get it
207that you can change the software or use pieces of it in new free 211if you want it, that you can change the software or use pieces of it
208programs; and that you know you can do these things. 212in new free programs; and that you know you can do these things.
209 213
210 To protect your rights, we need to make restrictions that forbid 214 To protect your rights, we need to make restrictions that forbid
211anyone to deny you these rights or to ask you to surrender the rights. 215anyone to deny you these rights or to ask you to surrender the rights.
212These restrictions translate to certain responsibilities for you if you 216These restrictions translate to certain responsibilities for you if you
213distribute copies of the software, or if you modify it. 217distribute copies of the software, or if you modify it.
214 218
215 For example, if you distribute copies of a such a program, whether 219 For example, if you distribute copies of such a program, whether
216gratis or for a fee, you must give the recipients all the rights that 220gratis or for a fee, you must give the recipients all the rights that
217you have. You must make sure that they, too, receive or can get the 221you have. You must make sure that they, too, receive or can get the
218source code. And you must tell them their rights. 222source code. And you must show them these terms so they know their
223rights.
219 224
220 We protect your rights with two steps: (1) copyright the software, and 225 We protect your rights with two steps: (1) copyright the software, and
221(2) offer you this license which gives you legal permission to copy, 226(2) offer you this license which gives you legal permission to copy,
@@ -228,128 +233,216 @@ want its recipients to know that what they have is not the original, so
228that any problems introduced by others will not reflect on the original 233that any problems introduced by others will not reflect on the original
229authors' reputations. 234authors' reputations.
230 235
236 Finally, any free program is threatened constantly by software
237patents. We wish to avoid the danger that redistributors of a free
238program will individually obtain patent licenses, in effect making the
239program proprietary. To prevent this, we have made it clear that any
240patent must be licensed for everyone's free use or not licensed at all.
241
231 The precise terms and conditions for copying, distribution and 242 The precise terms and conditions for copying, distribution and
232modification follow. 243modification follow.
233 244
234@iftex 245@iftex
235@unnumberedsec TERMS AND CONDITIONS 246@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
236@end iftex 247@end iftex
237@ifinfo 248@ifinfo
238@center TERMS AND CONDITIONS 249@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
239@end ifinfo 250@end ifinfo
240 251
241@enumerate 252@enumerate 0
242@item 253@item
243This License Agreement applies to any program or other work which 254This License applies to any program or other work which contains
244contains a notice placed by the copyright holder saying it may be 255a notice placed by the copyright holder saying it may be distributed
245distributed under the terms of this General Public License. The 256under the terms of this General Public License. The ``Program'', below,
246``Program'', below, refers to any such program or work, and a ``work based 257refers to any such program or work, and a ``work based on the Program''
247on the Program'' means either the Program or any work containing the 258means either the Program or any derivative work under copyright law:
248Program or a portion of it, either verbatim or with modifications. Each 259that is to say, a work containing the Program or a portion of it,
249licensee is addressed as ``you''. 260either verbatim or with modifications and/or translated into another
261language. (Hereinafter, translation is included without limitation in
262the term ``modification''.) Each licensee is addressed as ``you''.
263
264Activities other than copying, distribution and modification are not
265covered by this License; they are outside its scope. The act of
266running the Program is not restricted, and the output from the Program
267is covered only if its contents constitute a work based on the
268Program (independent of having been made by running the Program).
269Whether that is true depends on what the Program does.
250 270
251@item 271@item
252You may copy and distribute verbatim copies of the Program's source 272You may copy and distribute verbatim copies of the Program's
253code as you receive it, in any medium, provided that you conspicuously and 273source code as you receive it, in any medium, provided that you
254appropriately publish on each copy an appropriate copyright notice and 274conspicuously and appropriately publish on each copy an appropriate
255disclaimer of warranty; keep intact all the notices that refer to this 275copyright notice and disclaimer of warranty; keep intact all the
256General Public License and to the absence of any warranty; and give any 276notices that refer to this License and to the absence of any warranty;
257other recipients of the Program a copy of this General Public License 277and give any other recipients of the Program a copy of this License
258along with the Program. You may charge a fee for the physical act of 278along with the Program.
259transferring a copy.
260 279
261@item 280You may charge a fee for the physical act of transferring a copy, and
262You may modify your copy or copies of the Program or any portion of 281you may at your option offer warranty protection in exchange for a fee.
263it, and copy and distribute such modifications under the terms of Paragraph
2641 above, provided that you also do the following:
265 282
266@itemize @bullet
267@item 283@item
268cause the modified files to carry prominent notices stating that 284You may modify your copy or copies of the Program or any portion
269you changed the files and the date of any change; and 285of it, thus forming a work based on the Program, and copy and
286distribute such modifications or work under the terms of Section 1
287above, provided that you also meet all of these conditions:
270 288
289@enumerate a
271@item 290@item
272cause the whole of any work that you distribute or publish, that 291You must cause the modified files to carry prominent notices
273in whole or in part contains the Program or any part thereof, either 292stating that you changed the files and the date of any change.
274with or without modifications, to be licensed at no charge to all
275third parties under the terms of this General Public License (except
276that you may choose to grant warranty protection to some or all
277third parties, at your option).
278 293
279@item 294@item
280If the modified program normally reads commands interactively when 295You must cause any work that you distribute or publish, that in
281run, you must cause it, when started running for such interactive use 296whole or in part contains or is derived from the Program or any
282in the simplest and most usual way, to print or display an 297part thereof, to be licensed as a whole at no charge to all third
283announcement including an appropriate copyright notice and a notice 298parties under the terms of this License.
284that there is no warranty (or else, saying that you provide a
285warranty) and that users may redistribute the program under these
286conditions, and telling the user how to view a copy of this General
287Public License.
288 299
289@item 300@item
290You may charge a fee for the physical act of transferring a 301If the modified program normally reads commands interactively
291copy, and you may at your option offer warranty protection in 302when run, you must cause it, when started running for such
292exchange for a fee. 303interactive use in the most ordinary way, to print or display an
293@end itemize 304announcement including an appropriate copyright notice and a
305notice that there is no warranty (or else, saying that you provide
306a warranty) and that users may redistribute the program under
307these conditions, and telling the user how to view a copy of this
308License. (Exception: if the Program itself is interactive but
309does not normally print such an announcement, your work based on
310the Program is not required to print an announcement.)
311@end enumerate
294 312
295Mere aggregation of another independent work with the Program (or its 313These requirements apply to the modified work as a whole. If
296derivative) on a volume of a storage or distribution medium does not bring 314identifiable sections of that work are not derived from the Program,
297the other work under the scope of these terms. 315and can be reasonably considered independent and separate works in
316themselves, then this License, and its terms, do not apply to those
317sections when you distribute them as separate works. But when you
318distribute the same sections as part of a whole which is a work based
319on the Program, the distribution of the whole must be on the terms of
320this License, whose permissions for other licensees extend to the
321entire whole, and thus to each and every part regardless of who wrote it.
322
323Thus, it is not the intent of this section to claim rights or contest
324your rights to work written entirely by you; rather, the intent is to
325exercise the right to control the distribution of derivative or
326collective works based on the Program.
327
328In addition, mere aggregation of another work not based on the Program
329with the Program (or with a work based on the Program) on a volume of
330a storage or distribution medium does not bring the other work under
331the scope of this License.
298 332
299@item 333@item
300You may copy and distribute the Program (or a portion or derivative of 334You may copy and distribute the Program (or a work based on it,
301it, under Paragraph 2) in object code or executable form under the terms of 335under Section 2) in object code or executable form under the terms of
302Paragraphs 1 and 2 above provided that you also do one of the following: 336Sections 1 and 2 above provided that you also do one of the following:
303 337
304@itemize @bullet 338@enumerate a
305@item 339@item
306accompany it with the complete corresponding machine-readable 340Accompany it with the complete corresponding machine-readable
307source code, which must be distributed under the terms of 341source code, which must be distributed under the terms of Sections
308Paragraphs 1 and 2 above; or, 3421 and 2 above on a medium customarily used for software interchange; or,
309 343
310@item 344@item
311accompany it with a written offer, valid for at least three 345Accompany it with a written offer, valid for at least three
312years, to give any third party free (except for a nominal charge 346years, to give any third party, for a charge no more than your
313for the cost of distribution) a complete machine-readable copy of the 347cost of physically performing source distribution, a complete
314corresponding source code, to be distributed under the terms of 348machine-readable copy of the corresponding source code, to be
315Paragraphs 1 and 2 above; or, 349distributed under the terms of Sections 1 and 2 above on a medium
350customarily used for software interchange; or,
316 351
317@item 352@item
318accompany it with the information you received as to where the 353Accompany it with the information you received as to the offer
319corresponding source code may be obtained. (This alternative is 354to distribute corresponding source code. (This alternative is
320allowed only for noncommercial distribution and only if you 355allowed only for noncommercial distribution and only if you
321received the program in object code or executable form alone.) 356received the program in object code or executable form with such
322@end itemize 357an offer, in accord with Subsection b above.)
358@end enumerate
323 359
324Source code for a work means the preferred form of the work for making 360The source code for a work means the preferred form of the work for
325modifications to it. For an executable file, complete source code means 361making modifications to it. For an executable work, complete source
326all the source code for all modules it contains; but, as a special 362code means all the source code for all modules it contains, plus any
327exception, it need not include source code for modules which are standard 363associated interface definition files, plus the scripts used to
328libraries that accompany the operating system on which the executable 364control compilation and installation of the executable. However, as a
329file runs, or for standard header files or definitions files that 365special exception, the source code distributed need not include
330accompany that operating system. 366anything that is normally distributed (in either source or binary
367form) with the major components (compiler, kernel, and so on) of the
368operating system on which the executable runs, unless that component
369itself accompanies the executable.
370
371If distribution of executable or object code is made by offering
372access to copy from a designated place, then offering equivalent
373access to copy the source code from the same place counts as
374distribution of the source code, even though third parties are not
375compelled to copy the source along with the object code.
331 376
332@item 377@item
333You may not copy, modify, sublicense, distribute or transfer the 378You may not copy, modify, sublicense, or distribute the Program
334Program except as expressly provided under this General Public License. 379except as expressly provided under this License. Any attempt
335Any attempt otherwise to copy, modify, sublicense, distribute or transfer 380otherwise to copy, modify, sublicense or distribute the Program is
336the Program is void, and will automatically terminate your rights to use 381void, and will automatically terminate your rights under this License.
337the Program under this License. However, parties who have received 382However, parties who have received copies, or rights, from you under
338copies, or rights to use copies, from you under this General Public 383this License will not have their licenses terminated so long as such
339License will not have their licenses terminated so long as such parties 384parties remain in full compliance.
340remain in full compliance.
341 385
342@item 386@item
343By copying, distributing or modifying the Program (or any work based 387You are not required to accept this License, since you have not
344on the Program) you indicate your acceptance of this license to do so, 388signed it. However, nothing else grants you permission to modify or
345and all its terms and conditions. 389distribute the Program or its derivative works. These actions are
390prohibited by law if you do not accept this License. Therefore, by
391modifying or distributing the Program (or any work based on the
392Program), you indicate your acceptance of this License to do so, and
393all its terms and conditions for copying, distributing or modifying
394the Program or works based on it.
346 395
347@item 396@item
348Each time you redistribute the Program (or any work based on the 397Each time you redistribute the Program (or any work based on the
349Program), the recipient automatically receives a license from the original 398Program), the recipient automatically receives a license from the
350licensor to copy, distribute or modify the Program subject to these 399original licensor to copy, distribute or modify the Program subject to
351terms and conditions. You may not impose any further restrictions on the 400these terms and conditions. You may not impose any further
352recipients' exercise of the rights granted herein. 401restrictions on the recipients' exercise of the rights granted herein.
402You are not responsible for enforcing compliance by third parties to
403this License.
404
405@item
406If, as a consequence of a court judgment or allegation of patent
407infringement or for any other reason (not limited to patent issues),
408conditions are imposed on you (whether by court order, agreement or
409otherwise) that contradict the conditions of this License, they do not
410excuse you from the conditions of this License. If you cannot
411distribute so as to satisfy simultaneously your obligations under this
412License and any other pertinent obligations, then as a consequence you
413may not distribute the Program at all. For example, if a patent
414license would not permit royalty-free redistribution of the Program by
415all those who receive copies directly or indirectly through you, then
416the only way you could satisfy both it and this License would be to
417refrain entirely from distribution of the Program.
418
419If any portion of this section is held invalid or unenforceable under
420any particular circumstance, the balance of the section is intended to
421apply and the section as a whole is intended to apply in other
422circumstances.
423
424It is not the purpose of this section to induce you to infringe any
425patents or other property right claims or to contest validity of any
426such claims; this section has the sole purpose of protecting the
427integrity of the free software distribution system, which is
428implemented by public license practices. Many people have made
429generous contributions to the wide range of software distributed
430through that system in reliance on consistent application of that
431system; it is up to the author/donor to decide if he or she is willing
432to distribute software through any other system and a licensee cannot
433impose that choice.
434
435This section is intended to make thoroughly clear what is believed to
436be a consequence of the rest of this License.
437
438@item
439If the distribution and/or use of the Program is restricted in
440certain countries either by patents or by copyrighted interfaces, the
441original copyright holder who places the Program under this License
442may add an explicit geographical distribution limitation excluding
443those countries, so that distribution is permitted only in or among
444countries not thus excluded. In such case, this License incorporates
445the limitation as if written in the body of this License.
353 446
354@item 447@item
355The Free Software Foundation may publish revised and/or new versions 448The Free Software Foundation may publish revised and/or new versions
@@ -358,11 +451,11 @@ be similar in spirit to the present version, but may differ in detail to
358address new problems or concerns. 451address new problems or concerns.
359 452
360Each version is given a distinguishing version number. If the Program 453Each version is given a distinguishing version number. If the Program
361specifies a version number of the license which applies to it and ``any 454specifies a version number of this License which applies to it and ``any
362later version'', you have the option of following the terms and conditions 455later version'', you have the option of following the terms and conditions
363either of that version or of any later version published by the Free 456either of that version or of any later version published by the Free
364Software Foundation. If the Program does not specify a version number of 457Software Foundation. If the Program does not specify a version number of
365the license, you may choose any version ever published by the Free Software 458this License, you may choose any version ever published by the Free Software
366Foundation. 459Foundation.
367 460
368@item 461@item
@@ -393,17 +486,91 @@ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
393REPAIR OR CORRECTION. 486REPAIR OR CORRECTION.
394 487
395@item 488@item
396IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL 489IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
397ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 490WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
398REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 491REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
399INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES 492INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
400ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT 493OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
401LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES 494TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
402SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE 495YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
403WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN 496PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
404ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 497POSSIBILITY OF SUCH DAMAGES.
405@end enumerate 498@end enumerate
406 499
500@iftex
501@heading END OF TERMS AND CONDITIONS
502@end iftex
503@ifinfo
504@center END OF TERMS AND CONDITIONS
505@end ifinfo
506
507@page
508@unnumberedsec Appendix: How to Apply These Terms to Your New Programs
509
510 If you develop a new program, and you want it to be of the greatest
511possible use to the public, the best way to achieve this is to make it
512free software which everyone can redistribute and change under these terms.
513
514 To do so, attach the following notices to the program. It is safest
515to attach them to the start of each source file to most effectively
516convey the exclusion of warranty; and each file should have at least
517the ``copyright'' line and a pointer to where the full notice is found.
518
519@smallexample
520@var{one line to give the program's name and a brief idea of what it does.}
521Copyright (C) @var{yyyy} @var{name of author}
522
523This program is free software; you can redistribute it and/or modify
524it under the terms of the GNU General Public License as published by
525the Free Software Foundation; either version 2 of the License, or
526(at your option) any later version.
527
528This program is distributed in the hope that it will be useful,
529but WITHOUT ANY WARRANTY; without even the implied warranty of
530MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
531GNU General Public License for more details.
532
533You should have received a copy of the GNU General Public License
534along with this program; if not, write to the Free Software
535Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
536@end smallexample
537
538Also add information on how to contact you by electronic and paper mail.
539
540If the program is interactive, make it output a short notice like this
541when it starts in an interactive mode:
542
543@smallexample
544Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
545Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
546This is free software, and you are welcome to redistribute it
547under certain conditions; type `show c' for details.
548@end smallexample
549
550The hypothetical commands @samp{show w} and @samp{show c} should show
551the appropriate parts of the General Public License. Of course, the
552commands you use may be called something other than @samp{show w} and
553@samp{show c}; they could even be mouse-clicks or menu items---whatever
554suits your program.
555
556You should also get your employer (if you work as a programmer) or your
557school, if any, to sign a ``copyright disclaimer'' for the program, if
558necessary. Here is a sample; alter the names:
559
560@example
561Yoyodyne, Inc., hereby disclaims all copyright interest in the program
562`Gnomovision' (which makes passes at compilers) written by James Hacker.
563
564@var{signature of Ty Coon}, 1 April 1989
565Ty Coon, President of Vice
566@end example
567
568This General Public License does not permit incorporating your program into
569proprietary programs. If your program is a subroutine library, you may
570consider it more useful to permit linking proprietary applications with the
571library. If this is what you want to do, use the GNU Library General
572Public License instead of this License.
573
407@node Getting Started, Tutorial, Copying, Top 574@node Getting Started, Tutorial, Copying, Top
408@chapter Getting Started 575@chapter Getting Started
409@noindent 576@noindent
@@ -10613,11 +10780,6 @@ If this happens, the easiest workaround is to type @kbd{M-# L}
10613loaded right away. This will cause Emacs to take up a lot more 10780loaded right away. This will cause Emacs to take up a lot more
10614memory than it would otherwise, but it's guaranteed to fix the problem. 10781memory than it would otherwise, but it's guaranteed to fix the problem.
10615 10782
10616If you seem to run into this problem no matter what you do, or if
10617even the @kbd{M-# L} command crashes, Calc may have been improperly
10618installed. @xref{Installation}, for details of the installation
10619process.
10620
10621@node Recursion Depth, Caches, Autoloading Problems, Troubleshooting Commands 10783@node Recursion Depth, Caches, Autoloading Problems, Troubleshooting Commands
10622@subsection Recursion Depth 10784@subsection Recursion Depth
10623 10785
@@ -12306,7 +12468,7 @@ if this file exists, and this file becomes the one that Calc will
12306use in the future for commands like @kbd{m m}. The default settings 12468use in the future for commands like @kbd{m m}. The default settings
12307file name is @file{~/.calc.el}. You can see the current file name by 12469file name is @file{~/.calc.el}. You can see the current file name by
12308giving a blank response to the @kbd{m F} prompt. See also the 12470giving a blank response to the @kbd{m F} prompt. See also the
12309discussion of the @code{calc-settings-file} variable; @pxref{Installation}. 12471discussion of the @code{calc-settings-file} variable; @pxref{Customizable Variables}.
12310 12472
12311If the file name you give is your user init file (typically 12473If the file name you give is your user init file (typically
12312@file{~/.emacs}), @kbd{m F} will not automatically load the new file. This 12474@file{~/.emacs}), @kbd{m F} will not automatically load the new file. This
@@ -29109,7 +29271,7 @@ of the @samp{*Gnuplot Commands*} buffer.
29109@vindex calc-gnuplot-print-command 29271@vindex calc-gnuplot-print-command
29110@vindex calc-gnuplot-print-device 29272@vindex calc-gnuplot-print-device
29111@vindex calc-gnuplot-print-output 29273@vindex calc-gnuplot-print-output
29112If you are installing Calc you may wish to configure the default and 29274You may wish to configure the default and
29113printer devices and output files for the whole system. The relevant 29275printer devices and output files for the whole system. The relevant
29114Lisp variables are @code{calc-gnuplot-default-device} and @code{-output}, 29276Lisp variables are @code{calc-gnuplot-default-device} and @code{-output},
29115and @code{calc-gnuplot-print-device} and @code{-output}. The output 29277and @code{calc-gnuplot-print-device} and @code{-output}. The output
@@ -29122,7 +29284,8 @@ display or print the output of GNUPLOT, respectively. These may be
29122@code{nil} if no command is necessary, or strings which can include 29284@code{nil} if no command is necessary, or strings which can include
29123@samp{%s} to signify the name of the file to be displayed or printed. 29285@samp{%s} to signify the name of the file to be displayed or printed.
29124Or, these variables may contain Lisp expressions which are evaluated 29286Or, these variables may contain Lisp expressions which are evaluated
29125to display or print the output. 29287to display or print the output. These variables are customizable
29288(@pxref{Customizable Variables}).
29126 29289
29127@kindex g x 29290@kindex g x
29128@pindex calc-graph-display 29291@pindex calc-graph-display
@@ -29910,7 +30073,8 @@ Similarly, Calc will use @TeX{} language for @code{tex-mode},
29910@code{plain-tex-mode} and @code{context-mode}, C language for 30073@code{plain-tex-mode} and @code{context-mode}, C language for
29911@code{c-mode} and @code{c++-mode}, FORTRAN language for 30074@code{c-mode} and @code{c++-mode}, FORTRAN language for
29912@code{fortran-mode} and @code{f90-mode}, Pascal for @code{pascal-mode}, 30075@code{fortran-mode} and @code{f90-mode}, Pascal for @code{pascal-mode},
29913and eqn for @code{nroff-mode}. These can be overridden with Calc's mode 30076and eqn for @code{nroff-mode} (@pxref{Customizable Variables}).
30077These can be overridden with Calc's mode
29914changing commands (@pxref{Mode Settings in Embedded Mode}). If no 30078changing commands (@pxref{Mode Settings in Embedded Mode}). If no
29915suitable language is available, Calc will continue with its current language. 30079suitable language is available, Calc will continue with its current language.
29916 30080
@@ -30612,10 +30776,10 @@ for @code{Save} have no effect.
30612 30776
30613@noindent 30777@noindent
30614You can modify Embedded mode's behavior by setting various Lisp 30778You can modify Embedded mode's behavior by setting various Lisp
30615variables described here. Use @kbd{M-x set-variable} or 30779variables described here. These variables are customizable
30616@kbd{M-x edit-options} to adjust a variable on the fly, or 30780(@pxref{Customizable Variables}), or you can use @kbd{M-x set-variable}
30617put a suitable @code{setq} statement in your Calc init file (or 30781or @kbd{M-x edit-options} to adjust a variable on the fly.
30618@file{~/.emacs}) to set a variable permanently. (Another possibility would 30782(Another possibility would
30619be to use a file-local variable annotation at the end of the 30783be to use a file-local variable annotation at the end of the
30620file; @pxref{File Variables, , Local Variables in Files, emacs, the 30784file; @pxref{File Variables, , Local Variables in Files, emacs, the
30621Emacs manual}.) 30785Emacs manual}.)
@@ -30760,7 +30924,7 @@ is simply a newline, @code{"\n"}. If you change this, it is a
30760good idea still to end with a newline so that mode annotations 30924good idea still to end with a newline so that mode annotations
30761will appear on lines by themselves. 30925will appear on lines by themselves.
30762 30926
30763@node Programming, Installation, Embedded Mode, Top 30927@node Programming, Customizable Variables, Embedded Mode, Top
30764@chapter Programming 30928@chapter Programming
30765 30929
30766@noindent 30930@noindent
@@ -34610,70 +34774,204 @@ used the first time, your hook should add a variable to the
34610list and also call @code{make-local-variable} itself. 34774list and also call @code{make-local-variable} itself.
34611@end defvar 34775@end defvar
34612 34776
34613@node Installation, Reporting Bugs, Programming, Top 34777@node Customizable Variables, Reporting Bugs, Programming, Top
34614@appendix Installation 34778@appendix Customizable Variables
34779
34780GNU Calc is controlled by many variables, most of which can be reset
34781from within Calc. Some variables are less involved with actual
34782calculation, and can be set outside of Calc using Emacs's
34783customization facilities. These variables are listed below.
34784Typing @kbd{M-x customize-variable RET @var{variable-name} RET}
34785will bring up a buffer in which the variable's value can be redefined.
34786Typing @kbd{M-x customize-group RET calc RET} will bring up a buffer which
34787contains all of Calc's customizable variables. (These variables can
34788also be reset by putting the appropriate lines in your .emacs file;
34789@xref{Init File, ,Init File, emacs, The GNU Emacs Manual}.)
34790
34791Some of the customizable variables are regular expressions. A regular
34792expression is basically a pattern that Calc can search for.
34793See @ref{Regexp Search,, Regular Expression Search, emacs, The GNU Emacs Manual}
34794to see how regular expressions work.
34615 34795
34616@noindent 34796@table @code
34617As of Calc 2.02g, Calc is integrated with GNU Emacs, and thus requires
34618no separate installation of its Lisp files and this manual.
34619 34797
34620@appendixsec The GNUPLOT Program 34798@item calc-settings-file
34621 34799
34622@noindent 34800@vindex calc-settings-file
34623Calc's graphing commands use the GNUPLOT program. If you have GNUPLOT 34801The variable @code{calc-settings-file} holds the file name in
34624but you must type some command other than @file{gnuplot} to get it, 34802which commands like @kbd{m m} and @kbd{Z P} store ``permanent''
34625you should add a command to set the Lisp variable @code{calc-gnuplot-name} 34803definitions.
34626to the appropriate file name. You may also need to change the variables 34804If @code{calc-settings-file} is not your user init file (typically
34627@code{calc-gnuplot-plot-command} and @code{calc-gnuplot-print-command} in 34805@file{~/.emacs}) and if the variable @code{calc-loaded-settings-file} is
34628order to get correct displays and hardcopies, respectively, of your 34806@code{nil}, then Calc will automatically load your settings file (if it
34629plots. 34807exists) the first time Calc is invoked.
34808
34809The default value for this variable is @code{"~/.calc.el"}.
34810
34811@item calc-gnuplot-name
34812
34813See @ref{Graphics}.@*
34814The variable @code{calc-gnuplot-name} should be the name of the
34815GNUPLOT program (a string). If you have GNUPLOT installed on your
34816system but Calc is unable to find it, you may need to set this
34817variable. (@pxref{Customizable Variables})
34818You may also need to set some Lisp variables to show Calc how to run
34819GNUPLOT on your system, see @ref{Devices, ,Graphical Devices} . The default value
34820of @code{calc-gnuplot-name} is @code{"gnuplot"}.
34821
34822@item calc-gnuplot-plot-command
34823@itemx calc-gnuplot-print-command
34824
34825See @ref{Devices, ,Graphical Devices}.@*
34826The variables @code{calc-gnuplot-plot-command} and
34827@code{calc-gnuplot-print-command} represent system commands to
34828display and print the output of GNUPLOT, respectively. These may be
34829@code{nil} if no command is necessary, or strings which can include
34830@samp{%s} to signify the name of the file to be displayed or printed.
34831Or, these variables may contain Lisp expressions which are evaluated
34832to display or print the output.
34630 34833
34631@ifinfo 34834The default value of @code{calc-gnuplot-plot-command} is @code{nil},
34835and the default value of @code{calc-gnuplot-print-command} is
34836@code{"lp %s"}.
34837
34838@item calc-language-alist
34839
34840See @ref{Basic Embedded Mode}.@*
34841The variable @code{calc-language-alist} controls the languages that
34842Calc will associate with major modes. When Calc embedded mode is
34843enabled, it will try to use the current major mode to
34844determine what language should be used. (This can be overridden using
34845Calc's mode changing commands, @xref{Mode Settings in Embedded Mode}.)
34846The variable @code{calc-language-alist} consists of a list of pairs of
34847the form @code{(@var{MAJOR-MODE} . @var{LANGUAGE})}; for example,
34848@code{(latex-mode . latex)} is one such pair. If Calc embedded is
34849activated in a buffer whose major mode is @var{MAJOR-MODE}, it will set itself
34850to use the language @var{LANGUAGE}.
34851
34852The default value of @code{calc-language-alist} is
34632@example 34853@example
34633 34854 ((latex-mode . latex)
34855 (tex-mode . tex)
34856 (plain-tex-mode . tex)
34857 (context-mode . tex)
34858 (nroff-mode . eqn)
34859 (pascal-mode . pascal)
34860 (c-mode . c)
34861 (c++-mode . c)
34862 (fortran-mode . fortran)
34863 (f90-mode . fortran))
34634@end example 34864@end example
34635@end ifinfo
34636 34865
34637@appendixsec Settings File 34866@item calc-embedded-announce-formula
34638 34867
34639@noindent 34868See @ref{Customizing Embedded Mode}.@*
34640@vindex calc-settings-file 34869The variable @code{calc-embedded-announce-formula} helps determine
34641Another variable you might want to set is @code{calc-settings-file}, 34870what formulas @kbd{M-# a} will activate in a buffer. It is a
34642which holds the file name in which commands like @kbd{m m} and @kbd{Z P} 34871regular expression, and when activating embedded formulas with
34643store ``permanent'' definitions. The default value for this variable 34872@kbd{M-# a}, it will tell Calc that what follows is a formula to be
34644is @code{"~/.calc.el"}. If @code{calc-settings-file} is not your user 34873activated. (Calc also uses other patterns to find formulas, such as
34645init file (typically @file{~/.emacs}) and if the variable 34874@samp{=>} and @samp{:=}.)
34646@code{calc-loaded-settings-file} is @code{nil}, then Calc will
34647automatically load your settings file (if it exists) the first time
34648Calc is invoked.
34649 34875
34650@ifinfo 34876The default pattern is @code{"%Embed\n\\(% .*\n\\)*"}, which checks
34651@example 34877for @samp{%Embed} followed by any number of lines beginning with
34878@samp{%} and a space.
34652 34879
34653@end example 34880@item calc-embedded-open-formula
34654@end ifinfo 34881@itemx calc-embedded-close-formula
34655@appendixsec Testing the Installation
34656 34882
34657@noindent 34883See @ref{Customizing Embedded Mode}.@*
34658To test your installation of Calc, start a new Emacs and type @kbd{M-# c} 34884The variables @code{calc-embedded-open-formula} and
34659to make sure the autoloads and key bindings work. Type @kbd{M-# i} 34885@code{calc-embedded-open-formula} control the region that Calc will
34660to make sure Calc can find its Info documentation. Press @kbd{q} to 34886activate as a formula when Embedded mode is entered with @kbd{M-# e}.
34661exit the Info system and @kbd{M-# c} to re-enter the Calculator. 34887They are regular expressions;
34662Type @kbd{20 S} to compute the sine of 20 degrees; this will test the 34888Calc normally scans backward and forward in the buffer for the
34663autoloading of the extensions modules. The result should be 34889nearest text matching these regular expressions to be the ``formula
346640.342020143326. Finally, press @kbd{M-# c} again to make sure the 34890delimiters''.
34665Calculator can exit.
34666 34891
34667You may also wish to test the GNUPLOT interface; to plot a sine wave, 34892The simplest delimiters are blank lines. Other delimiters that
34668type @kbd{' [0 ..@: 360], sin(x) @key{RET} g f}. Type @kbd{g q} when you 34893Embedded mode understands by default are:
34669are done viewing the plot. 34894@enumerate
34895@item
34896The @TeX{} and La@TeX{} math delimiters @samp{$ $}, @samp{$$ $$},
34897@samp{\[ \]}, and @samp{\( \)};
34898@item
34899Lines beginning with @samp{\begin} and @samp{\end} (except matrix delimiters);
34900@item
34901Lines beginning with @samp{@@} (Texinfo delimiters).
34902@item
34903Lines beginning with @samp{.EQ} and @samp{.EN} (@dfn{eqn} delimiters);
34904@item
34905Lines containing a single @samp{%} or @samp{.\"} symbol and nothing else.
34906@end enumerate
34670 34907
34671Calc is now ready to use. If you wish to go through the Calc Tutorial, 34908@item calc-embedded-open-word
34672press @kbd{M-# t} to begin. 34909@itemx calc-embedded-close-word
34673@example
34674 34910
34675@end example 34911See @ref{Customizing Embedded Mode}.@*
34676@node Reporting Bugs, Summary, Installation, Top 34912The variables @code{calc-embedded-open-word} and
34913@code{calc-embedded-close-word} control the region that Calc will
34914activate when Embedded mode is entered with @kbd{M-# w}. They are
34915regular expressions.
34916
34917The default values of @code{calc-embedded-open-word} and
34918@code{calc-embedded-close-word} are @code{"^\\|[^-+0-9.eE]"} and
34919@code{"$\\|[^-+0-9.eE]"} respectively.
34920
34921@item calc-embedded-open-plain
34922@itemx calc-embedded-close-plain
34923
34924See @ref{Customizing Embedded Mode}.@*
34925The variables @code{calc-embedded-open-plain} and
34926@code{calc-embedded-open-plain} are used to delimit ``plain''
34927formulas. Note that these are actual strings, not regular
34928expressions, because Calc must be able to write these string into a
34929buffer as well as to recognize them.
34930
34931The default string for @code{calc-embedded-open-plain} is
34932@code{"%%% "}, note the trailing space. The default string for
34933@code{calc-embedded-close-plain} is @code{" %%%\n"}, without
34934the trailing newline here, the first line of a Big mode formula
34935that followed might be shifted over with respect to the other lines.
34936
34937@item calc-embedded-open-new-formula
34938@itemx calc-embedded-close-new-formula
34939
34940See @ref{Customizing Embedded Mode}.@*
34941The variables @code{calc-embedded-open-new-formula} and
34942@code{calc-embedded-close-new-formula} are strings which are
34943inserted before and after a new formula when you type @kbd{M-# f}.
34944
34945The default value of @code{calc-embedded-open-new-formula} is
34946@code{"\n\n"}. If this string begins with a newline character and the
34947@kbd{M-# f} is typed at the beginning of a line, @kbd{M-# f} will skip
34948this first newline to avoid introducing unnecessary blank lines in the
34949file. The default value of @code{calc-embedded-close-new-formula} is
34950also @code{"\n\n"}. The final newline is omitted by @w{@kbd{M-# f}}
34951if typed at the end of a line. (It follows that if @kbd{M-# f} is
34952typed on a blank line, both a leading opening newline and a trailing
34953closing newline are omitted.)
34954
34955@item calc-embedded-open-mode
34956@itemx calc-embedded-close-mode
34957
34958See @ref{Customizing Embedded Mode}.@*
34959The variables @code{calc-embedded-open-mode} and
34960@code{calc-embedded-close-mode} are strings which Calc will place before
34961and after any mode annotations that it inserts. Calc never scans for
34962these strings; Calc always looks for the annotation itself, so it is not
34963necessary to add them to user-written annotations.
34964
34965The default value of @code{calc-embedded-open-mode} is @code{"% "}
34966and the default value of @code{calc-embedded-close-mode} is
34967@code{"\n"}.
34968If you change the value of @code{calc-embedded-close-mode}, it is a good
34969idea still to end with a newline so that mode annotations will appear on
34970lines by themselves.
34971
34972@end table
34973
34974@node Reporting Bugs, Summary, Customizable Variables, Top
34677@appendix Reporting Bugs 34975@appendix Reporting Bugs
34678 34976
34679@noindent 34977@noindent
diff --git a/man/calendar.texi b/man/calendar.texi
index 747a6b822df..cf02377f1d9 100644
--- a/man/calendar.texi
+++ b/man/calendar.texi
@@ -433,7 +433,7 @@ click on that date with @kbd{Mouse-2} and then choose @kbd{Holidays}
433from the menu that appears. Either way, this displays the holidays for 433from the menu that appears. Either way, this displays the holidays for
434that date, in the echo area if they fit there, otherwise in a separate 434that date, in the echo area if they fit there, otherwise in a separate
435window. If the variable @code{view-calendar-holidays-initially} is 435window. If the variable @code{view-calendar-holidays-initially} is
436non-@code{nil}, holidays are displayed when the calendar is created. 436non-@code{nil}, creating the calendar displays holidays in this way.
437 437
438@kindex x @r{(Calendar mode)} 438@kindex x @r{(Calendar mode)}
439@findex mark-calendar-holidays 439@findex mark-calendar-holidays
@@ -449,9 +449,8 @@ both to the currently visible months and to other months that
449subsequently become visible by scrolling. To turn marking off and erase 449subsequently become visible by scrolling. To turn marking off and erase
450the current marks, type @kbd{u}, which also erases any diary marks 450the current marks, type @kbd{u}, which also erases any diary marks
451(@pxref{Diary}). If the variable @code{mark-holidays-in-calendar} is 451(@pxref{Diary}). If the variable @code{mark-holidays-in-calendar} is
452non-@code{nil}, holidays are marked in the calendar when it is created 452non-@code{nil}, creating or updating the calendar marks holidays
453(or recomputed). 453automatically.
454
455 454
456@kindex a @r{(Calendar mode)} 455@kindex a @r{(Calendar mode)}
457@findex list-calendar-holidays 456@findex list-calendar-holidays
@@ -692,6 +691,12 @@ Their calendar consists of twelve months of which the first six have 31
692days, the next five have 30 days, and the last has 29 in ordinary years 691days, the next five have 30 days, and the last has 29 in ordinary years
693and 30 in leap years. Leap years occur in a complicated pattern every 692and 30 in leap years. Leap years occur in a complicated pattern every
694four or five years. 693four or five years.
694The calendar implemented here is the arithmetical Persian calendar
695championed by Birashk, based on a 2,820-year cycle. It differs from
696the astronomical Persian calendar, which is based on astronomical
697events. As of this writing the first future discrepancy is projected
698to occur on March 20, 2025. It is currently not clear what the
699official calendar of Iran will be that far into the future.
695 700
696@cindex Chinese calendar 701@cindex Chinese calendar
697 The Chinese calendar is a complicated system of lunar months arranged 702 The Chinese calendar is a complicated system of lunar months arranged
@@ -937,7 +942,8 @@ date.
937 942
938 The name of the diary file is specified by the variable 943 The name of the diary file is specified by the variable
939@code{diary-file}; @file{~/diary} is the default. A sample diary file 944@code{diary-file}; @file{~/diary} is the default. A sample diary file
940is: 945is (note that the file format is essentially the same as that used by
946the external shell utility @samp{calendar}):
941 947
942@example 948@example
94312/22/1988 Twentieth wedding anniversary!! 94912/22/1988 Twentieth wedding anniversary!!
@@ -1005,13 +1011,14 @@ of the new window shows the date of the diary entries and any holidays
1005that fall on that date. If you specify a numeric argument with @kbd{d}, 1011that fall on that date. If you specify a numeric argument with @kbd{d},
1006it shows all the diary entries for that many successive days. Thus, 1012it shows all the diary entries for that many successive days. Thus,
1007@kbd{2 d} displays all the entries for the selected date and for the 1013@kbd{2 d} displays all the entries for the selected date and for the
1008following day. If the variable @code{view-diary-entries-initially} is 1014following day.
1009non-@code{nil}, the diary entries for the current date are displayed
1010when the calendar is created (provided the current date is visible).
1011 1015
1012 Another way to display the diary entries for a date is to click 1016 Another way to display the diary entries for a date is to click
1013@kbd{Mouse-2} on the date, and then choose @kbd{Diary entries} from 1017@kbd{Mouse-2} on the date, and then choose @kbd{Diary entries} from
1014the menu that appears. 1018the menu that appears. If the variable
1019@code{view-diary-entries-initially} is non-@code{nil}, creating the
1020calendar also lists diary entries for the current date (provided the
1021current date is visible).
1015 1022
1016@kindex m @r{(Calendar mode)} 1023@kindex m @r{(Calendar mode)}
1017@findex mark-diary-entries 1024@findex mark-diary-entries
@@ -1023,10 +1030,10 @@ with multiple faces is not available). @inforef{Calendar Customizing,
1023diary-entry-marker, emacs-xtra}. The command applies both to the 1030diary-entry-marker, emacs-xtra}. The command applies both to the
1024currently visible months and to other months that subsequently become 1031currently visible months and to other months that subsequently become
1025visible by scrolling. To turn marking off and erase the current marks, 1032visible by scrolling. To turn marking off and erase the current marks,
1026type @kbd{u}, which also turns off holiday marks (@pxref{Holidays}). If 1033type @kbd{u}, which also turns off holiday marks (@pxref{Holidays}).
1027the variable @code{mark-diary-entries-in-calendar} is non-@code{nil}, 1034If the variable @code{mark-diary-entries-in-calendar} is
1028diary dates are marked in the calendar when it is created (or 1035non-@code{nil}, creating or updating the calendar marks diary dates
1029recomputed). 1036automatically.
1030 1037
1031@kindex s @r{(Calendar mode)} 1038@kindex s @r{(Calendar mode)}
1032@findex show-all-diary-entries 1039@findex show-all-diary-entries
@@ -1034,14 +1041,12 @@ recomputed).
1034the @kbd{s} command. 1041the @kbd{s} command.
1035 1042
1036 Display of selected diary entries uses the selective display feature 1043 Display of selected diary entries uses the selective display feature
1037to hide entries that don't apply. 1044to hide entries that don't apply. The diary buffer as you see it is
1038 1045an illusion, so simply printing the buffer does not print what you see
1039 The diary buffer as you see it is an illusion, so simply printing the 1046on your screen. There is a special command to print hard copy of the
1040buffer does not print what you see on your screen. There is a special 1047diary buffer @emph{as it appears}; this command is @kbd{M-x
1041command to print hard copy of the diary buffer @emph{as it appears}; 1048print-diary-entries}. It sends the data directly to the printer. You
1042this command is @kbd{M-x print-diary-entries}. It sends the data 1049can customize it like @code{lpr-region} (@pxref{Hardcopy}).
1043directly to the printer. You can customize it like @code{lpr-region}
1044(@pxref{Hardcopy}).
1045 1050
1046@findex diary 1051@findex diary
1047 The command @kbd{M-x diary} displays the diary entries for the current 1052 The command @kbd{M-x diary} displays the diary entries for the current
diff --git a/man/cmdargs.texi b/man/cmdargs.texi
index 38ac3301781..d49ffba6103 100644
--- a/man/cmdargs.texi
+++ b/man/cmdargs.texi
@@ -1196,8 +1196,9 @@ appear until you deiconify it.
1196@opindex -hb 1196@opindex -hb
1197@itemx --horizontal-scroll-bars 1197@itemx --horizontal-scroll-bars
1198@opindex --horizontal-scroll-bars 1198@opindex --horizontal-scroll-bars
1199@cindex horizontal scroll bars, command-line argument 1199@c @cindex horizontal scroll bars, command-line argument
1200Enable horizontal scroll bars. 1200Enable horizontal scroll bars. Since horizontal scroll bars
1201are not yet implemented, this actually does nothing.
1201 1202
1202@item -vb 1203@item -vb
1203@opindex -vb 1204@opindex -vb
diff --git a/man/commands.texi b/man/commands.texi
index fe70983286f..e0208473419 100644
--- a/man/commands.texi
+++ b/man/commands.texi
@@ -169,8 +169,8 @@ key sequences, not one.@refill
169 169
170 All told, the prefix keys in Emacs are @kbd{C-c}, @kbd{C-h}, 170 All told, the prefix keys in Emacs are @kbd{C-c}, @kbd{C-h},
171@kbd{C-x}, @kbd{C-x @key{RET}}, @kbd{C-x @@}, @kbd{C-x a}, @kbd{C-x 171@kbd{C-x}, @kbd{C-x @key{RET}}, @kbd{C-x @@}, @kbd{C-x a}, @kbd{C-x
172n}, @w{@kbd{C-x r}}, @kbd{C-x v}, @kbd{C-x 4}, @kbd{C-x 5}, @kbd{C-x 172n}, @w{@kbd{C-x r}}, @kbd{C-x v}, @kbd{C-x 4}, @kbd{C-x 5}, @kbd{C-x 6},
1736}, @key{ESC}, and @kbd{M-g}. (@key{F1} and @key{F2} are aliases for 173@key{ESC}, @kbd{M-o} and @kbd{M-g}. (@key{F1} and @key{F2} are aliases for
174@kbd{C-h} and @kbd{C-x 6}.) But this list is not cast in concrete; it 174@kbd{C-h} and @kbd{C-x 6}.) But this list is not cast in concrete; it
175is just a matter of Emacs's standard key bindings. If you customize 175is just a matter of Emacs's standard key bindings. If you customize
176Emacs, you can make new prefix keys, or eliminate these. @xref{Key 176Emacs, you can make new prefix keys, or eliminate these. @xref{Key
diff --git a/man/custom.texi b/man/custom.texi
index 6c5c26b3451..30bac3bccf2 100644
--- a/man/custom.texi
+++ b/man/custom.texi
@@ -1636,6 +1636,27 @@ word:
1636(global-set-key [H-M-right] 'forward-word) 1636(global-set-key [H-M-right] 'forward-word)
1637@end example 1637@end example
1638 1638
1639@cindex keypad
1640 Many keyboards have a ``numeric keypad'' on the right hand side.
1641The numeric keys in the keypad double up as cursor motion keys,
1642toggled by a key labelled @samp{Num Lock}. By default, Emacs
1643translates these keys to the corresponding keys in the main keyboard
1644(@pxref{Keyboard Translations}). For example, when @samp{Num Lock} is
1645on, the key labelled @samp{8} on the numeric keypad produces
1646@code{kp-8}, which is translated to @kbd{8}; when @samp{Num Lock} is
1647off, the same key produces @code{kp-up}, which is translated to
1648@key{UP}. If you rebind a key such as @kbd{8} or @key{UP}, it affects
1649the equivalent keypad key too. However, if you rebind a @samp{kp-}
1650key directly, that won't affect its non-keypad equivalent.
1651
1652 Emacs provides a convenient method for binding the numeric keypad
1653keys, using the variables @code{keypad-setup},
1654@code{keypad-numlock-setup}, @code{keypad-shifted-setup}, and
1655@code{keypad-numlock-shifted-setup}. These can be found in the
1656@samp{keyboard} customization group (@pxref{Easy Customization}). You
1657can rebind the keys to perform other tasks, such as issuing numeric
1658prefix arguments.
1659
1639@node Named ASCII Chars 1660@node Named ASCII Chars
1640@subsection Named @acronym{ASCII} Control Characters 1661@subsection Named @acronym{ASCII} Control Characters
1641 1662
diff --git a/man/dired.texi b/man/dired.texi
index 6973a4e4000..b50ac82ab0b 100644
--- a/man/dired.texi
+++ b/man/dired.texi
@@ -39,6 +39,7 @@ files.
39* Hiding Subdirectories:: Making subdirectories visible or invisible. 39* Hiding Subdirectories:: Making subdirectories visible or invisible.
40* Updating: Dired Updating. Discarding lines for files of no interest. 40* Updating: Dired Updating. Discarding lines for files of no interest.
41* Find: Dired and Find. Using `find' to choose the files for Dired. 41* Find: Dired and Find. Using `find' to choose the files for Dired.
42* Wdired:: Operating on files by editing the Dired buffer.
42* Misc: Misc Dired Features. Various other features. 43* Misc: Misc Dired Features. Various other features.
43@end menu 44@end menu
44 45
@@ -1103,6 +1104,39 @@ operations work, but do not always automatically update the buffer.
1103Reverting the buffer with @kbd{g} deletes all inserted subdirectories, 1104Reverting the buffer with @kbd{g} deletes all inserted subdirectories,
1104and erases all flags and marks. 1105and erases all flags and marks.
1105 1106
1107@node Wdired
1108@section Editing the Dired Buffer
1109
1110@cindex wdired mode
1111@findex wdired-change-to-wdired-mode
1112 Wdired is a special mode that allows you to perform file operations
1113by editing the Dired buffer directly (the ``W'' in ``Wdired'' stands
1114for ``writable''.) To enter Wdired mode, type @kbd{M-x
1115wdired-change-to-wdired-mode} while in a Dired buffer. Alternatively,
1116use @samp{Edit File Names} in the @samp{Immediate} menu bar menu.
1117
1118@findex wdired-finish-edit
1119 While in Wdired mode, you can rename files by editing the file names
1120displayed in the Dired buffer. All the ordinary Emacs editing
1121commands, including rectangle operations and @code{query-replace}, are
1122available for this. Once you are done editing, type @kbd{C-c C-c}
1123(@code{wdired-finish-edit}). This applies your changes and switches
1124back to ordinary Dired mode.
1125
1126 Apart from simply renaming files, you can move a file to another
1127directory by typing in the new file name (either absolute or
1128relative). To mark a file for deletion, delete the entire filename.
1129To change the target of a symbolic link, just edit the target name
1130displayed next to the link name.
1131
1132 The rest of the text in the buffer, such as the file sizes and
1133modification dates, is marked read-only, so you can't edit it.
1134However, if you set @code{wdired-allow-to-change-permissions} to
1135@code{t}, the file permission bits can also be edited. For example,
1136you can change @samp{-rw-r--r--} to @samp{-rw-rw-rw-} to make a file
1137world-writable. These changes also take effect when you type @kbd{C-c
1138C-c}.
1139
1106@node Misc Dired Features 1140@node Misc Dired Features
1107@section Other Dired Features 1141@section Other Dired Features
1108 1142
diff --git a/man/emacs-mime.texi b/man/emacs-mime.texi
index c128ed096c3..11a07df5361 100644
--- a/man/emacs-mime.texi
+++ b/man/emacs-mime.texi
@@ -387,15 +387,15 @@ The program used to start an external terminal.
387 387
388@item mm-enable-external 388@item mm-enable-external
389@vindex mm-enable-external 389@vindex mm-enable-external
390Indicate whether external MIME handlers should be used. 390Indicate whether external @acronym{MIME} handlers should be used.
391 391
392If @code{t}, all defined external MIME handlers are used. If 392If @code{t}, all defined external @acronym{MIME} handlers are used. If
393@code{nil}, files are saved to disk (@code{mailcap-save-binary-file}). 393@code{nil}, files are saved to disk (@code{mailcap-save-binary-file}).
394If it is the symbol @code{ask}, you are prompted before the external 394If it is the symbol @code{ask}, you are prompted before the external
395@acronym{MIME} handler is invoked. 395@acronym{MIME} handler is invoked.
396 396
397When you launch an attachment through mailcap (@pxref{mailcap}) an 397When you launch an attachment through mailcap (@pxref{mailcap}) an
398attempt is made to use a safe viewer with the safest options--this isn't 398attempt is made to use a safe viewer with the safest options---this isn't
399the case if you save it to disk and launch it in a different way 399the case if you save it to disk and launch it in a different way
400(command line or double-clicking). Anyhow, if you want to be sure not 400(command line or double-clicking). Anyhow, if you want to be sure not
401to launch any external programs, set this variable to @code{nil} or 401to launch any external programs, set this variable to @code{nil} or
@@ -1327,8 +1327,8 @@ RFC2047 specifies two forms of encoding---@code{Q} (a
1327Quoted-Printable-like encoding) and @code{B} (base64). This alist 1327Quoted-Printable-like encoding) and @code{B} (base64). This alist
1328specifies which charset should use which encoding. 1328specifies which charset should use which encoding.
1329 1329
1330@item rfc2047-encoding-function-alist 1330@item rfc2047-encode-function-alist
1331@vindex rfc2047-encoding-function-alist 1331@vindex rfc2047-encode-function-alist
1332This is an alist of encoding / function pairs. The encodings are 1332This is an alist of encoding / function pairs. The encodings are
1333@code{Q}, @code{B} and @code{nil}. 1333@code{Q}, @code{B} and @code{nil}.
1334 1334
@@ -1336,6 +1336,11 @@ This is an alist of encoding / function pairs. The encodings are
1336@vindex rfc2047-encoded-word-regexp 1336@vindex rfc2047-encoded-word-regexp
1337When decoding words, this library looks for matches to this regexp. 1337When decoding words, this library looks for matches to this regexp.
1338 1338
1339@item rfc2047-encode-encoded-words
1340@vindex rfc2047-encode-encoded-words
1341The boolean variable specifies whether encoded words
1342(e.g. @samp{=?hello?=}) should be encoded again.
1343
1339@end table 1344@end table
1340 1345
1341Those were the variables, and these are this functions: 1346Those were the variables, and these are this functions:
@@ -1366,6 +1371,24 @@ Decode the encoded words in the region.
1366@findex rfc2047-decode-string 1371@findex rfc2047-decode-string
1367Decode a string and return the results. 1372Decode a string and return the results.
1368 1373
1374@item rfc2047-encode-parameter
1375@findex rfc2047-encode-parameter
1376Encode a parameter in the RFC2047-like style. This is a replacement for
1377the @code{rfc2231-encode-string} function. @xref{rfc2231}.
1378
1379When attaching files as @acronym{MIME} parts, we should use the RFC2231
1380encoding to specify the file names containing non-@acronym{ASCII}
1381characters. However, many mail softwares don't support it in practice
1382and recipients won't be able to extract files with correct names.
1383Instead, the RFC2047-like encoding is acceptable generally. This
1384function provides the very RFC2047-like encoding, resigning to such a
1385regrettable trend. To use it, put the following line in your
1386@file{~/.gnus.el} file:
1387
1388@lisp
1389(defalias 'mail-header-encode-parameter 'rfc2047-encode-parameter)
1390@end lisp
1391
1369@end table 1392@end table
1370 1393
1371 1394
diff --git a/man/emacs.texi b/man/emacs.texi
index 86b42baefc6..0ad3a5148c9 100644
--- a/man/emacs.texi
+++ b/man/emacs.texi
@@ -224,11 +224,13 @@ Recovery from Problems
224* Contributing:: How to contribute improvements to Emacs. 224* Contributing:: How to contribute improvements to Emacs.
225* Service:: How to get help for your own Emacs needs. 225* Service:: How to get help for your own Emacs needs.
226 226
227
228Detailed Node Listing
229---------------------
230
227Here are some other nodes which are really inferiors of the ones 231Here are some other nodes which are really inferiors of the ones
228already listed, mentioned here so you can get to them in one step: 232already listed, mentioned here so you can get to them in one step:
229 233
230 --- The Detailed Node Listing ---
231
232The Organization of the Screen 234The Organization of the Screen
233 235
234* Point:: The place in the text where editing commands operate. 236* Point:: The place in the text where editing commands operate.
@@ -563,6 +565,8 @@ Compiling and Testing Programs
563* Compilation Mode:: The mode for visiting compiler errors. 565* Compilation Mode:: The mode for visiting compiler errors.
564* Compilation Shell:: Customizing your shell properly 566* Compilation Shell:: Customizing your shell properly
565 for use in the compilation buffer. 567 for use in the compilation buffer.
568* Grep Searching:: Searching with grep.
569* Flymake:: Finding syntax errors on the fly.
566* Debuggers:: Running symbolic debuggers for non-Lisp programs. 570* Debuggers:: Running symbolic debuggers for non-Lisp programs.
567* Executing Lisp:: Various modes for editing Lisp programs, 571* Executing Lisp:: Various modes for editing Lisp programs,
568 with different facilities for running 572 with different facilities for running
@@ -676,6 +680,9 @@ Dired, the Directory Editor
676* Hiding Subdirectories:: Making subdirectories visible or invisible. 680* Hiding Subdirectories:: Making subdirectories visible or invisible.
677* Dired Updating:: Discarding lines for files of no interest. 681* Dired Updating:: Discarding lines for files of no interest.
678* Dired and Find:: Using `find' to choose the files for Dired. 682* Dired and Find:: Using `find' to choose the files for Dired.
683* Dired and Find:: Using `find' to choose the files for Dired.
684* Wdired:: Operating on files by editing the Dired buffer.
685* Misc Dired Features:: Various other features.
679 686
680The Calendar and the Diary 687The Calendar and the Diary
681 688
diff --git a/man/files.texi b/man/files.texi
index 1e40651a4ce..a03bb2a64ea 100644
--- a/man/files.texi
+++ b/man/files.texi
@@ -238,7 +238,7 @@ or tool bar) use the toolkit's standard File Selection dialog instead
238of prompting for the file name in the minibuffer. On Unix and 238of prompting for the file name in the minibuffer. On Unix and
239GNU/Linux platforms, Emacs does that when built with GTK, LessTif, and 239GNU/Linux platforms, Emacs does that when built with GTK, LessTif, and
240Motif toolkits; on MS-Windows, the GUI version does that by default. 240Motif toolkits; on MS-Windows, the GUI version does that by default.
241For information on how to customize this, see @xref{Dialog Boxes}. 241For information on how to customize this, see @ref{Dialog Boxes}.
242 242
243 Secondly, Emacs supports the ``drag and drop'' protocol on the X 243 Secondly, Emacs supports the ``drag and drop'' protocol on the X
244window system. Dropping a file into an ordinary Emacs window visits 244window system. Dropping a file into an ordinary Emacs window visits
@@ -940,14 +940,8 @@ Auto-Revert Tail mode, @kbd{M-x auto-revert-tail-mode}.
940for a changed file. Since checking a remote file is too slow, these 940for a changed file. Since checking a remote file is too slow, these
941modes do not check or revert remote files. 941modes do not check or revert remote files.
942 942
943@vindex auto-revert-check-vc-info 943@xref{VC Mode Line}, for Auto Revert peculiarities in buffers that
944 Whenever Auto Revert mode reverts the buffer, it updates the version 944visit files under version control.
945control information, such as the version control number displayed in
946the mode line. However, this information may not be properly updated
947if the version control state changes outside of Emacs---for example,
948if a new version is checked in from outside the current Emacs session.
949If you set @code{auto-revert-check-vc-info} to @code{t}, Auto Revert
950mode will update the version control status information periodically.
951 945
952@node Auto Save 946@node Auto Save
953@section Auto-Saving: Protection Against Disasters 947@section Auto-Saving: Protection Against Disasters
@@ -1272,6 +1266,10 @@ as multiple branches, are not available with SCCS. You should use
1272SCCS only if for some reason you cannot use RCS, or one of the 1266SCCS only if for some reason you cannot use RCS, or one of the
1273higher-level systems such as CVS or GNU Arch. 1267higher-level systems such as CVS or GNU Arch.
1274 1268
1269In the following, we discuss mainly RCS, SCCS and CVS. Nearly
1270everything said about CVS applies to Gnu Arch, Subversion and Meta-CVS
1271as well.
1272
1275@node VC Concepts 1273@node VC Concepts
1276@subsubsection Concepts of Version Control 1274@subsubsection Concepts of Version Control
1277 1275
@@ -1371,6 +1369,18 @@ locking is not in use). @samp{:} indicates that the file is locked, or
1371that it is modified. If the file is locked by some other user (for 1369that it is modified. If the file is locked by some other user (for
1372instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}. 1370instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}.
1373 1371
1372@vindex auto-revert-check-vc-info
1373 When Auto Revert mode (@pxref{Reverting}) reverts a buffer that is
1374under version control, it updates the version control information in
1375the mode line. However, Auto Revert mode may not properly update this
1376information if the version control status changes without changes to
1377the work file, from outside the current Emacs session. If you set
1378@code{auto-revert-check-vc-info} to @code{t}, Auto Revert mode updates
1379the version control status information every
1380@code{auto-revert-interval} seconds, even if the work file itself is
1381unchanged. The resulting CPU usage depends on the version control
1382system, but is usually not excessive.
1383
1374@node Basic VC Editing 1384@node Basic VC Editing
1375@subsection Basic Editing under Version Control 1385@subsection Basic Editing under Version Control
1376 1386
@@ -1472,9 +1482,9 @@ informs you if another user has checked in changes in the same file
1472since you began editing it, and when this happens, his changes will be 1482since you began editing it, and when this happens, his changes will be
1473effectively removed when you check in your version (though they will 1483effectively removed when you check in your version (though they will
1474remain in the master file, so they will not be entirely lost). You must 1484remain in the master file, so they will not be entirely lost). You must
1475therefore verify the current version is unchanged, before you check in your 1485therefore verify that the current version is unchanged, before you
1476changes. We hope to eliminate this risk and provide automatic merging 1486check in your changes. We hope to eliminate this risk and provide
1477with RCS in a future Emacs version. 1487automatic merging with RCS in a future Emacs version.
1478 1488
1479 In addition, locking is possible with RCS even in this mode, although 1489 In addition, locking is possible with RCS even in this mode, although
1480it is not required; @kbd{C-x v v} with an unmodified file locks the 1490it is not required; @kbd{C-x v v} with an unmodified file locks the
@@ -1698,13 +1708,10 @@ there is more than one system in use for a directory, Emacs uses the one
1698that appears first in @code{vc-handled-backends} (@pxref{Customizing VC}). 1708that appears first in @code{vc-handled-backends} (@pxref{Customizing VC}).
1699On the other hand, if there are no files already registered, 1709On the other hand, if there are no files already registered,
1700Emacs uses the first system from @code{vc-handled-backends} that could 1710Emacs uses the first system from @code{vc-handled-backends} that could
1701register the file---for example, you cannot register a file under CVS if 1711register the file (for example, you cannot register a file under CVS if
1702its directory is not already part of a CVS tree. 1712its directory is not already part of a CVS tree); with the default
1703 1713value of @code{vc-handled-backends}, this means that Emacs uses RCS in
1704 With the default value of @code{vc-handled-backends}, this means 1714this situation.
1705that Emacs uses RCS if there are any files under RCS control, CVS if
1706there are any files under CVS, SCCS if any files are under SCCS, or
1707RCS as the ultimate default.
1708 1715
1709 If locking is in use, @kbd{C-x v i} leaves the file unlocked and 1716 If locking is in use, @kbd{C-x v i} leaves the file unlocked and
1710read-only. Type @kbd{C-x v v} if you wish to start editing it. After 1717read-only. Type @kbd{C-x v v} if you wish to start editing it. After
@@ -1892,7 +1899,8 @@ marked files, so that you can lock or check in several files at once.
1892If it operates on more than one file, it handles each file according to 1899If it operates on more than one file, it handles each file according to
1893its current state; thus, it might lock one file, but check in another 1900its current state; thus, it might lock one file, but check in another
1894file. This could be confusing; it is up to you to avoid confusing 1901file. This could be confusing; it is up to you to avoid confusing
1895behavior by marking a set of files that are in a similar state. 1902behavior by marking a set of files that are in a similar state. If no
1903files are marked, @kbd{v v} operates on the file in the current line.
1896 1904
1897 If any files call for check-in, @kbd{v v} reads a single log entry, 1905 If any files call for check-in, @kbd{v v} reads a single log entry,
1898then uses it for all the files being checked in. This is convenient for 1906then uses it for all the files being checked in. This is convenient for
@@ -1920,8 +1928,7 @@ program in which you are gradually adding various unfinished new
1920features. Each such independent line of development is called a 1928features. Each such independent line of development is called a
1921@dfn{branch}. VC allows you to create branches, switch between 1929@dfn{branch}. VC allows you to create branches, switch between
1922different branches, and merge changes from one branch to another. 1930different branches, and merge changes from one branch to another.
1923Please note, however, that branches are only supported for RCS at the 1931Please note, however, that branches are not supported for SCCS.
1924moment.
1925 1932
1926 A file's main line of development is usually called the @dfn{trunk}. 1933 A file's main line of development is usually called the @dfn{trunk}.
1927The versions on the trunk are normally numbered 1.1, 1.2, 1.3, etc. At 1934The versions on the trunk are normally numbered 1.1, 1.2, 1.3, etc. At
@@ -2264,7 +2271,8 @@ But if you do this, the revision numbers in the RCS master no longer
2264correspond to those of CVS. Technically, this is not a problem, but 2271correspond to those of CVS. Technically, this is not a problem, but
2265it can become difficult to keep track of what is in the CVS repository 2272it can become difficult to keep track of what is in the CVS repository
2266and what is not. So we suggest that you return from time to time to 2273and what is not. So we suggest that you return from time to time to
2267CVS-only operation, using @kbd{C-u C-x v v cvs @key{RET}}. 2274CVS-only operation, by committing your local changes back to the
2275repository using @kbd{C-u C-x v v cvs @key{RET}}.
2268 2276
2269@node Snapshots 2277@node Snapshots
2270@subsection Snapshots 2278@subsection Snapshots
@@ -2552,13 +2560,11 @@ insert a suitable header string.
2552Insert headers in a file for use with your version-control system. 2560Insert headers in a file for use with your version-control system.
2553@end table 2561@end table
2554 2562
2555@vindex vc-header-alist 2563@vindex vc-@var{backend}-header
2556 The default header string is @samp{@w{$}Id$} for RCS and 2564 The default header string is @samp{@w{$}Id$} for RCS and
2557@samp{@w{%}W%} for SCCS. You can specify other headers to insert by 2565@samp{@w{%}W%} for SCCS. You can specify other headers to insert by
2558setting the variable @code{vc-header-alist}. Its value is a list of 2566setting the variables @code{vc-@var{backend}-header} where
2559elements of the form @code{(@var{program} . @var{string})} where 2567@var{backend} is @code{rcs} or @code{sccs}.
2560@var{program} is @code{RCS} or @code{SCCS} and @var{string} is the
2561string to use.
2562 2568
2563 Instead of a single string, you can specify a list of strings; then 2569 Instead of a single string, you can specify a list of strings; then
2564each string in the list is inserted as a separate header on a line of 2570each string in the list is inserted as a separate header on a line of
@@ -2586,8 +2592,8 @@ elements of the form @code{(@var{regexp} . @var{format})}. Whenever
2586@var{regexp} matches the buffer name, @var{format} is inserted as part 2592@var{regexp} matches the buffer name, @var{format} is inserted as part
2587of the header. A header line is inserted for each element that matches 2593of the header. A header line is inserted for each element that matches
2588the buffer name, and for each string specified by 2594the buffer name, and for each string specified by
2589@code{vc-header-alist}. The header line is made by processing the 2595@code{vc-@var{backend}-header}. The header line is made by processing the
2590string from @code{vc-header-alist} with the format taken from the 2596string from @code{vc-@var{backend}-header} with the format taken from the
2591element. The default value for @code{vc-static-header-alist} is as follows: 2597element. The default value for @code{vc-static-header-alist} is as follows:
2592 2598
2593@example 2599@example
@@ -2624,10 +2630,10 @@ headers.
2624@vindex vc-handled-backends 2630@vindex vc-handled-backends
2625The variable @code{vc-handled-backends} determines which version 2631The variable @code{vc-handled-backends} determines which version
2626control systems VC should handle. The default value is @code{(RCS CVS 2632control systems VC should handle. The default value is @code{(RCS CVS
2627SCCS)}, so it contains all three version systems that are currently 2633SVN SCCS Arch MCVS)}, so it contains all six version systems that are
2628supported. If you want VC to ignore one or more of these systems, 2634currently supported. If you want VC to ignore one or more of these
2629exclude its name from the list. To disable VC entirely, set this 2635systems, exclude its name from the list. To disable VC entirely, set
2630variable to @code{nil}. 2636this variable to @code{nil}.
2631 2637
2632The order of systems in the list is significant: when you visit a file 2638The order of systems in the list is significant: when you visit a file
2633registered in more than one system (@pxref{Local Version Control}), 2639registered in more than one system (@pxref{Local Version Control}),
@@ -2780,8 +2786,9 @@ pick up any recent changes from the repository first, using @kbd{C-x v m
2780@key{RET}}, @pxref{Merging}). 2786@key{RET}}, @pxref{Merging}).
2781 2787
2782@vindex vc-cvs-global-switches 2788@vindex vc-cvs-global-switches
2783 The variable @code{vc-cvs-global-switches} should be a string 2789 The variable @code{vc-cvs-global-switches}, if non-@code{nil},
2784specifying switches to pass to CVS for all CVS operations. 2790should be a string specifying switches to pass to CVS for all CVS
2791operations.
2785 2792
2786 When @code{vc-cvs-stay-local} is @code{t}, VC also makes local 2793 When @code{vc-cvs-stay-local} is @code{t}, VC also makes local
2787version backups, so that simple diff and revert operations are 2794version backups, so that simple diff and revert operations are
@@ -2900,7 +2907,7 @@ the command is finished. For more information about windows in Emacs,
2900 With a numeric argument, @code{compare-windows} ignores changes in 2907 With a numeric argument, @code{compare-windows} ignores changes in
2901whitespace. If the variable @code{compare-ignore-case} is 2908whitespace. If the variable @code{compare-ignore-case} is
2902non-@code{nil}, the comparison ignores differences in case as well. 2909non-@code{nil}, the comparison ignores differences in case as well.
2903If the variable @code{compare-ignore-whitespace} is non-nil, 2910If the variable @code{compare-ignore-whitespace} is non-@code{nil},
2904@code{compare-windows} normally ignores changes in whitespace, and a 2911@code{compare-windows} normally ignores changes in whitespace, and a
2905prefix argument turns that off. 2912prefix argument turns that off.
2906 2913
@@ -3298,6 +3305,10 @@ Clear the cache; that is, remove all file names from it.
3298@node File Conveniences 3305@node File Conveniences
3299@section Convenience Features for Finding Files 3306@section Convenience Features for Finding Files
3300 3307
3308 In this section, we introduce some convenient facilities for finding
3309recently-opened files, reading file names from a buffer, and viewing
3310image files.
3311
3301@findex recentf-mode 3312@findex recentf-mode
3302@vindex recentf-mode 3313@vindex recentf-mode
3303@findex recentf-save-list 3314@findex recentf-save-list
@@ -3308,25 +3319,22 @@ opened files. @kbd{M-x recentf-save-list} saves the current
3308@code{recent-file-list} to a file, and @kbd{M-x recentf-edit-list} 3319@code{recent-file-list} to a file, and @kbd{M-x recentf-edit-list}
3309edits it. 3320edits it.
3310 3321
3311@findex auto-image-file-mode
3312@findex mode, auto-image-file
3313@cindex images, visiting
3314@cindex visiting image files
3315@vindex image-file-name-regexps
3316@vindex image-file-name-extensions
3317 When Auto-image-file minor mode is enabled, visiting an image file
3318displays it as an image, not as text. Likewise, inserting an image
3319file into a buffer inserts it as an image. This works only when Emacs
3320can display the relevant image type. The variables
3321@code{image-file-name-extensions} or @code{image-file-name-regexps}
3322control which file names are recognized as containing images.
3323
3324 The @kbd{M-x ffap} command generalizes @code{find-file} with more 3322 The @kbd{M-x ffap} command generalizes @code{find-file} with more
3325powerful heuristic defaults (@pxref{FFAP}), often based on the text at 3323powerful heuristic defaults (@pxref{FFAP}), often based on the text at
3326point. Partial Completion mode offers other features extending 3324point. Partial Completion mode offers other features extending
3327@code{find-file}, which can be used with @code{ffap}. 3325@code{find-file}, which can be used with @code{ffap}.
3328@xref{Completion Options}. 3326@xref{Completion Options}.
3329 3327
3328@findex thumbs-mode
3329@findex mode, thumbs
3330 Thumbs mode is a major mode for viewing directories containing many
3331image files. To use it, type @kbd{M-x thumbs} and specify the
3332directory to view. The images in that directory will be displayed in
3333a @samp{Thumbs} buffer as @dfn{thumbnails}; type @kbd{RET} on a
3334thumbnail to view the full-size image. Thumbs mode requires the
3335@file{convert} program, which is part of the ImageMagick software
3336package.
3337
3330@ignore 3338@ignore
3331 arch-tag: 768d32cb-e15a-4cc1-b7bf-62c00ee12250 3339 arch-tag: 768d32cb-e15a-4cc1-b7bf-62c00ee12250
3332@end ignore 3340@end ignore
diff --git a/man/gnus-faq.texi b/man/gnus-faq.texi
index 42266aa4646..742227b64fc 100644
--- a/man/gnus-faq.texi
+++ b/man/gnus-faq.texi
@@ -1,210 +1,203 @@
1@c Insert "\input texinfo" at 1st line before texing this file alone. 1@c \input texinfo @c -*-texinfo-*-
2@c -*-texinfo-*- 2@c Uncomment 1st line before texing this file alone.
3@c Copyright (C) 1995, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. 3@c %**start of header
4@c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5@c
6@c Do not modify this file, it was generated from gnus-faq.xml, available from
7@c <URL:http://my.gnus.org/FAQ/>.
8@c
4@setfilename gnus-faq.info 9@setfilename gnus-faq.info
5 10@settitle Frequently Asked Questions
6@c Frequently Asked Questions, FAQ - Introduction, Emacs for Heathens, Top 11@c %**end of header
12@c
7 13
8@node Frequently Asked Questions 14@node Frequently Asked Questions
9@comment node-name, next, previous, up
10
11@c @chapter Frequently Asked Questions
12@section Frequently Asked Questions 15@section Frequently Asked Questions
13@cindex FAQ
14@cindex Frequently Asked Questions
15
16@c - Uncomment @chapter, comment @section
17@c - run (texinfo-every-node-update)
18@c - revert it.
19 16
20@menu 17@menu
21* FAQ - Introduction:: About Gnus and this FAQ. 18* FAQ - Changes::
22* FAQ 1 - Installation:: Installation of Gnus. 19* FAQ - Introduction:: About Gnus and this FAQ.
23* FAQ 2 - Startup / Group buffer:: Start up questions and the first 20* FAQ 1 - Installation FAQ:: Installation of Gnus.
24 buffer Gnus shows you. 21* FAQ 2 - Startup / Group buffer:: Start up questions and the
25* FAQ 3 - Getting messages:: Making Gnus read your mail and news. 22 first buffer Gnus shows you.
26* FAQ 4 - Reading messages:: How to efficiently read messages. 23* FAQ 3 - Getting Messages:: Making Gnus read your mail
27* FAQ 5 - Composing messages:: Composing mails or Usenet postings. 24 and news.
28* FAQ 6 - Old messages:: Importing, archiving, searching 25* FAQ 4 - Reading messages:: How to efficiently read
29 and deleting messages. 26 messages.
30* FAQ 7 - Gnus in a dial-up environment:: Reading mail and news while offline. 27* FAQ 5 - Composing messages:: Composing mails or Usenet
31* FAQ 8 - Getting help:: When this FAQ isn't enough. 28 postings.
32* FAQ 9 - Tuning Gnus:: How to make Gnus faster. 29* FAQ 6 - Old messages:: Importing, archiving,
33* FAQ - Glossary:: Terms used in the FAQ explained. 30 searching and deleting messages.
31* FAQ 7 - Gnus in a dial-up environment:: Reading mail and news while
32 offline.
33* FAQ 8 - Getting help:: When this FAQ isn't enough.
34* FAQ 9 - Tuning Gnus:: How to make Gnus faster.
35* FAQ - Glossary:: Terms used in the FAQ
36 explained.
34@end menu 37@end menu
35 38
36
37@subheading Abstract 39@subheading Abstract
38 40
39 This is the new Gnus Frequently Asked Questions list. If you have a 41This is the new Gnus Frequently Asked Questions list.
40Web browser, the official hypertext version is at 42If you have a Web browser, the official hypertext version is at
41@uref{http://my.gnus.org/FAQ/}, the Docbook source is available from 43@uref{http://my.gnus.org/FAQ/},
42@uref{http://sourceforge.net/projects/gnus/}. 44the Docbook source is available from
43 45@uref{http://sourceforge.net/projects/gnus/, http://sourceforge.net}.
44 46
45 Please submit features and suggestions to the 47Please submit features and suggestions to the
46 @email{faq-discuss@@my.gnus.org,FAQ discussion list}. 48@email{faq-discuss@@my.gnus.org, FAQ discussion list}.
47 The list is protected against junk mail with 49The list is protected against junk mail with
48 @uref{http://smarden.org/qconfirm/index.html,qconfirm, qconfirm}. As 50@uref{http://smarden.org/qconfirm/index.html, qconfirm}. As
49 a subscriber, your submissions will automatically pass. You can 51a subscriber, your submissions will automatically pass. You can
50 also subscribe to the list by sending a blank email to 52also subscribe to the list by sending a blank email to
51 @email{faq-discuss-subscribe@@my.gnus.org} 53@email{faq-discuss-subscribe@@my.gnus.org, faq-discuss-subscribe@@my.gnus.org}
52 and 54and @uref{http://mail1.kens.com/cgi-bin/ezmlm-browse?command=monthbythread%26list=faq-discuss, browse
53 @uref{http://mail1.kens.com/cgi-bin/ezmlm-browse?command=monthbythread%26list=faq-discuss,browse 55the archive}.
54 the archive, browse the archive}.
55
56@node FAQ - Introduction, FAQ 1 - Installation, Frequently Asked Questions, Frequently Asked Questions
57@comment node-name, next, previous, up
58@heading Introduction
59 56
60This is the Gnus Frequently Asked Questions list. 57@node FAQ - Changes
58@subheading Changes
61 59
62Gnus is a Usenet Newsreader and Electronic Mail User Agent implemented
63 as a part of Emacs. It's been around in some form for almost a decade
64 now, and has been distributed as a standard part of Emacs for much of
65 that time. Gnus 5 is the latest (and greatest) incarnation. The
66 original version was called GNUS, and was written by Masanobu UMEDA.
67 When autumn crept up in '94, Lars Magne Ingebrigtsen grew bored and
68 decided to rewrite Gnus.
69
70 Its biggest strength is the fact that it is extremely
71 customizable. It is somewhat intimidating at first glance, but
72 most of the complexity can be ignored until you're ready to take
73 advantage of it. If you receive a reasonable volume of e-mail
74 (you're on various mailing lists), or you would like to read
75 high-volume mailing lists but cannot keep up with them, or read
76 high volume newsgroups or are just bored, then Gnus is what you
77 want.
78
79 This FAQ was maintained by Justin Sheehy until March 2002. He
80 would like to thank Steve Baur and Per Abrahamsen for doing a wonderful
81 job with this FAQ before him. We would like to do the same - thanks,
82 Justin!
83
84 60
85 If you have a Web browser, the official hypertext version is at:@*
86 @uref{http://my.gnus.org/FAQ/}.
87 This version is much nicer than the unofficial hypertext
88 versions that are archived at Utrecht, Oxford, Smart Pages, Ohio
89 State, and other FAQ archives. See the resources question below
90 if you want information on obtaining it in another format.
91
92 61
93 The information contained here was compiled with the assistance 62@itemize @bullet
94 of the Gnus development mailing list, and any errors or 63
95 misprints are the my.gnus.org team's fault, sorry. 64@item
65Updated FAQ to reflect release of Gnus 5.10 and start of
66No Gnus development.
67@end itemize
96 68
69@node FAQ - Introduction
70@subheading Introduction
71
72This is the Gnus Frequently Asked Questions list.
97 73
98@ifnottex 74Gnus is a Usenet Newsreader and Electronic Mail User Agent implemented
99@node FAQ 1 - Installation, FAQ 2 - Startup / Group buffer, FAQ - Introduction, Frequently Asked Questions 75as a part of Emacs. It's been around in some form for almost a decade
100@end ifnottex 76now, and has been distributed as a standard part of Emacs for much of
101@subsection Installation 77that time. Gnus 5 is the latest (and greatest) incarnation. The
78original version was called GNUS, and was written by Masanobu UMEDA.
79When autumn crept up in '94, Lars Magne Ingebrigtsen grew bored and
80decided to rewrite Gnus.
81
82Its biggest strength is the fact that it is extremely
83customizable. It is somewhat intimidating at first glance, but
84most of the complexity can be ignored until you're ready to take
85advantage of it. If you receive a reasonable volume of e-mail
86(you're on various mailing lists), or you would like to read
87high-volume mailing lists but cannot keep up with them, or read
88high volume newsgroups or are just bored, then Gnus is what you
89want.
90
91This FAQ was maintained by Justin Sheehy until March 2002. He
92would like to thank Steve Baur and Per Abrahamsen for doing a wonderful
93job with this FAQ before him. We would like to do the same - thanks,
94Justin!
95
96If you have a Web browser, the official hypertext version is at:
97@uref{http://my.gnus.org/FAQ/}.
98This version is much nicer than the unofficial hypertext
99versions that are archived at Utrecht, Oxford, Smart Pages, Ohio
100State, and other FAQ archives. See the resources question below
101if you want information on obtaining it in another format.
102
103The information contained here was compiled with the assistance
104of the Gnus development mailing list, and any errors or
105misprints are the my.gnus.org team's fault, sorry.
106
107@node FAQ 1 - Installation FAQ
108@subsection Installation FAQ
102 109
103@menu 110@menu
104* [1.1]:: What is the latest version of Gnus? 111* [1.1]:: What is the latest version of Gnus?
105* [1.2]:: What's new in 5.10? 112* [1.2]:: What's new in 5.10?
106* [1.3]:: Where and how to get Gnus? 113* [1.3]:: Where and how to get Gnus?
107* [1.4]:: What to do with the tarball now? 114* [1.4]:: What to do with the tarball now?
108* [1.5]:: Which version of Emacs do I need? 115* [1.5]:: I sometimes read references to No Gnus and Oort Gnus, what
109* [1.6]:: How do I run Gnus on both Emacs and XEmacs? 116 are those?
117* [1.6]:: Which version of Emacs do I need?
118* [1.7]:: How do I run Gnus on both Emacs and XEmacs?
110@end menu 119@end menu
111 120
112 121@node [1.1]
113@ifnottex 122@subsubheading Question 1.1
114@node [1.1], [1.2], FAQ 1 - Installation, FAQ 1 - Installation
115@end ifnottex
116@subsubheading Question 1.1:
117 123
118What is the latest version of Gnus? 124What is the latest version of Gnus?
119 125
120Answer: 126@subsubheading Answer
121 127
122 Jingle please: Gnus 5.10 is released, get it while it's 128Jingle please: Gnus 5.10 is released, get it while it's
123 hot! As well as the step in version number is rather 129hot! As well as the step in version number is rather
124 small, Gnus 5.10 has tons of new features which you 130small, Gnus 5.10 has tons of new features which you
125 shouldn't miss, however if you are cautious, you might 131shouldn't miss. The current release (5.10.6) should be at
126 prefer to stay with 5.8.8 respectively 5.9 (they are 132least as stable as the latest release of the 5.8 series.
127 basically the same) until some bugfix releases are out.
128
129@ifnottex
130@node [1.2], [1.3], [1.1], FAQ 1 - Installation
131@end ifnottex
132@subsubheading Question 1.2:
133 133
134What's new in 5.10? 134@node [1.2]
135@subsubheading Question 1.2
135 136
136Answer: 137What's new in 5.10?
137 138
138 First of all, you should have a look into the file 139@subsubheading Answer
139 GNUS-NEWS in the toplevel directory of the Gnus tarball,
140 there the most important changes are listed. Here's a
141 short list of the changes I find especially
142 important/interesting:
143
144 140
145 141First of all, you should have a look into the file
142GNUS-NEWS in the toplevel directory of the Gnus tarball,
143there the most important changes are listed. Here's a
144short list of the changes I find especially
145important/interesting:
146 146
147@itemize @bullet{} 147@itemize @bullet
148 148
149@item 149@item
150 Major rewrite of the Gnus agent, Gnus agent is now 150Major rewrite of the Gnus agent, Gnus agent is now
151 active by default. 151active by default.
152 152
153@item 153@item
154 Many new article washing functions for dealing with 154Many new article washing functions for dealing with
155 ugly formatted articles. 155ugly formatted articles.
156 156
157@item 157@item
158 Anti Spam features. 158Anti Spam features.
159 159
160@item 160@item
161 message-utils now included in Gnus. 161Message-utils now included in Gnus.
162 162
163@item 163@item
164 New format specifiers for summary lines, e.g. %B for 164New format specifiers for summary lines, e.g. %B for
165 a complex trn-style thread tree. 165a complex trn-style thread tree.
166
167@end itemize 166@end itemize
168 167
169@ifnottex 168@node [1.3]
170@node [1.3], [1.4], [1.2], FAQ 1 - Installation 169@subsubheading Question 1.3
171@end ifnottex
172@subsubheading Question 1.3:
173 170
174Where and how to get Gnus? 171Where and how to get Gnus?
175 172
176Answer: 173@subsubheading Answer
177 174
178 The latest released version of Gnus isn't included in 175The latest released version of Gnus isn't included in
179 Emacs 21 and until now it also isn't available through the 176Emacs 21, therefor you should get the Gnus tarball from
180 package system of XEmacs 21.4, therefor you should get the 177@uref{http://www.gnus.org/dist/gnus.tar.gz}
181 Gnus tarball from 178or via anonymous FTP from
182 @uref{http://www.gnus.org/dist/gnus.tar.gz} 179@uref{ftp://ftp.gnus.org/pub/gnus/gnus.tar.gz}.
183 or via anonymous FTP from 180If you use XEmacs instead of Emacs you can use XEmacs'
184 @uref{ftp://ftp.gnus.org/pub/gnus/gnus.tar.gz}. 181package system instead.
185
186@ifnottex
187@node [1.4], [1.5], [1.3], FAQ 1 - Installation
188@end ifnottex
189@subsubheading Question 1.4:
190 182
191 What to do with the tarball now? 183@node [1.4]
192 184@subsubheading Question 1.4
193 185
194Answer: 186What to do with the tarball now?
195 187
196 Untar it via @samp{tar xvzf gnus.tar.gz} and do the common 188@subsubheading Answer
197 @samp{./configure; make; make install} circle. 189
198 (under MS-Windows either get the Cygwin environment from 190Untar it via @samp{tar xvzf gnus.tar.gz} and do the common
199 @uref{http://www.cygwin.com} 191@samp{./configure; make; make install} circle.
200 which allows you to do what's described above or unpack the 192(under MS-Windows either get the Cygwin environment from
201 tarball with some packer (e.g. Winace from 193@uref{http://www.cygwin.com}
202 @uref{http://www.winace.com}) 194which allows you to do what's described above or unpack the
203 and use the batch-file make.bat included in the tarball to install 195tarball with some packer (e.g. Winace from
204 Gnus. If you don't want to (or aren't allowed to) install Gnus 196@uref{http://www.winace.com})
205 system-wide, you can install it in your home directory and add the 197and use the batch-file make.bat included in the tarball to install
206 following lines to your ~/.xemacs/init.el or ~/.emacs: 198Gnus.) If you don't want to (or aren't allowed to) install Gnus
207 199system-wide, you can install it in your home directory and add the
200following lines to your ~/.xemacs/init.el or ~/.emacs:
208 201
209@example 202@example
210(add-to-list 'load-path "/path/to/gnus/lisp") 203(add-to-list 'load-path "/path/to/gnus/lisp")
@@ -212,436 +205,395 @@ Answer:
212 (add-to-list 'Info-directory-list "/path/to/gnus/texi/") 205 (add-to-list 'Info-directory-list "/path/to/gnus/texi/")
213 (add-to-list 'Info-default-directory-list "/path/to/gnus/texi/")) 206 (add-to-list 'Info-default-directory-list "/path/to/gnus/texi/"))
214@end example 207@end example
215
216@noindent 208@noindent
217 Make sure that you don't have any Gnus related stuff 209
218 before this line, on MS Windows use something like 210Make sure that you don't have any Gnus related stuff
219 "C:/path/to/lisp" (yes, "/"). 211before this line, on MS Windows use something like
220 212"C:/path/to/lisp" (yes, "/").
221@ifnottex 213
222@node [1.5], [1.6], [1.4], FAQ 1 - Installation 214@node [1.5]
223@end ifnottex 215@subsubheading Question 1.5
224@subsubheading Question 1.5: 216
217I sometimes read references to No Gnus and Oort Gnus,
218what are those?
219
220@subsubheading Answer
221
222Oort Gnus was the name of the development version of
223Gnus, which became Gnus 5.10 in autumn 2003. No Gnus is
224the name of the current development version which will
225once become Gnus 5.12 or Gnus 6. (If you're wondering why
226not 5.11, the odd version numbers are normally used for
227the Gnus versions bundled with Emacs)
228
229@node [1.6]
230@subsubheading Question 1.6
225 231
226Which version of Emacs do I need? 232Which version of Emacs do I need?
227 233
228Answer: 234@subsubheading Answer
229 235
230 Gnus 5.10 requires an Emacs version that is greater 236Gnus 5.10 requires an Emacs version that is greater
231 than or equal to Emacs 20.7 or XEmacs 21.1. 237than or equal to Emacs 20.7 or XEmacs 21.1. The
232 238development versions of Gnus (aka No Gnus) require Emacs
233@ifnottex 23921 or XEmacs 21.4.
234@node [1.6], , [1.5], FAQ 1 - Installation 240
235@end ifnottex 241@node [1.7]
236@subsubheading Question 1.6: 242@subsubheading Question 1.7
237 243
238How do I run Gnus on both Emacs and XEmacs? 244How do I run Gnus on both Emacs and XEmacs?
239 245
240Answer: 246@subsubheading Answer
241 247
242 You can't use the same copy of Gnus in both as the Lisp 248You can't use the same copy of Gnus in both as the Lisp
243 files are byte-compiled to a format which is different 249files are byte-compiled to a format which is different
244 depending on which Emacs did the compilation. Get one copy 250depending on which Emacs did the compilation. Get one copy
245 of Gnus for Emacs and one for XEmacs. 251of Gnus for Emacs and one for XEmacs.
246 252
247@ifnottex 253@node FAQ 2 - Startup / Group buffer
248@node FAQ 2 - Startup / Group buffer, FAQ 3 - Getting messages, FAQ 1 - Installation, Frequently Asked Questions
249@end ifnottex
250@subsection Startup / Group buffer 254@subsection Startup / Group buffer
251 255
252@menu 256@menu
253* [2.1]:: Every time I start Gnus I get a message 257* [2.1]:: Every time I start Gnus I get a message "Gnus auto-save
254 "Gnus auto-save file exists. Do you want to read it?", 258 file exists. Do you want to read it?", what does this mean and
255 what does this mean and how to prevent it? 259 how to prevent it?
256* [2.2]:: Gnus doesn't remember which groups I'm subscribed to, what's this? 260* [2.2]:: Gnus doesn't remember which groups I'm subscribed to,
257* [2.3]:: How to change the format of the lines in Group buffer? 261 what's this?
258* [2.4]:: My group buffer becomes a bit crowded, is there a way to sort my 262* [2.3]:: How to change the format of the lines in Group buffer?
259 groups into categories so I can easier browse through them? 263* [2.4]:: My group buffer becomes a bit crowded, is there a way to
260* [2.5]:: How to manually sort the groups in Group buffer? How to sort the 264 sort my groups into categories so I can easier browse through
261 groups in a topic? 265 them?
266* [2.5]:: How to manually sort the groups in Group buffer? How to
267 sort the groups in a topic?
262@end menu 268@end menu
263 269
264@ifnottex 270@node [2.1]
265@node [2.1], [2.2], FAQ 2 - Startup / Group buffer, FAQ 2 - Startup / Group buffer 271@subsubheading Question 2.1
266@end ifnottex
267@subsubheading Question 2.1:
268 272
269 Every time I start Gnus I get a message "Gnus auto-save 273Every time I start Gnus I get a message "Gnus auto-save
270 file exists. Do you want to read it?", what does this mean 274file exists. Do you want to read it?", what does this mean
271 and how to prevent it? 275and how to prevent it?
272
273 276
274Answer: 277@subsubheading Answer
275 278
276 This message means that the last time you used Gnus, it 279This message means that the last time you used Gnus, it
277 wasn't properly exited and therefor couldn't write its 280wasn't properly exited and therefor couldn't write its
278 informations to disk (e.g. which messages you read), you 281informations to disk (e.g. which messages you read), you
279 are now asked if you want to restore those informations 282are now asked if you want to restore those informations
280 from the auto-save file. 283from the auto-save file.
281
282 284
283 To prevent this message make sure you exit Gnus 285To prevent this message make sure you exit Gnus
284 via @samp{q} in group buffer instead of 286via @samp{q} in group buffer instead of
285 just killing Emacs. 287just killing Emacs.
286
287@ifnottex
288@node [2.2], [2.3], [2.1], FAQ 2 - Startup / Group buffer
289@end ifnottex
290@subsubheading Question: 2.2
291 288
292 Gnus doesn't remember which groups I'm subscribed to, 289@node [2.2]
293 what's this? 290@subsubheading Question 2.2
294
295 291
296Answer: 292Gnus doesn't remember which groups I'm subscribed to,
293what's this?
297 294
298 You get the message described in the q/a pair above while 295@subsubheading Answer
299 starting Gnus, right? It's an other symptom for the same
300 problem, so read the answer above.
301
302@ifnottex
303@node [2.3], [2.4], [2.2], FAQ 2 - Startup / Group buffer
304@end ifnottex
305@subsubheading Question 2.3:
306 296
307 How to change the format of the lines in Group buffer? 297You get the message described in the q/a pair above while
308 298starting Gnus, right? It's an other symptom for the same
299problem, so read the answer above.
309 300
310Answer: 301@node [2.3]
302@subsubheading Question 2.3
311 303
312 You've got to tweak the value of the variable 304How to change the format of the lines in Group buffer?
313 gnus-group-line-format. See the manual node "Group Line
314 Specification" for information on how to do this. An
315 example for this (guess from whose .gnus :-)):
316
317 305
318@example 306@subsubheading Answer
319 307
308You've got to tweak the value of the variable
309gnus-group-line-format. See the manual node "Group Line
310Specification" for information on how to do this. An
311example for this (guess from whose .gnus :-)):
312
313@example
320(setq gnus-group-line-format "%P%M%S[%5t]%5y : %(%g%)\n") 314(setq gnus-group-line-format "%P%M%S[%5t]%5y : %(%g%)\n")
321
322@end example 315@end example
323 316@noindent
324@ifnottex
325@node [2.4], [2.5], [2.3], FAQ 2 - Startup / Group buffer
326@end ifnottex
327@subsubheading Question 2.4:
328
329 My group buffer becomes a bit crowded, is there a way to
330 sort my groups into categories so I can easier browse
331 through them?
332
333 317
334Answer: 318@node [2.4]
319@subsubheading Question 2.4
335 320
336 Gnus offers the topic mode, it allows you to sort your 321My group buffer becomes a bit crowded, is there a way to
337 groups in, well, topics, e.g. all groups dealing with 322sort my groups into categories so I can easier browse
338 Linux under the topic linux, all dealing with music under 323through them?
339 the topic music and all dealing with scottish music under
340 the topic scottish which is a subtopic of music.
341
342 324
343 To enter topic mode, just hit t while in Group buffer. Now 325@subsubheading Answer
344 you can use @samp{T n} to create a topic
345 at point and @samp{T m} to move a group to
346 a specific topic. For more commands see the manual or the
347 menu. You might want to include the %P specifier at the
348 beginning of your gnus-group-line-format variable to have
349 the groups nicely indented.
350
351@ifnottex
352@node [2.5], , [2.4], FAQ 2 - Startup / Group buffer
353@end ifnottex
354@subsubheading Question 2.5:
355 326
356 How to manually sort the groups in Group buffer? How to 327Gnus offers the topic mode, it allows you to sort your
357 sort the groups in a topic? 328groups in, well, topics, e.g. all groups dealing with
358 329Linux under the topic linux, all dealing with music under
330the topic music and all dealing with scottish music under
331the topic scottish which is a subtopic of music.
359 332
360Answer: 333To enter topic mode, just hit t while in Group buffer. Now
334you can use @samp{T n} to create a topic
335at point and @samp{T m} to move a group to
336a specific topic. For more commands see the manual or the
337menu. You might want to include the %P specifier at the
338beginning of your gnus-group-line-format variable to have
339the groups nicely indented.
361 340
362 Move point over the group you want to move and 341@node [2.5]
363 hit @samp{C-k}, now move point to the 342@subsubheading Question 2.5
364 place where you want the group to be and 343
365 hit @samp{C-y}. 344How to manually sort the groups in Group buffer? How to
366 345sort the groups in a topic?
367@ifnottex 346
368@node FAQ 3 - Getting messages, FAQ 4 - Reading messages, FAQ 2 - Startup / Group buffer, Frequently Asked Questions 347@subsubheading Answer
369@end ifnottex 348
370@subsection Getting messages 349Move point over the group you want to move and
350hit @samp{C-k}, now move point to the
351place where you want the group to be and
352hit @samp{C-y}.
353
354@node FAQ 3 - Getting Messages
355@subsection Getting Messages
371 356
372@menu 357@menu
373* [3.1]:: I just installed Gnus, started it via M-x gnus but it only says 358* [3.1]:: I just installed Gnus, started it via @samp{M-x gnus}
374 "nntp (news) open error", what to do? 359 but it only says "nntp (news) open error", what to do?
375* [3.2]:: I'm working under Windows and have no idea what ~/.gnus means. 360* [3.2]:: I'm working under Windows and have no idea what ~/.gnus.el
376* [3.3]:: My news server requires authentication, how to store user name 361 means.
377 and password on disk? 362* [3.3]:: My news server requires authentication, how to store user
378* [3.4]:: Gnus seems to start up OK, but I can't find out how to 363 name and password on disk?
379 subscribe to a group. 364* [3.4]:: Gnus seems to start up OK, but I can't find out how to
380* [3.5]:: Gnus doesn't show all groups / Gnus says I'm not allowed to 365 subscribe to a group.
381 post on this server as well as I am, what's that? 366* [3.5]:: Gnus doesn't show all groups / Gnus says I'm not allowed
382* [3.6]:: I want Gnus to fetch news from several servers, is this possible? 367 to post on this server as well as I am, what's that?
383* [3.7]:: And how about local spool files? 368* [3.6]:: I want Gnus to fetch news from several servers, is this
384* [3.8]:: OK, reading news works now, but I want to be able to read my mail 369 possible?
385 with Gnus, too. How to do it? 370* [3.7]:: And how about local spool files?
386* [3.9]:: And what about IMAP? 371* [3.8]:: OK, reading news works now, but I want to be able to read
387* [3.10]:: At the office we use one of those MS Exchange servers, 372 my mail with Gnus, too. How to do it?
388 can I use Gnus to read my mail from it? 373* [3.9]:: And what about IMAP?
389* [3.11]:: Can I tell Gnus not to delete the mails on the server 374* [3.10]:: At the office we use one of those MS Exchange servers, can
390 it retrieves via POP3? 375 I use Gnus to read my mail from it?
376* [3.11]:: Can I tell Gnus not to delete the mails on the server it
377 retrieves via POP3?
391@end menu 378@end menu
392 379
393@ifnottex 380@node [3.1]
394@node [3.1], [3.2], FAQ 3 - Getting messages, FAQ 3 - Getting messages 381@subsubheading Question 3.1
395@end ifnottex
396@subsubheading Question 3.1:
397 382
398 I just installed Gnus, started it via 383I just installed Gnus, started it via
399 @samp{M-x gnus} 384@samp{M-x gnus}
400 but it only says "nntp (news) open error", what to do? 385but it only says "nntp (news) open error", what to do?
401
402 386
403Answer: 387@subsubheading Answer
404 388
405 You've got to tell Gnus where to fetch the news from. Read 389You've got to tell Gnus where to fetch the news from. Read
406 the documentation for information on how to do this. As a 390the documentation for information on how to do this. As a
407 first start, put those lines in ~/.gnus: 391first start, put those lines in ~/.gnus.el:
408
409 392
410@example 393@example
411(setq gnus-select-method '(nntp "news.yourprovider.net")) 394(setq gnus-select-method '(nntp "news.yourprovider.net"))
412(setq user-mail-address "you@@yourprovider.net") 395(setq user-mail-address "you@@yourprovider.net")
413(setq user-full-name "Your Name") 396(setq user-full-name "Your Name")
414@end example 397@end example
415 398@noindent
416@ifnottex
417@node [3.2], [3.3], [3.1], FAQ 3 - Getting messages
418@end ifnottex
419@subsubheading Question 3.2:
420
421 I'm working under Windows and have no idea what ~/.gnus means.
422
423 399
424Answer: 400@node [3.2]
425 401@subsubheading Question 3.2
426 The ~/ means the home directory where Gnus and Emacs look for the 402
427configuration files. However, you don't really need to know what this 403I'm working under Windows and have no idea what ~/.gnus.el means.
428means, it suffices that Emacs knows what it means :-) You can type 404
429@samp{C-x C-f ~/.gnus RET } (yes, with the forward slash, even on 405@subsubheading Answer
430Windows), and Emacs will open the right file for you. (It will most 406
431likely be new, and thus empty.) However, I'd discourage you from 407The ~/ means the home directory where Gnus and Emacs look
432doing so, since the directory Emacs chooses will most certainly not be 408for the configuration files. However, you don't really
433what you want, so let's do it the correct way. The first thing you've 409need to know what this means, it suffices that Emacs knows
434got to do is to create a suitable directory (no blanks in directory 410what it means :-) You can type
435name please) e.g. @file{c:\myhome}. Then you must set the environment 411@samp{C-x C-f ~/.gnus.el RET }
436variable HOME to this directory. To do this under Win9x or Me include 412(yes, with the forward slash, even on Windows), and
437the line 413Emacs will open the right file for you. (It will most
438 414likely be new, and thus empty.)
415However, I'd discourage you from doing so, since the
416directory Emacs chooses will most certainly not be what
417you want, so let's do it the correct way.
418The first thing you've got to do is to
419create a suitable directory (no blanks in directory name
420please) e.g. c:\myhome. Then you must set the environment
421variable HOME to this directory. To do this under Win9x
422or Me include the line
439 423
440@example 424@example
441
442SET HOME=C:\myhome 425SET HOME=C:\myhome
443
444@end example 426@end example
445
446@noindent 427@noindent
447 in your autoexec.bat and reboot. Under NT, 2000 and XP,
448 hit Winkey+Pause/Break to enter system options (if it
449 doesn't work, go to Control Panel -> System). There you'll
450 find the possibility to set environment variables, create
451 a new one with name HOME and value @file{c:\myhome}, a reboot is
452 not necessary.
453
454 428
455 Now to create ~/.gnus, say 429in your autoexec.bat and reboot. Under NT, 2000 and XP,
456 @samp{C-x C-f ~/.gnus RET C-x C-s}. 430hit Winkey+Pause/Break to enter system options (if it
457 in Emacs. 431doesn't work, go to Control Panel -> System). There you'll
458 432find the possibility to set environment variables, create
459@ifnottex 433a new one with name HOME and value C:\myhome, a reboot is
460@node [3.3], [3.4], [3.2], FAQ 3 - Getting messages 434not necessary.
461@end ifnottex
462@subsubheading Question 3.3:
463 435
464 My news server requires authentication, how to store 436Now to create ~/.gnus.el, say
465 user name and password on disk? 437@samp{C-x C-f ~/.gnus.el RET C-x C-s}.
466 438in Emacs.
467 439
468Answer: 440@node [3.3]
441@subsubheading Question 3.3
469 442
470 Create a file ~/.authinfo which includes for each server a line like this 443My news server requires authentication, how to store
471 444user name and password on disk?
445
446@subsubheading Answer
447
448Create a file ~/.authinfo which includes for each server a line like this
472 449
473@example 450@example
474machine news.yourprovider.net login YourUserName password YourPassword 451machine news.yourprovider.net login YourUserName password YourPassword
475@end example 452@end example
476
477@noindent 453@noindent
478. 454.
479 Make sure that the file isn't readable to others if you 455Make sure that the file isn't readable to others if you
480 work on a OS which is capable of doing so. (Under Unix 456work on a OS which is capable of doing so. (Under Unix
481 say 457say
482
483@example 458@example
484chmod 600 ~/.authinfo 459chmod 600 ~/.authinfo
485@end example 460@end example
486
487@noindent 461@noindent
488 in a shell.)
489
490@ifnottex
491@node [3.4], [3.5], [3.3], FAQ 3 - Getting messages
492@end ifnottex
493@subsubheading Question 3.4:
494 462
495 Gnus seems to start up OK, but I can't find out how to 463in a shell.)
496 subscribe to a group.
497
498 464
499Answer: 465@node [3.4]
466@subsubheading Question 3.4
500 467
501 If you know the name of the group say @samp{U 468Gnus seems to start up OK, but I can't find out how to
502 name.of.group RET} in group buffer (use the 469subscribe to a group.
503 tab-completion Luke). Otherwise hit ^ in group buffer,
504 this brings you to the server buffer. Now place point (the
505 cursor) over the server which carries the group you want,
506 hit @samp{RET}, move point to the group
507 you want to subscribe to and say @samp{u}
508 to subscribe to it.
509
510@ifnottex
511@node [3.5], [3.6], [3.4], FAQ 3 - Getting messages
512@end ifnottex
513@subsubheading Question 3.5:
514 470
515 Gnus doesn't show all groups / Gnus says I'm not allowed to 471@subsubheading Answer
516 post on this server as well as I am, what's that?
517
518 472
519Answer: 473If you know the name of the group say @samp{U
474name.of.group RET} in group buffer (use the
475tab-completion Luke). Otherwise hit ^ in group buffer,
476this brings you to the server buffer. Now place point (the
477cursor) over the server which carries the group you want,
478hit @samp{RET}, move point to the group
479you want to subscribe to and say @samp{u}
480to subscribe to it.
520 481
521 Some providers allow restricted anonymous access and full 482@node [3.5]
522 access only after authorization. To make Gnus send authinfo 483@subsubheading Question 3.5
523 to those servers append 484
524 485Gnus doesn't show all groups / Gnus says I'm not allowed to
486post on this server as well as I am, what's that?
487
488@subsubheading Answer
489
490Some providers allow restricted anonymous access and full
491access only after authorization. To make Gnus send authinfo
492to those servers append
525 493
526@example 494@example
527force yes 495force yes
528@end example 496@end example
529
530
531@noindent 497@noindent
532 to the line for those servers in ~/.authinfo.
533 498
534@ifnottex 499to the line for those servers in ~/.authinfo.
535@node [3.6], [3.7], [3.5], FAQ 3 - Getting messages
536@end ifnottex
537@subsubheading Question 3.6:
538 500
539 I want Gnus to fetch news from several servers, is this possible? 501@node [3.6]
540 502@subsubheading Question 3.6
541 503
542Answer: 504I want Gnus to fetch news from several servers, is this possible?
543 505
544 Of course. You can specify more sources for articles in the 506@subsubheading Answer
545 variable gnus-secondary-select-methods. Add something like 507
546 this in ~/.gnus: 508Of course. You can specify more sources for articles in the
547 509variable gnus-secondary-select-methods. Add something like
510this in ~/.gnus.el:
548 511
549@example 512@example
550(add-to-list 'gnus-secondary-select-methods 513(add-to-list 'gnus-secondary-select-methods
551 '(nntp "news.yourSecondProvider.net")) 514 '(nntp "news.yourSecondProvider.net"))
552(add-to-list 'gnus-secondary-select-methods 515(add-to-list 'gnus-secondary-select-methods
553 '(nntp "news.yourThirdProvider.net")) 516 '(nntp "news.yourThirdProvider.net"))
554@end example 517@end example
555 518@noindent
556@ifnottex
557@node [3.7], [3.8], [3.6], FAQ 3 - Getting messages
558@end ifnottex
559@subsubheading Question 3.7:
560 519
561 And how about local spool files? 520@node [3.7]
562 521@subsubheading Question 3.7
563 522
564Answer: 523And how about local spool files?
565 524
566 No problem, this is just one more select method called 525@subsubheading Answer
567 nnspool, so you want this: 526
568 527No problem, this is just one more select method called
528nnspool, so you want this:
569 529
570@example 530@example
571(add-to-list 'gnus-secondary-select-methods '(nnspool "")) 531(add-to-list 'gnus-secondary-select-methods '(nnspool ""))
572@end example 532@end example
573
574@noindent 533@noindent
575 Or this if you don't want an NNTP Server as primary news source: 534
576 535Or this if you don't want an NNTP Server as primary news source:
577 536
578@example 537@example
579(setq gnus-select-method '(nnspool "")) 538(setq gnus-select-method '(nnspool ""))
580@end example 539@end example
581
582@noindent 540@noindent
583 Gnus will look for the spool file in /usr/spool/news, if you 541
584 want something different, change the line above to something like this: 542Gnus will look for the spool file in /usr/spool/news, if you
585 543want something different, change the line above to something like this:
586 544
587@example 545@example
588(add-to-list 'gnus-secondary-select-methods 546(add-to-list 'gnus-secondary-select-methods
589 '(nnspool "" (nnspool-directory "/usr/local/myspoolddir"))) 547 '(nnspool ""
548 (nnspool-directory "/usr/local/myspoolddir")))
590@end example 549@end example
591
592@noindent 550@noindent
593 This sets the spool directory for this server only.
594 You might have to specify more stuff like the program used
595 to post articles, see the Gnus manual on how to do this.
596
597@ifnottex
598@node [3.8], [3.9], [3.7], FAQ 3 - Getting messages
599@end ifnottex
600@subsubheading Question 3.8:
601 551
602 OK, reading news works now, but I want to be able to read my mail 552This sets the spool directory for this server only.
603 with Gnus, too. How to do it? 553You might have to specify more stuff like the program used
604 554to post articles, see the Gnus manual on how to do this.
605 555
606Answer: 556@node [3.8]
607 557@subsubheading Question 3.8
608 That's a bit harder since there are many possible sources 558
609 for mail, many possible ways for storing mail and many 559OK, reading news works now, but I want to be able to read my mail
610 different ways for sending mail. The most common cases are 560with Gnus, too. How to do it?
611 these: 1: You want to read your mail from a pop3 server and 561
612 send them directly to a SMTP Server 2: Some program like 562@subsubheading Answer
613 fetchmail retrieves your mail and stores it on disk from 563
614 where Gnus shall read it. Outgoing mail is sent by 564That's a bit harder since there are many possible sources
615 Sendmail, Postfix or some other MTA. Sometimes, you even 565for mail, many possible ways for storing mail and many
616 need a combination of the above cases. 566different ways for sending mail. The most common cases are
617 567these: 1: You want to read your mail from a pop3 server and
618 568send them directly to a SMTP Server 2: Some program like
619 However, the first thing to do is to tell Gnus in which way 569fetchmail retrieves your mail and stores it on disk from
620 it should store the mail, in Gnus terminology which back end 570where Gnus shall read it. Outgoing mail is sent by
621 to use. Gnus supports many different back ends, the most 571Sendmail, Postfix or some other MTA. Sometimes, you even
622 commonly used one is nnml. It stores every mail in one file 572need a combination of the above cases.
623 and is therefor quite fast. However you might prefer a one 573
624 file per group approach if your file system has problems with 574However, the first thing to do is to tell Gnus in which way
625 many small files, the nnfolder back end is then probably the 575it should store the mail, in Gnus terminology which back end
626 choice for you. To use nnml add the following to ~/.gnus: 576to use. Gnus supports many different back ends, the most
627 577commonly used one is nnml. It stores every mail in one file
578and is therefor quite fast. However you might prefer a one
579file per group approach if your file system has problems with
580many small files, the nnfolder back end is then probably the
581choice for you. To use nnml add the following to ~/.gnus.el:
628 582
629@example 583@example
630(add-to-list 'gnus-secondary-select-methods '(nnml "")) 584(add-to-list 'gnus-secondary-select-methods '(nnml ""))
631@end example 585@end example
632
633@noindent 586@noindent
634 As you might have guessed, if you want nnfolder, it's 587
635 588As you might have guessed, if you want nnfolder, it's
636 589
637@example 590@example
638(add-to-list 'gnus-secondary-select-methods '(nnfolder "")) 591(add-to-list 'gnus-secondary-select-methods '(nnfolder ""))
639@end example 592@end example
640 593@noindent
641 594
642 Now we need to tell Gnus, where to get it's mail from. If 595Now we need to tell Gnus, where to get it's mail from. If
643 it's a POP3 server, then you need something like this: 596it's a POP3 server, then you need something like this:
644
645 597
646@example 598@example
647(eval-after-load "mail-source" 599(eval-after-load "mail-source"
@@ -649,75 +601,68 @@ Answer:
649 :user "yourUserName" 601 :user "yourUserName"
650 :password "yourPassword"))) 602 :password "yourPassword")))
651@end example 603@end example
652
653@noindent 604@noindent
654 Make sure ~/.gnus isn't readable to others if you store 605
655 your password there. If you want to read your mail from a 606Make sure ~/.gnus.el isn't readable to others if you store
656 traditional spool file on your local machine, it's 607your password there. If you want to read your mail from a
657 608traditional spool file on your local machine, it's
658 609
659@example 610@example
660(eval-after-load "mail-source" 611(eval-after-load "mail-source"
661 '(add-to-list 'mail-sources '(file :path "/path/to/spool/file"))) 612 '(add-to-list 'mail-sources '(file :path "/path/to/spool/file"))
662@end example 613@end example
663
664@noindent 614@noindent
665 If it's a Maildir, with one file per message as used by 615
666 postfix, Qmail and (optionally) fetchmail it's 616If it's a Maildir, with one file per message as used by
667 617postfix, Qmail and (optionally) fetchmail it's
668 618
669@example 619@example
670(eval-after-load "mail-source" 620(eval-after-load "mail-source"
671 '(add-to-list 'mail-sources '(maildir :path "/path/to/Maildir/" 621 '(add-to-list 'mail-sources '(maildir :path "/path/to/Maildir/"
672 :subdirs ("cur" "new"))) 622 :subdirs ("cur" "new")))
673@end example 623@end example
674
675@noindent 624@noindent
676 And finally if you want to read your mail from several files 625
677 in one directory, for example because procmail already split your 626And finally if you want to read your mail from several files
678 mail, it's 627in one directory, for example because procmail already split your
679 628mail, it's
680 629
681@example 630@example
682(eval-after-load "mail-source" 631(eval-after-load "mail-source"
683 '(add-to-list 'mail-sources '(directory :path "/path/to/procmail-dir/" 632 '(add-to-list 'mail-sources
684 :suffix ".prcml")) 633 '(directory :path "/path/to/procmail-dir/"
634 :suffix ".prcml")))
685@end example 635@end example
686
687@noindent 636@noindent
688 Where :suffix ".prcml" tells Gnus only to use files with the
689 suffix .prcml.
690
691 637
692 OK, now you only need to tell Gnus how to send mail. If you 638Where :suffix ".prcml" tells Gnus only to use files with the
693 want to send mail via sendmail (or whichever MTA is playing 639suffix .prcml.
694 the role of sendmail on your system), you don't need to do 640
695 anything. However, if you want to send your mail to an 641OK, now you only need to tell Gnus how to send mail. If you
696 SMTP Server you need the following in your ~/.gnus 642want to send mail via sendmail (or whichever MTA is playing
697 643the role of sendmail on your system), you don't need to do
644anything. However, if you want to send your mail to an
645SMTP Server you need the following in your ~/.gnus.el
698 646
699@example 647@example
700(setq send-mail-function 'smtpmail-send-it) 648(setq send-mail-function 'smtpmail-send-it)
701(setq message-send-mail-function 'smtpmail-send-it) 649(setq message-send-mail-function 'smtpmail-send-it)
702(setq smtpmail-default-smtp-server "smtp.yourProvider.net") 650(setq smtpmail-default-smtp-server "smtp.yourProvider.net")
703@end example 651@end example
704 652@noindent
705@ifnottex
706@node [3.9], [3.10], [3.8], FAQ 3 - Getting messages
707@end ifnottex
708@subsubheading Question 3.9:
709 653
710 And what about IMAP? 654@node [3.9]
711 655@subsubheading Question 3.9
712 656
713Answer: 657And what about IMAP?
714 658
715 There are two ways of using IMAP with Gnus. The first one is 659@subsubheading Answer
716 to use IMAP like POP3, that means Gnus fetches the mail from 660
717 the IMAP server and stores it on disk. If you want to do 661There are two ways of using IMAP with Gnus. The first one is
718 this (you don't really want to do this) add the following to 662to use IMAP like POP3, that means Gnus fetches the mail from
719 ~/.gnus 663the IMAP server and stores it on disk. If you want to do
720 664this (you don't really want to do this) add the following to
665~/.gnus.el
721 666
722@example 667@example
723(add-to-list 'mail-sources '(imap :server "mail.mycorp.com" 668(add-to-list 'mail-sources '(imap :server "mail.mycorp.com"
@@ -728,249 +673,215 @@ Answer:
728 :mailbox "INBOX" 673 :mailbox "INBOX"
729 :fetchflag "\\Seen")) 674 :fetchflag "\\Seen"))
730@end example 675@end example
731
732@noindent 676@noindent
733 You might have to tweak the values for stream and/or
734 authentification, see the Gnus manual node "Mail Source
735 Specifiers" for possible values.
736
737 677
738 If you want to use IMAP the way it's intended, you've got to 678You might have to tweak the values for stream and/or
739 follow a different approach. You've got to add the nnimap 679authentification, see the Gnus manual node "Mail Source
740 back end to your select method and give the information 680Specifiers" for possible values.
741 about the server there. 681
742 682If you want to use IMAP the way it's intended, you've got to
683follow a different approach. You've got to add the nnimap
684back end to your select method and give the information
685about the server there.
743 686
744@example 687@example
745(add-to-list 688(add-to-list 'gnus-secondary-select-methods
746 'gnus-secondary-select-methods 689 '(nnimap "Give the baby a name"
747 '(nnimap "Give the baby a name" 690 (nnimap-address "imap.yourProvider.net")
748 (nnimap-address "imap.yourProvider.net") 691 (nnimap-port 143)
749 (nnimap-port 143) 692 (nnimap-list-pattern "archive.*")))
750 (nnimap-list-pattern "archive.*")))
751@end example 693@end example
752
753@noindent 694@noindent
754 Again, you might have to specify how to authenticate to the
755 server if Gnus can't guess the correct way, see the Manual
756 Node "IMAP" for detailed information.
757
758@ifnottex
759@node [3.10], [3.11], [3.9], FAQ 3 - Getting messages
760@end ifnottex
761@subsubheading Question 3.10:
762
763 At the office we use one of those MS Exchange servers, can I use
764 Gnus to read my mail from it?
765
766
767Answer:
768 695
769 Offer your administrator a pair of new running shoes for 696Again, you might have to specify how to authenticate to the
770 activating IMAP on the server and follow the instructions 697server if Gnus can't guess the correct way, see the Manual
771 above. 698Node "IMAP" for detailed information.
772 699
773@ifnottex 700@node [3.10]
774@node [3.11], , [3.10], FAQ 3 - Getting messages 701@subsubheading Question 3.10
775@end ifnottex 702
776@subsubheading Question 3.11: 703At the office we use one of those MS Exchange servers, can I use
777 704Gnus to read my mail from it?
778 Can I tell Gnus not to delete the mails on the server it 705
779 retrieves via POP3? 706@subsubheading Answer
780 707
781 708Offer your administrator a pair of new running shoes for
782Answer: 709activating IMAP on the server and follow the instructions
783 710above.
784 First of all, that's not the way POP3 is intended to work, 711
785 if you have the possibility, you should use the IMAP 712@node [3.11]
786 Protocol if you want your messages to stay on the 713@subsubheading Question 3.11
787 server. Nevertheless there might be situations where you 714
788 need the feature, but sadly Gnus itself has no predefined 715Can I tell Gnus not to delete the mails on the server it
789 functionality to do so. 716retrieves via POP3?
790 717
791 718@subsubheading Answer
792 However this is Gnus county so there are possibilities to 719
793 achieve what you want. The easiest way is to get an external 720First of all, that's not the way POP3 is intended to work,
794 program which retrieves copies of the mail and stores them 721if you have the possibility, you should use the IMAP
795 on disk, so Gnus can read it from there. On Unix systems you 722Protocol if you want your messages to stay on the
796 could use e.g. fetchmail for this, on MS Windows you can use 723server. Nevertheless there might be situations where you
797 Hamster, an excellent local news and mail server. 724need the feature, but sadly Gnus itself has no predefined
798 725functionality to do so.
799 726
800 The other solution would be, to replace the method Gnus 727However this is Gnus county so there are possibilities to
801 uses to get mail from POP3 servers by one which is capable 728achieve what you want. The easiest way is to get an external
802 of leaving the mail on the server. If you use XEmacs, get 729program which retrieves copies of the mail and stores them
803 the package mail-lib, it includes an enhanced pop3.el, 730on disk, so Gnus can read it from there. On Unix systems you
804 look in the file, there's documentation on how to tell 731could use e.g. fetchmail for this, on MS Windows you can use
805 Gnus to use it and not to delete the retrieved mail. For 732Hamster, an excellent local news and mail server.
806 GNU Emacs look for the file epop3.el which can do the same 733
807 (If you know the home of this file, please send me an 734The other solution would be, to replace the method Gnus
808 e-mail). You can also tell Gnus to use an external program 735uses to get mail from POP3 servers by one which is capable
809 (e.g. fetchmail) to fetch your mail, see the info node 736of leaving the mail on the server. If you use XEmacs, get
810 "Mail Source Specifiers" in the Gnus manual on how to do 737the package mail-lib, it includes an enhanced pop3.el,
811 it. 738look in the file, there's documentation on how to tell
812 739Gnus to use it and not to delete the retrieved mail. For
813 740GNU Emacs look for the file epop3.el which can do the same
814@ifnottex 741(If you know the home of this file, please send me an
815@node FAQ 4 - Reading messages, FAQ 5 - Composing messages, FAQ 3 - Getting messages, Frequently Asked Questions 742e-mail). You can also tell Gnus to use an external program
816@end ifnottex 743(e.g. fetchmail) to fetch your mail, see the info node
744"Mail Source Specifiers" in the Gnus manual on how to do
745it.
746
747@node FAQ 4 - Reading messages
817@subsection Reading messages 748@subsection Reading messages
818 749
819@menu 750@menu
820* [4.1]:: When I enter a group, all read messages are gone. 751* [4.1]:: When I enter a group, all read messages are gone. How to
821 How to view them again? 752 view them again?
822* [4.2]:: How to tell Gnus to show an important message every time 753* [4.2]:: How to tell Gnus to show an important message every time I
823 I enter a group, even when it's read? 754 enter a group, even when it's read?
824* [4.3]:: How to view the headers of a message? 755* [4.3]:: How to view the headers of a message?
825* [4.4]:: How to view the raw unformatted message? 756* [4.4]:: How to view the raw unformatted message?
826* [4.5]:: How can I change the headers Gnus displays by default at the 757* [4.5]:: How can I change the headers Gnus displays by default at
827 top of the article buffer? 758 the top of the article buffer?
828* [4.6]:: I'd like Gnus NOT to render HTML-mails but show me the 759* [4.6]:: I'd like Gnus NOT to render HTML-mails but show me the
829 text part if it's available. How to do it? 760 text part if it's available. How to do it?
830* [4.7]:: Can I use some other browser than w3 to render my HTML-mails? 761* [4.7]:: Can I use some other browser than w3 to render my
831* [4.8]:: Is there anything I can do to make poorly formatted mails 762 HTML-mails?
832 more readable? 763* [4.8]:: Is there anything I can do to make poorly formatted mails
833* [4.9]:: Is there a way to automatically ignore posts by specific authors 764 more readable?
834 or with specific words in the subject? And can I highlight more 765* [4.9]:: Is there a way to automatically ignore posts by specific
835 interesting ones in some way? 766 authors or with specific words in the subject? And can I highlight
836* [4.10]:: How can I disable threading in some (e.g. mail-) groups, or set 767 more interesting ones in some way?
837 other variables specific for some groups? 768* [4.10]:: How can I disable threading in some (e.g. mail-) groups,
838* [4.11]:: Can I highlight messages written by me and follow-ups to those? 769 or set other variables specific for some groups?
839* [4.12]:: The number of total messages in a group which Gnus displays in 770* [4.11]:: Can I highlight messages written by me and follow-ups to
840 group buffer is by far to high, especially in mail groups. 771 those?
841 Is this a bug? 772* [4.12]:: The number of total messages in a group which Gnus
842* [4.13]:: I don't like the layout of summary and article buffer, 773 displays in group buffer is by far to high, especially in mail
843 how to change it? Perhaps even a three pane display? 774 groups. Is this a bug?
844* [4.14]:: I don't like the way the Summary buffer looks, how to tweak it? 775* [4.13]:: I don't like the layout of summary and article buffer, how
845* [4.15]:: How to split incoming mails in several groups? 776 to change it? Perhaps even a three pane display?
777* [4.14]:: I don't like the way the Summary buffer looks, how to
778 tweak it?
779* [4.15]:: How to split incoming mails in several groups?
846@end menu 780@end menu
847 781
848@ifnottex 782@node [4.1]
849@node [4.1], [4.2], FAQ 4 - Reading messages, FAQ 4 - Reading messages 783@subsubheading Question 4.1
850@end ifnottex
851@subsubheading Question 4.1:
852 784
853 When I enter a group, all read messages are gone. How to view them again? 785When I enter a group, all read messages are gone. How to view them again?
854
855 786
856Answer: 787@subsubheading Answer
857 788
858 If you enter the group by saying 789If you enter the group by saying
859 @samp{RET} 790@samp{RET}
860 in group buffer with point over the group, only unread and ticked messages are loaded. Say 791in group buffer with point over the group, only unread and ticked messages are loaded. Say
861 @samp{C-u RET} 792@samp{C-u RET}
862 instead to load all available messages. If you want only the e.g. 300 newest say 793instead to load all available messages. If you want only the e.g. 300 newest say
863 @samp{C-u 300 RET} 794@samp{C-u 300 RET}
864
865 795
866 Loading only unread messages can be annoying if you have threaded view enabled, say 796Loading only unread messages can be annoying if you have threaded view enabled, say
867
868 797
869@example 798@example
870(setq gnus-fetch-old-headers 'some) 799(setq gnus-fetch-old-headers 'some)
871@end example 800@end example
872
873
874@noindent 801@noindent
875 in ~/.gnus to load enough old articles to prevent teared threads, replace 'some with t to load
876 all articles (Warning: Both settings enlarge the amount of data which is
877 fetched when you enter a group and slow down the process of entering a group).
878 802
803in ~/.gnus.el to load enough old articles to prevent teared threads, replace 'some with t to load
804all articles (Warning: Both settings enlarge the amount of data which is
805fetched when you enter a group and slow down the process of entering a group).
879 806
880 If you already use Gnus 5.10, you can say 807If you already use Gnus 5.10, you can say
881 @samp{/o N} 808@samp{/o N}
882 In summary buffer to load the last N messages, this feature is not available in 5.8.8 809In summary buffer to load the last N messages, this feature is not available in 5.8.8
883
884 810
885 If you don't want all old messages, but the parent of the message you're just reading, 811If you don't want all old messages, but the parent of the message you're just reading,
886 you can say @samp{^}, if you want to retrieve the whole thread 812you can say @samp{^}, if you want to retrieve the whole thread
887 the message you're just reading belongs to, @samp{A T} is your friend. 813the message you're just reading belongs to, @samp{A T} is your friend.
888
889@ifnottex
890@node [4.2], [4.3], [4.1], FAQ 4 - Reading messages
891@end ifnottex
892@subsubheading Question 4.2:
893 814
894 How to tell Gnus to show an important message every time I 815@node [4.2]
895 enter a group, even when it's read? 816@subsubheading Question 4.2
896
897 817
898Answer: 818How to tell Gnus to show an important message every time I
819enter a group, even when it's read?
899 820
900 You can tick important messages. To do this hit 821@subsubheading Answer
901 @samp{u} while point is in summary buffer
902 over the message. When you want to remove the mark, hit
903 either @samp{d} (this deletes the tick
904 mark and set's unread mark) or @samp{M c}
905 (which deletes all marks for the message).
906
907@ifnottex
908@node [4.3], [4.4], [4.2], FAQ 4 - Reading messages
909@end ifnottex
910@subsubheading Question 4.3:
911 822
912 How to view the headers of a message? 823You can tick important messages. To do this hit
913 824@samp{u} while point is in summary buffer
825over the message. When you want to remove the mark, hit
826either @samp{d} (this deletes the tick
827mark and set's unread mark) or @samp{M c}
828(which deletes all marks for the message).
914 829
915Answer: 830@node [4.3]
831@subsubheading Question 4.3
916 832
917 Say @samp{t} 833How to view the headers of a message?
918 to show all headers, one more
919 @samp{t}
920 hides them again.
921
922@ifnottex
923@node [4.4], [4.5], [4.3], FAQ 4 - Reading messages
924@end ifnottex
925@subsubheading Question 4.4:
926 834
927 How to view the raw unformatted message? 835@subsubheading Answer
928
929 836
930Answer: 837Say @samp{t}
838to show all headers, one more
839@samp{t}
840hides them again.
931 841
932 Say 842@node [4.4]
933 @samp{C-u g} 843@subsubheading Question 4.4
934 to show the raw message
935 @samp{g}
936 returns to normal view.
937
938@ifnottex
939@node [4.5], [4.6], [4.4], FAQ 4 - Reading messages
940@end ifnottex
941@subsubheading Question 4.5:
942 844
943 How can I change the headers Gnus displays by default at 845How to view the raw unformatted message?
944 the top of the article buffer?
945
946 846
947Answer: 847@subsubheading Answer
848
849Say
850@samp{C-u g}
851to show the raw message
852@samp{g}
853returns to normal view.
854
855@node [4.5]
856@subsubheading Question 4.5
857
858How can I change the headers Gnus displays by default at
859the top of the article buffer?
860
861@subsubheading Answer
862
863The variable gnus-visible-headers controls which headers
864are shown, its value is a regular expression, header lines
865which match it are shown. So if you want author, subject,
866date, and if the header exists, Followup-To and MUA / NUA
867say this in ~/.gnus.el:
948 868
949 The variable gnus-visible-headers controls which headers
950 are shown, its value is a regular expression, header lines
951 which match it are shown. So if you want author, subject,
952 date, and if the header exists, Followup-To and MUA / NUA
953 say this in ~/.gnus:
954
955@example 869@example
956(setq gnus-visible-headers 870(setq gnus-visible-headers
957 "^\\(From:\\|Subject:\\|Date:\\|Followup-To:\ 871 '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To"
958\\|X-Newsreader:\\|User-Agent:\\|X-Mailer:\\)") 872 "^User-Agent" "^X-Newsreader" "^X-Mailer"))
959@end example 873@end example
960 874@noindent
961@ifnottex
962@node [4.6], [4.7], [4.5], FAQ 4 - Reading messages
963@end ifnottex
964@subsubheading Question 4.6:
965 875
966 I'd like Gnus NOT to render HTML-mails but show me the 876@node [4.6]
967 text part if it's available. How to do it? 877@subsubheading Question 4.6
968
969 878
970Answer: 879I'd like Gnus NOT to render HTML-mails but show me the
880text part if it's available. How to do it?
971 881
972 Say 882@subsubheading Answer
973 883
884Say
974 885
975@example 886@example
976(eval-after-load "mm-decode" 887(eval-after-load "mm-decode"
@@ -978,240 +889,206 @@ Answer:
978 (add-to-list 'mm-discouraged-alternatives "text/html") 889 (add-to-list 'mm-discouraged-alternatives "text/html")
979 (add-to-list 'mm-discouraged-alternatives "text/richtext"))) 890 (add-to-list 'mm-discouraged-alternatives "text/richtext")))
980@end example 891@end example
981
982@noindent 892@noindent
983 in ~/.gnus. If you don't want HTML rendered, even if there's no text alternative add 893
984 894in ~/.gnus.el. If you don't want HTML rendered, even if there's no text alternative add
985 895
986@example 896@example
987(setq mm-automatic-display (remove "text/html" mm-automatic-display)) 897(setq mm-automatic-display (remove "text/html" mm-automatic-display))
988@end example 898@end example
989
990@noindent 899@noindent
991 too.
992
993@ifnottex
994@node [4.7], [4.8], [4.6], FAQ 4 - Reading messages
995@end ifnottex
996@subsubheading Question 4.7:
997 900
998 Can I use some other browser than w3 to render my HTML-mails? 901too.
999
1000 902
1001Answer: 903@node [4.7]
904@subsubheading Question 4.7
1002 905
1003 Only if you use Gnus 5.10 or younger. In this case you've got the 906Can I use some other browser than w3 to render my HTML-mails?
1004 choice between w3, w3m, links, lynx and html2text, which 907
1005 one is used can be specified in the variable 908@subsubheading Answer
1006 mm-text-html-renderer, so if you want links to render your 909
1007 mail say 910Only if you use Gnus 5.10 or younger. In this case you've got the
1008 911choice between w3, w3m, links, lynx and html2text, which
912one is used can be specified in the variable
913mm-text-html-renderer, so if you want links to render your
914mail say
1009 915
1010@example 916@example
1011(setq mm-text-html-renderer 'links) 917(setq mm-text-html-renderer 'links)
1012@end example 918@end example
1013 919@noindent
1014@ifnottex
1015@node [4.8], [4.9], [4.7], FAQ 4 - Reading messages
1016@end ifnottex
1017@subsubheading Question 4.8:
1018
1019 Is there anything I can do to make poorly formatted mails
1020 more readable?
1021
1022
1023Answer:
1024
1025 Gnus offers you several functions to "wash" incoming mail,
1026 you can find them if you browse through the menu, item Article->Washing. The most
1027 interesting ones are probably "Wrap long lines" (
1028 @samp{W w}
1029 ), "Decode ROT13" (
1030 @samp{W r}
1031 ) and "Outlook Deuglify" which repairs the dumb quoting used
1032 by many users of Microsoft products (
1033 @samp{W Y f} gives you full deuglify.
1034 See @samp{W Y C-h} or
1035 have a look at the menus for other deuglifications).
1036 Outlook deuglify is only available since Gnus 5.10.
1037
1038@ifnottex
1039@node [4.9], [4.10], [4.8], FAQ 4 - Reading messages
1040@end ifnottex
1041@subsubheading Question 4.9:
1042
1043 Is there a way to automatically ignore posts by specific
1044 authors or with specific words in the subject? And can I
1045 highlight more interesting ones in some way?
1046
1047
1048Answer:
1049
1050 You want Scoring. Scoring means, that you define rules
1051 which assign each message an integer value. Depending on
1052 the value the message is highlighted in summary buffer (if
1053 it's high, say +2000) or automatically marked read (if the
1054 value is low, say -800) or some other action happens.
1055
1056
1057 There are basically three ways of setting up rules which assign
1058 the scoring-value to messages. The first and easiest way is to set
1059 up rules based on the article you are just reading. Say you're
1060 reading a message by a guy who always writes nonsense and you want
1061 to ignore his messages in the future. Hit
1062 @samp{L}, to set up a rule which lowers the score.
1063 Now Gnus asks you which the criteria for lowering the Score shall
1064 be. Hit @samp{?} twice to see all possibilities,
1065 we want @samp{a} which means the author (the from
1066 header). Now Gnus wants to know which kind of matching we want.
1067 Hit either @samp{e} for an exact match or
1068 @samp{s} for substring-match and delete afterwards
1069 everything but the name to score down all authors with the given
1070 name no matter which email address is used. Now you need to tell
1071 Gnus when to apply the rule and how long it should last, hit e.g.
1072 @samp{p} to apply the rule now and let it last
1073 forever. If you want to raise the score instead of lowering it say
1074 @samp{I} instead of @samp{L}.
1075
1076 920
1077 You can also set up rules by hand. To do this say @samp{V 921@node [4.8]
1078 f} in summary buffer. Then you are asked for the name 922@subsubheading Question 4.8
1079 of the score file, it's name.of.group.SCORE for rules valid in 923
1080 only one group or all.Score for rules valid in all groups. See the 924Is there anything I can do to make poorly formatted mails
1081 Gnus manual for the exact syntax, basically it's one big list 925more readable?
1082 whose elements are lists again. the first element of those lists 926
1083 is the header to score on, then one more list with what to match, 927@subsubheading Answer
1084 which score to assign, when to expire the rule and how to do the 928
1085 matching. If you find me very interesting, you could e.g. add the 929Gnus offers you several functions to "wash" incoming mail, you can
1086 following to your all.Score: 930find them if you browse through the menu, item
1087 931Article->Washing. The most interesting ones are probably "Wrap
932long lines" (@samp{W w}), "Decode ROT13"
933(@samp{W r}) and "Outlook Deuglify" which repairs
934the dumb quoting used by many users of Microsoft products
935(@samp{W Y f} gives you full deuglify.
936See @samp{W Y C-h} or have a look at the menus for
937other deuglifications). Outlook deuglify is only available since
938Gnus 5.10.
939
940@node [4.9]
941@subsubheading Question 4.9
942
943Is there a way to automatically ignore posts by specific
944authors or with specific words in the subject? And can I
945highlight more interesting ones in some way?
946
947@subsubheading Answer
948
949You want Scoring. Scoring means, that you define rules
950which assign each message an integer value. Depending on
951the value the message is highlighted in summary buffer (if
952it's high, say +2000) or automatically marked read (if the
953value is low, say -800) or some other action happens.
954
955There are basically three ways of setting up rules which assign
956the scoring-value to messages. The first and easiest way is to set
957up rules based on the article you are just reading. Say you're
958reading a message by a guy who always writes nonsense and you want
959to ignore his messages in the future. Hit
960@samp{L}, to set up a rule which lowers the score.
961Now Gnus asks you which the criteria for lowering the Score shall
962be. Hit @samp{?} twice to see all possibilities,
963we want @samp{a} which means the author (the from
964header). Now Gnus wants to know which kind of matching we want.
965Hit either @samp{e} for an exact match or
966@samp{s} for substring-match and delete afterwards
967everything but the name to score down all authors with the given
968name no matter which email address is used. Now you need to tell
969Gnus when to apply the rule and how long it should last, hit e.g.
970@samp{p} to apply the rule now and let it last
971forever. If you want to raise the score instead of lowering it say
972@samp{I} instead of @samp{L}.
973
974You can also set up rules by hand. To do this say @samp{V
975f} in summary buffer. Then you are asked for the name
976of the score file, it's name.of.group.SCORE for rules valid in
977only one group or all.Score for rules valid in all groups. See the
978Gnus manual for the exact syntax, basically it's one big list
979whose elements are lists again. the first element of those lists
980is the header to score on, then one more list with what to match,
981which score to assign, when to expire the rule and how to do the
982matching. If you find me very interesting, you could e.g. add the
983following to your all.Score:
1088 984
1089@example 985@example
1090(("references" ("hschmi22.userfqdn.rz-online.de" 500 nil s)) 986(("references" ("hschmi22.userfqdn.rz-online.de" 500 nil s))
1091 ("message-id" ("hschmi22.userfqdn.rz-online.de" 999 nil s))) 987 ("message-id" ("hschmi22.userfqdn.rz-online.de" 999 nil s)))
1092@end example 988@end example
1093
1094@noindent 989@noindent
1095 This would add 999 to the score of messages written by me
1096 and 500 to the score of messages which are a (possibly
1097 indirect) answer to a message written by me. Of course
1098 nobody with a sane mind would do this :-)
1099
1100 990
1101 The third alternative is adaptive scoring. This means Gnus 991This would add 999 to the score of messages written by me
1102 watches you and tries to find out what you find 992and 500 to the score of messages which are a (possibly
1103 interesting and what annoying and sets up rules 993indirect) answer to a message written by me. Of course
1104 which reflect this. Adaptive scoring can be a huge help 994nobody with a sane mind would do this :-)
1105 when reading high traffic groups. If you want to activate 995
1106 adaptive scoring say 996The third alternative is adaptive scoring. This means Gnus
1107 997watches you and tries to find out what you find
998interesting and what annoying and sets up rules
999which reflect this. Adaptive scoring can be a huge help
1000when reading high traffic groups. If you want to activate
1001adaptive scoring say
1108 1002
1109@example 1003@example
1110(setq gnus-use-adaptive-scoring t) 1004(setq gnus-use-adaptive-scoring t)
1111@end example 1005@end example
1112
1113@noindent 1006@noindent
1114 in ~/.gnus.
1115
1116@ifnottex
1117@node [4.10], [4.11], [4.9], FAQ 4 - Reading messages
1118@end ifnottex
1119@subsubheading Question 4.10:
1120 1007
1121 How can I disable threading in some (e.g. mail-) groups, or 1008in ~/.gnus.el.
1122 set other variables specific for some groups?
1123
1124 1009
1125Answer: 1010@node [4.10]
1011@subsubheading Question 4.10
1126 1012
1127 While in group buffer move point over the group and hit 1013How can I disable threading in some (e.g. mail-) groups, or
1128 @samp{G c}, this opens a buffer where you 1014set other variables specific for some groups?
1129 can set options for the group. At the bottom of the buffer
1130 you'll find an item that allows you to set variables
1131 locally for the group. To disable threading enter
1132 gnus-show-threads as name of variable and nil as
1133 value. Hit button done at the top of the buffer when
1134 you're ready.
1135
1136@ifnottex
1137@node [4.11], [4.12], [4.10], FAQ 4 - Reading messages
1138@end ifnottex
1139@subsubheading Question 4.11:
1140 1015
1141 Can I highlight messages written by me and follow-ups to 1016@subsubheading Answer
1142 those?
1143
1144 1017
1145Answer: 1018While in group buffer move point over the group and hit
1019@samp{G c}, this opens a buffer where you
1020can set options for the group. At the bottom of the buffer
1021you'll find an item that allows you to set variables
1022locally for the group. To disable threading enter
1023gnus-show-threads as name of variable and nil as
1024value. Hit button done at the top of the buffer when
1025you're ready.
1146 1026
1147 Stop those "Can I ..." questions, the answer is always yes 1027@node [4.11]
1148 in Gnus Country :-). It's a three step process: First we 1028@subsubheading Question 4.11
1149 make faces (specifications of how summary-line shall look
1150 like) for those postings, then we'll give them some
1151 special score and finally we'll tell Gnus to use the new
1152 faces. You can find detailed instructions on how to do it on
1153 @uref{http://my.gnus.org/Members/dzimmerm/HowTo%2C2002-07-25%2C1027619165012198456/view,my.gnus.org}
1154
1155@ifnottex
1156@node [4.12], [4.13], [4.11], FAQ 4 - Reading messages
1157@end ifnottex
1158@subsubheading Question 4.12:
1159
1160 The number of total messages in a group which Gnus
1161 displays in group buffer is by far to high, especially in
1162 mail groups. Is this a bug?
1163
1164 1029
1165Answer: 1030Can I highlight messages written by me and follow-ups to
1166 1031those?
1167 No, that's a matter of design of Gnus, fixing this would
1168 mean reimplementation of major parts of Gnus'
1169 back ends. Gnus thinks "highest-article-number -
1170 lowest-article-number = total-number-of-articles". This
1171 works OK for Usenet groups, but if you delete and move
1172 many messages in mail groups, this fails. To cure the
1173 symptom, enter the group via @samp{C-u RET}
1174 (this makes Gnus get all messages), then
1175 hit @samp{M P b} to mark all messages and
1176 then say @samp{B m name.of.group} to move
1177 all messages to the group they have been in before, they
1178 get new message numbers in this process and the count is
1179 right again (until you delete and move your mail to other
1180 groups again).
1181
1182@ifnottex
1183@node [4.13], [4.14], [4.12], FAQ 4 - Reading messages
1184@end ifnottex
1185@subsubheading Question 4.13:
1186 1032
1187 I don't like the layout of summary and article buffer, how 1033@subsubheading Answer
1188 to change it? Perhaps even a three pane display?
1189
1190 1034
1191Answer: 1035Stop those "Can I ..." questions, the answer is always yes
1036in Gnus Country :-). It's a three step process: First we
1037make faces (specifications of how summary-line shall look
1038like) for those postings, then we'll give them some
1039special score and finally we'll tell Gnus to use the new
1040faces. You can find detailed instructions on how to do it on
1041@uref{http://my.gnus.org/node/view/224, my.gnus.org}
1192 1042
1193 You can control the windows configuration by calling the 1043@node [4.12]
1194 function gnus-add-configuration. The syntax is a bit 1044@subsubheading Question 4.12
1195 complicated but explained very well in the manual node
1196 "Window Layout". Some popular examples:
1197
1198 1045
1199 Instead 25% summary 75% article buffer 35% summary and 65% 1046The number of total messages in a group which Gnus
1200 article (the 1.0 for article means "take the remaining 1047displays in group buffer is by far to high, especially in
1201 space"): 1048mail groups. Is this a bug?
1202 1049
1050@subsubheading Answer
1051
1052No, that's a matter of design of Gnus, fixing this would
1053mean reimplementation of major parts of Gnus'
1054back ends. Gnus thinks "highest-article-number -
1055lowest-article-number = total-number-of-articles". This
1056works OK for Usenet groups, but if you delete and move
1057many messages in mail groups, this fails. To cure the
1058symptom, enter the group via @samp{C-u RET}
1059(this makes Gnus get all messages), then
1060hit @samp{M P b} to mark all messages and
1061then say @samp{B m name.of.group} to move
1062all messages to the group they have been in before, they
1063get new message numbers in this process and the count is
1064right again (until you delete and move your mail to other
1065groups again).
1066
1067@node [4.13]
1068@subsubheading Question 4.13
1069
1070I don't like the layout of summary and article buffer, how
1071to change it? Perhaps even a three pane display?
1072
1073@subsubheading Answer
1074
1075You can control the windows configuration by calling the
1076function gnus-add-configuration. The syntax is a bit
1077complicated but explained very well in the manual node
1078"Window Layout". Some popular examples:
1079
1080Instead 25% summary 75% article buffer 35% summary and 65%
1081article (the 1.0 for article means "take the remaining
1082space"):
1203 1083
1204@example 1084@example
1205(gnus-add-configuration 1085(gnus-add-configuration
1206 '(article (vertical 1.0 1086 '(article (vertical 1.0 (summary .35 point) (article 1.0))))
1207 (summary .35 point)
1208 (article 1.0))))
1209@end example 1087@end example
1210 1088@noindent
1211 1089
1212 A three pane layout, Group buffer on the left, summary 1090A three pane layout, Group buffer on the left, summary
1213 buffer top-right, article buffer bottom-right: 1091buffer top-right, article buffer bottom-right:
1214
1215 1092
1216@example 1093@example
1217(gnus-add-configuration 1094(gnus-add-configuration
@@ -1228,46 +1105,40 @@ Answer:
1228 (vertical 25 1105 (vertical 25
1229 (group 1.0)) 1106 (group 1.0))
1230 (vertical 1.0 1107 (vertical 1.0
1231 (summary 1.0 point))))) 1108 (summary 1.0 point)))))
1232@end example 1109@end example
1233 1110@noindent
1234@ifnottex
1235@node [4.14], [4.15], [4.13], FAQ 4 - Reading messages
1236@end ifnottex
1237@subsubheading Question 4.14:
1238 1111
1239 I don't like the way the Summary buffer looks, how to tweak it? 1112@node [4.14]
1240 1113@subsubheading Question 4.14
1241 1114
1242Answer: 1115I don't like the way the Summary buffer looks, how to tweak it?
1243
1244 You've got to play around with the variable
1245 gnus-summary-line-format. It's value is a string of
1246 symbols which stand for things like author, date, subject
1247 etc. A list of the available specifiers can be found in the
1248 manual node "Summary Buffer Lines" and the often forgotten
1249 node "Formatting Variables" and it's sub-nodes. There
1250 you'll find useful things like positioning the cursor and
1251 tabulators which allow you a summary in table form, but
1252 sadly hard tabulators are broken in 5.8.8.
1253
1254 1116
1255 Since 5.10, Gnus offers you some very nice new specifiers, 1117@subsubheading Answer
1256 e.g. %B which draws a thread-tree and %&user-date which 1118
1257 gives you a date where the details are dependent of the 1119You've got to play around with the variable
1258 articles age. Here's an example which uses both: 1120gnus-summary-line-format. It's value is a string of
1259 1121symbols which stand for things like author, date, subject
1122etc. A list of the available specifiers can be found in the
1123manual node "Summary Buffer Lines" and the often forgotten
1124node "Formatting Variables" and it's sub-nodes. There
1125you'll find useful things like positioning the cursor and
1126tabulators which allow you a summary in table form, but
1127sadly hard tabulators are broken in 5.8.8.
1128
1129Since 5.10, Gnus offers you some very nice new specifiers,
1130e.g. %B which draws a thread-tree and %&user-date which
1131gives you a date where the details are dependent of the
1132articles age. Here's an example which uses both:
1260 1133
1261@example 1134@example
1262(setq gnus-summary-line-format 1135(setq gnus-summary-line-format ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n")
1263 ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n")
1264@end example 1136@end example
1265
1266@noindent 1137@noindent
1267 resulting in:
1268
1269 1138
1270@smallexample 1139resulting in:
1140
1141@example
1271:O Re: [Richard Stallman] rfc2047.el | 13 |Lars Magne Ingebrigt |Sat 23:06 1142:O Re: [Richard Stallman] rfc2047.el | 13 |Lars Magne Ingebrigt |Sat 23:06
1272:O Re: Revival of the ding-patches list | 13 |Lars Magne Ingebrigt |Sat 23:12 1143:O Re: Revival of the ding-patches list | 13 |Lars Magne Ingebrigt |Sat 23:12
1273:R > Re: Find correct list of articles for a gro| 25 |Lars Magne Ingebrigt |Sat 23:16 1144:R > Re: Find correct list of articles for a gro| 25 |Lars Magne Ingebrigt |Sat 23:16
@@ -1280,54 +1151,48 @@ Answer:
1280:R > Re: Gnus still doesn't count messages prope| 23 |Lars Magne Ingebrigt |Sat 23:57 1151:R > Re: Gnus still doesn't count messages prope| 23 |Lars Magne Ingebrigt |Sat 23:57
1281:O \-> ... | 18 |Kai Grossjohann | 0:35 1152:O \-> ... | 18 |Kai Grossjohann | 0:35
1282:O \-> ... | 13 |Lars Magne Ingebrigt | 0:56 1153:O \-> ... | 13 |Lars Magne Ingebrigt | 0:56
1283@end smallexample 1154@end example
1284 1155@noindent
1285@ifnottex
1286@node [4.15], , [4.14], FAQ 4 - Reading messages
1287@end ifnottex
1288@subsubheading Question 4.15:
1289 1156
1290 How to split incoming mails in several groups? 1157@node [4.15]
1291 1158@subsubheading Question 4.15
1292 1159
1293Answer: 1160How to split incoming mails in several groups?
1294 1161
1295 Gnus offers two possibilities for splitting mail, the easy 1162@subsubheading Answer
1296 nnmail-split-methods and the more powerful Fancy Mail
1297 Splitting. I'll only talk about the first one, refer to
1298 the manual, node "Fancy Mail Splitting" for the latter.
1299
1300 1163
1301 The value of nnmail-split-methods is a list, each element 1164Gnus offers two possibilities for splitting mail, the easy
1302 is a list which stands for a splitting rule. Each rule has 1165nnmail-split-methods and the more powerful Fancy Mail
1303 the form "group where matching articles should go to", 1166Splitting. I'll only talk about the first one, refer to
1304 "regular expression which has to be matched", the first 1167the manual, node "Fancy Mail Splitting" for the latter.
1305 rule which matches wins. The last rule must always be a 1168
1306 general rule (regular expression .*) which denotes where 1169The value of nnmail-split-methods is a list, each element
1307 articles should go which don't match any other rule. If 1170is a list which stands for a splitting rule. Each rule has
1308 the folder doesn't exist yet, it will be created as soon 1171the form "group where matching articles should go to",
1309 as an article lands there. By default the mail will be 1172"regular expression which has to be matched", the first
1310 send to all groups whose rules match. If you 1173rule which matches wins. The last rule must always be a
1311 don't want that (you probably don't want), say 1174general rule (regular expression .*) which denotes where
1312 1175articles should go which don't match any other rule. If
1176the folder doesn't exist yet, it will be created as soon
1177as an article lands there. By default the mail will be
1178send to all groups whose rules match. If you
1179don't want that (you probably don't want), say
1313 1180
1314@example 1181@example
1315(setq nnmail-crosspost nil) 1182(setq nnmail-crosspost nil)
1316@end example 1183@end example
1317
1318@noindent 1184@noindent
1319 in ~/.gnus.
1320
1321 1185
1322 An example might be better than thousand words, so here's 1186in ~/.gnus.el.
1323 my nnmail-split-methods. Note that I send duplicates in a 1187
1324 special group and that the default group is spam, since I 1188An example might be better than thousand words, so here's
1325 filter all mails out which are from some list I'm 1189my nnmail-split-methods. Note that I send duplicates in a
1326 subscribed to or which are addressed directly to me 1190special group and that the default group is spam, since I
1327 before. Those rules kill about 80% of the Spam which 1191filter all mails out which are from some list I'm
1328 reaches me (Email addresses are changed to prevent spammers 1192subscribed to or which are addressed directly to me
1329 from using them): 1193before. Those rules kill about 80% of the Spam which
1330 1194reaches me (Email addresses are changed to prevent spammers
1195from using them):
1331 1196
1332@example 1197@example
1333(setq nnmail-split-methods 1198(setq nnmail-split-methods
@@ -1336,133 +1201,114 @@ Answer:
1336 ("Gnus-Tut" "^\\(To:\\|CC:\\).*localpart@@socha.bla.*") 1201 ("Gnus-Tut" "^\\(To:\\|CC:\\).*localpart@@socha.bla.*")
1337 ("tcsh" "^\\(To:\\|CC:\\).*localpart@@mx.gw.bla.*") 1202 ("tcsh" "^\\(To:\\|CC:\\).*localpart@@mx.gw.bla.*")
1338 ("BAfH" "^\\(To:\\|CC:\\).*localpart@@.*uni-muenchen.bla.*") 1203 ("BAfH" "^\\(To:\\|CC:\\).*localpart@@.*uni-muenchen.bla.*")
1339 ("Hamster-src" 1204 ("Hamster-src" "^\\(CC:\\|To:\\).*hamster-sourcen@@yahoogroups.\\(de\\|com\\).*")
1340 "^\\(CC:\\|To:\\).*hamster-sourcen@@yahoogroups.\\(de\\|com\\).*")
1341 ("Tagesschau" "^From: tagesschau <localpart@@www.tagesschau.bla>$") 1205 ("Tagesschau" "^From: tagesschau <localpart@@www.tagesschau.bla>$")
1342 ("Replies" "^\\(CC:\\|To:\\).*localpart@@Frank-Schmitt.bla.*") 1206 ("Replies" "^\\(CC:\\|To:\\).*localpart@@Frank-Schmitt.bla.*")
1343 ("EK" 1207 ("EK" "^From:.*\\(localpart@@privateprovider.bla\\|localpart@@workplace.bla\\).*")
1344 "^From:.*\\(localpart@@privateprovider.bla\\|localpart@@workplace.bla\\).*") 1208 ("Spam" "^Content-Type:.*\\(ks_c_5601-1987\\|EUC-KR\\|big5\\|iso-2022-jp\\).*")
1345 ("Spam" 1209 ("Spam" "^Subject:.*\\(This really work\\|XINGA\\|ADV:\\|XXX\\|adult\\|sex\\).*")
1346 "^Content-Type:.*\\(ks_c_5601-1987\\|EUC-KR\\|big5\\|iso-2022-jp\\).*") 1210 ("Spam" "^Subject:.*\\(\=\?ks_c_5601-1987\?\\|\=\?euc-kr\?\\|\=\?big5\?\\).*")
1347 ("Spam"
1348 "^Subject:.*\\(This really work\\|XINGA\\|ADV:\\|XXX\\|adult\\|sex\\).*")
1349 ("Spam"
1350 "^Subject:.*\\(\=\?ks_c_5601-1987\?\\|\=\?euc-kr\?\\|\=\?big5\?\\).*")
1351 ("Spam" "^X-Mailer:\\(.*BulkMailer.*\\|.*MIME::Lite.*\\|\\)") 1211 ("Spam" "^X-Mailer:\\(.*BulkMailer.*\\|.*MIME::Lite.*\\|\\)")
1352 ("Spam" 1212 ("Spam" "^X-Mailer:\\(.*CyberCreek Avalanche\\|.*http\:\/\/GetResponse\.com\\)")
1353 "^X-Mailer:\\(.*CyberCreek Avalanche\\|.*http\:\/\/GetResponse\.com\\)") 1213 ("Spam" "^From:.*\\(verizon\.net\\|prontomail\.com\\|money\\|ConsumerDirect\\).*")
1354 ("Spam"
1355 "^From:.*\\(verizon\.net\\|prontomail\.com\\|money\\|ConsumerDirect\\).*")
1356 ("Spam" "^Delivered-To: GMX delivery to spamtrap@@gmx.bla$") 1214 ("Spam" "^Delivered-To: GMX delivery to spamtrap@@gmx.bla$")
1357 ("Spam" "^Received: from link2buy.com") 1215 ("Spam" "^Received: from link2buy.com")
1358 ("Spam" "^CC: .*azzrael@@t-online.bla") 1216 ("Spam" "^CC: .*azzrael@@t-online.bla")
1359 ("Spam" "^X-Mailer-Version: 1.50 BETA") 1217 ("Spam" "^X-Mailer-Version: 1.50 BETA")
1360 ("Uni" "^\\(CC:\\|To:\\).*localpart@@uni-koblenz.bla.*") 1218 ("Uni" "^\\(CC:\\|To:\\).*localpart@@uni-koblenz.bla.*")
1361 ("Inbox" 1219 ("Inbox" "^\\(CC:\\|To:\\).*\\(my\ name\\|address@@one.bla\\|adress@@two.bla\\)")
1362 "^\\(CC:\\|To:\\).*\\(my\ name\\|address@@one.bla\\|adress@@two.bla\\)")
1363 ("Spam" ""))) 1220 ("Spam" "")))
1364@end example 1221@end example
1365 1222@noindent
1366 1223
1367@ifnottex 1224@node FAQ 5 - Composing messages
1368@node FAQ 5 - Composing messages, FAQ 6 - Old messages, FAQ 4 - Reading messages, Frequently Asked Questions
1369@end ifnottex
1370@subsection Composing messages 1225@subsection Composing messages
1371 1226
1372@menu 1227@menu
1373* [5.1]:: What are the basic commands I need to know for sending mail and 1228* [5.1]:: What are the basic commands I need to know for sending
1374 postings? 1229 mail and postings?
1375* [5.2]:: How to enable automatic word-wrap when composing messages? 1230* [5.2]:: How to enable automatic word-wrap when composing messages?
1376* [5.3]:: How to set stuff like From, Organization, Reply-To, signature...? 1231* [5.3]:: How to set stuff like From, Organization, Reply-To,
1377* [5.4]:: Can I set things like From, Signature etc group based on the 1232 signature...?
1378 group I post too? 1233* [5.4]:: Can I set things like From, Signature etc group based on
1379* [5.5]:: Is there a spell-checker? Perhaps even on-the-fly spell-checking? 1234 the group I post too?
1380* [5.6]:: Can I set the dictionary based on the group I'm posting to? 1235* [5.5]:: Is there a spell-checker? Perhaps even on-the-fly
1381* [5.7]:: Is there some kind of address-book, so I needn't remember all 1236 spell-checking?
1382 those email addresses? 1237* [5.6]:: Can I set the dictionary based on the group I'm posting
1383* [5.8]:: Sometimes I see little images at the top of article buffer. 1238 to?
1384 What's that and how can I send one with my postings, too? 1239* [5.7]:: Is there some kind of address-book, so I needn't remember
1385* [5.9]:: Sometimes I accidentally hit r instead of f in newsgroups. 1240 all those email addresses?
1386 Can Gnus warn me, when I'm replying by mail in newsgroups? 1241* [5.8]:: Sometimes I see little images at the top of article
1387* [5.10]:: How to tell Gnus not to generate a sender header? 1242 buffer. What's that and how can I send one with my postings, too?
1388* [5.11]:: I want Gnus to locally store copies of my send mail and news, 1243* [5.9]:: Sometimes I accidentally hit r instead of f in newsgroups.
1389 how to do it? 1244 Can Gnus warn me, when I'm replying by mail in newsgroups?
1390* [5.12]:: People tell me my Message-IDs are not correct, 1245* [5.10]:: How to tell Gnus not to generate a sender header?
1391 why aren't they and how to fix it? 1246* [5.11]:: I want Gnus to locally store copies of my send mail and
1247 news, how to do it?
1248* [5.12]:: People tell me my Message-IDs are not correct, why aren't
1249 they and how to fix it?
1392@end menu 1250@end menu
1393 1251
1394@ifnottex 1252@node [5.1]
1395@node [5.1], [5.2], FAQ 5 - Composing messages, FAQ 5 - Composing messages 1253@subsubheading Question 5.1
1396@end ifnottex
1397@subsubheading Question 5.1:
1398 1254
1399 What are the basic commands I need to know for sending mail and postings? 1255What are the basic commands I need to know for sending mail and postings?
1400
1401 1256
1402Answer: 1257@subsubheading Answer
1403
1404 To start composing a new mail hit @samp{m}
1405 either in Group or Summary buffer, for a posting, it's
1406 either @samp{a} in Group buffer and
1407 filling the Newsgroups header manually
1408 or @samp{a} in the Summary buffer of the
1409 group where the posting shall be send to. Replying by mail
1410 is
1411 @samp{r} if you don't want to cite the
1412 author, or import the cited text manually and
1413 @samp{R} to cite the text of the original
1414 message. For a follow up to a newsgroup, it's
1415 @samp{f} and @samp{F}
1416 (analog to @samp{r} and
1417 @samp{R}).
1418
1419 1258
1420 Enter new headers above the line saying "--text follows 1259To start composing a new mail hit @samp{m}
1421 this line--", enter the text below the line. When ready 1260either in Group or Summary buffer, for a posting, it's
1422 hit @samp{C-c C-c}, to send the message, 1261either @samp{a} in Group buffer and
1423 if you want to finish it later hit @samp{C-c 1262filling the Newsgroups header manually
1424 C-d} to save it in the drafts group, where you 1263or @samp{a} in the Summary buffer of the
1425 can start editing it again by saying @samp{D 1264group where the posting shall be send to. Replying by mail
1426 e}. 1265is
1427 1266@samp{r} if you don't want to cite the
1428@ifnottex 1267author, or import the cited text manually and
1429@node [5.2], [5.3], [5.1], FAQ 5 - Composing messages 1268@samp{R} to cite the text of the original
1430@end ifnottex 1269message. For a follow up to a newsgroup, it's
1431@subsubheading Question 5.2: 1270@samp{f} and @samp{F}
1271(analogously to @samp{r} and
1272@samp{R}).
1432 1273
1433 How to enable automatic word-wrap when composing messages? 1274Enter new headers above the line saying "--text follows
1434 1275this line--", enter the text below the line. When ready
1276hit @samp{C-c C-c}, to send the message,
1277if you want to finish it later hit @samp{C-c
1278C-d} to save it in the drafts group, where you
1279can start editing it again by saying @samp{D
1280e}.
1435 1281
1436Answer: 1282@node [5.2]
1283@subsubheading Question 5.2
1437 1284
1438 Say 1285How to enable automatic word-wrap when composing messages?
1439 1286
1287@subsubheading Answer
1288
1289Say
1440 1290
1441@example 1291@example
1442(add-hook 'message-mode-hook 1292(add-hook 'message-mode-hook
1443 (lambda () 1293 (lambda ()
1444 (setq fill-column 72) 1294 (setq fill-column 72)
1445 (turn-on-auto-fill))) 1295 (turn-on-auto-fill)))
1446@end example 1296@end example
1447
1448@noindent 1297@noindent
1449 in ~/.gnus. You can reformat a paragraph by hitting
1450 @samp{M-q} (as usual)
1451
1452@ifnottex
1453@node [5.3], [5.4], [5.2], FAQ 5 - Composing messages
1454@end ifnottex
1455@subsubheading Question 5.3:
1456 1298
1457 How to set stuff like From, Organization, Reply-To, signature...? 1299in ~/.gnus.el. You can reformat a paragraph by hitting
1458 1300@samp{M-q} (as usual)
1459 1301
1460Answer: 1302@node [5.3]
1303@subsubheading Question 5.3
1461 1304
1462 There are other ways, but you should use posting styles 1305How to set stuff like From, Organization, Reply-To, signature...?
1463 for this. (See below why). 1306
1464 This example should make the syntax clear: 1307@subsubheading Answer
1465 1308
1309There are other ways, but you should use posting styles
1310for this. (See below why).
1311This example should make the syntax clear:
1466 1312
1467@example 1313@example
1468(setq gnus-posting-styles 1314(setq gnus-posting-styles
@@ -1474,146 +1320,121 @@ Answer:
1474 ("X-SampleHeader" "foobar") 1320 ("X-SampleHeader" "foobar")
1475 (eval (setq some-variable "Foo bar"))))) 1321 (eval (setq some-variable "Foo bar")))))
1476@end example 1322@end example
1477
1478@noindent 1323@noindent
1479 The ".*" means that this settings are the default ones
1480 (see below), valid values for the first element of the
1481 following lists are signature, signature-file,
1482 organization, address, name or body. The attribute name
1483 can also be a string. In that case, this will be used as
1484 a header name, and the value will be inserted in the
1485 headers of the article; if the value is `nil', the header
1486 name will be removed. You can also say (eval (foo bar)),
1487 then the function foo will be evaluated with argument bar
1488 and the result will be thrown away.
1489
1490@ifnottex
1491@node [5.4], [5.5], [5.3], FAQ 5 - Composing messages
1492@end ifnottex
1493@subsubheading Question 5.4:
1494
1495 Can I set things like From, Signature etc group based on the group I post too?
1496
1497 1324
1498Answer: 1325The ".*" means that this settings are the default ones
1499 1326(see below), valid values for the first element of the
1500 That's the strength of posting styles. Before, we used ".*" 1327following lists are signature, signature-file,
1501 to set the default for all groups. You can use a regexp 1328organization, address, name or body. The attribute name
1502 like "^gmane" and the following settings are only applied 1329can also be a string. In that case, this will be used as
1503 to postings you send to the gmane hierarchy, use 1330a header name, and the value will be inserted in the
1504 ".*binaries" instead and they will be applied to postings 1331headers of the article; if the value is `nil', the header
1505 send to groups containing the string binaries in their 1332name will be removed. You can also say (eval (foo bar)),
1506 name etc. 1333then the function foo will be evaluated with argument bar
1507 1334and the result will be thrown away.
1508 1335
1509 You can instead of specifying a regexp specify a function 1336@node [5.4]
1510 which is evaluated, only if it returns true, the 1337@subsubheading Question 5.4
1511 corresponding settings take effect. Two interesting 1338
1512 candidates for this are message-news-p which returns t if 1339Can I set things like From, Signature etc group based on the group I post too?
1513 the current Group is a newsgroup and the corresponding 1340
1514 message-mail-p. 1341@subsubheading Answer
1515 1342
1516 1343That's the strength of posting styles. Before, we used ".*"
1517 Note that all forms that match are applied, that means in 1344to set the default for all groups. You can use a regexp
1518 the example below, when I post to 1345like "^gmane" and the following settings are only applied
1519 gmane.mail.spam.spamassassin.general, the settings under 1346to postings you send to the gmane hierarchy, use
1520 ".*" are applied and the settings under message-news-p and 1347".*binaries" instead and they will be applied to postings
1521 those under "^gmane" and those under 1348send to groups containing the string binaries in their
1522 "^gmane\\.mail\\.spam\\.spamassassin\\.general$". Because 1349name etc.
1523 of this put general settings at the top and specific ones 1350
1524 at the bottom. 1351You can instead of specifying a regexp specify a function
1525 1352which is evaluated, only if it returns true, the
1353corresponding settings take effect. Two interesting
1354candidates for this are message-news-p which returns t if
1355the current Group is a newsgroup and the corresponding
1356message-mail-p.
1357
1358Note that all forms that match are applied, that means in
1359the example below, when I post to
1360gmane.mail.spam.spamassassin.general, the settings under
1361".*" are applied and the settings under message-news-p and
1362those under "^gmane" and those under
1363"^gmane\\.mail\\.spam\\.spamassassin\\.general$". Because
1364of this put general settings at the top and specific ones
1365at the bottom.
1526 1366
1527@example 1367@example
1528(setq gnus-posting-styles 1368(setq gnus-posting-styles
1529 '((".*" ;;default 1369 '((".*" ;;default
1530 (name "Frank Schmitt") 1370 (name "Frank Schmitt")
1531 (organization "Hamme net, kren mer och nimmi") 1371 (organization "Hamme net, kren mer och nimmi")
1532 (signature-file "~/.signature")) 1372 (signature-file "~/.signature") )
1533 ((message-news-p) ;;Usenet news? 1373 ((message-news-p) ;;Usenet news?
1534 (address "mySpamTrap@@Frank-Schmitt.bla") 1374 (address "mySpamTrap@@Frank-Schmitt.bla")
1535 ("Reply-To" "hereRealRepliesOnlyPlease@@Frank-Schmitt.bla")) 1375 ("Reply-To" "hereRealRepliesOnlyPlease@@Frank-Schmitt.bla") )
1536 ((message-mail-p) ;;mail? 1376 ((message-mail-p) ;;mail?
1537 (address "usedForMails@@Frank-Schmitt.bla")) 1377 (address "usedForMails@@Frank-Schmitt.bla") )
1538 ("^gmane" ;;this is mail, too in fact 1378 ("^gmane" ;;this is mail, too in fact
1539 (address "usedForMails@@Frank-Schmitt.net") 1379 (address "usedForMails@@Frank-Schmitt.net")
1540 ("Reply-To" nil)) 1380 ("Reply-To" nil) )
1541 ("^gmane.mail.spam.spamassassin.general$" 1381 ("^gmane.mail.spam.spamassassin.general$"
1542 (eval (setq mail-envelope-from "Azzrael@@rz-online.de")) 1382 (eval (setq mail-envelope-from "Azzrael@@rz-online.de"))
1543 (address "Azzrael@@rz-online.de")))) 1383 (address "Azzrael@@rz-online.de")) ))
1544@end example 1384@end example
1545 1385@noindent
1546@ifnottex
1547@node [5.5], [5.6], [5.4], FAQ 5 - Composing messages
1548@end ifnottex
1549@subsubheading Question 5.5:
1550 1386
1551 Is there a spell-checker? Perhaps even on-the-fly spell-checking? 1387@node [5.5]
1552 1388@subsubheading Question 5.5
1553 1389
1554Answer: 1390Is there a spell-checker? Perhaps even on-the-fly spell-checking?
1555 1391
1556You can use ispell.el to spell-check stuff in Emacs. So the first 1392@subsubheading Answer
1557thing to do is to make sure that you've got either
1558@itemize @bullet
1559@item
1560@uref{http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html,ispell}
1561or
1562@item
1563@uref{http://aspell.sourceforge.net/,aspell}
1564@end itemize
1565@noindent
1566installed and in your Path.
1567
1568Then you need
1569@uref{http://www.kdstevens.com/~stevens/ispell-page.html,ispell.el,ispell.el}
1570and for on-the-fly spell-checking
1571@uref{http://www-sop.inria.fr/mimosa/personnel/Manuel.Serrano/flyspell/flyspell.html,flyspell.el,flyspell.el}.
1572Ispell.el is shipped with Gnus Emacs and available through the Emacs
1573package system, flyspell.el is shipped with Emacs and part of XEmacs
1574text-modes package which is available through the package system, so
1575there should be no need to install them manually.
1576
1577 1393
1578 Ispell.el assumes you use ispell, if you choose aspell say 1394You can use ispell.el to spell-check stuff in Emacs. So the
1579 1395first thing to do is to make sure that you've got either
1396@uref{http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html, ispell}
1397or @uref{http://aspell.sourceforge.net/, aspell}
1398installed and in your Path. Then you need
1399@uref{http://www.kdstevens.com/~stevens/ispell-page.html, ispell.el}
1400and for on-the-fly spell-checking
1401@uref{http://www-sop.inria.fr/mimosa/personnel/Manuel.Serrano/flyspell/flyspell.html, flyspell.el}.
1402Ispell.el is shipped with Emacs and available through the XEmacs package system,
1403flyspell.el is shipped with Emacs and part of XEmacs text-modes package which is
1404available through the package system, so there should be no need to install them
1405manually.
1406
1407Ispell.el assumes you use ispell, if you choose aspell say
1580 1408
1581@example 1409@example
1582(setq ispell-program-name "aspell") 1410(setq ispell-program-name "aspell")
1583@end example 1411@end example
1584
1585
1586@noindent 1412@noindent
1587 in your Emacs configuration file.
1588 1413
1414in your Emacs configuration file.
1589 1415
1590 If you want your outgoing messages to be spell-checked, say 1416If you want your outgoing messages to be spell-checked, say
1591
1592 1417
1593@example 1418@example
1594(add-hook 'message-send-hook 'ispell-message) 1419(add-hook 'message-send-hook 'ispell-message)
1595@end example 1420@end example
1596
1597@noindent 1421@noindent
1598 In your ~/.gnus, if you prefer on-the-fly spell-checking say 1422
1599 1423In your ~/.gnus.el, if you prefer on-the-fly spell-checking say
1600 1424
1601@example 1425@example
1602(add-hook 'message-mode-hook (lambda () (flyspell-mode 1))) 1426(add-hook 'message-mode-hook (lambda () (flyspell-mode 1)))
1603@end example 1427@end example
1604 1428@noindent
1605@ifnottex
1606@node [5.6], [5.7], [5.5], FAQ 5 - Composing messages
1607@end ifnottex
1608@subsubheading Question 5.6:
1609 1429
1610 Can I set the dictionary based on the group I'm posting to? 1430@node [5.6]
1611 1431@subsubheading Question 5.6
1612 1432
1613Answer: 1433Can I set the dictionary based on the group I'm posting to?
1614 1434
1615 Yes, say something like 1435@subsubheading Answer
1616 1436
1437Yes, say something like
1617 1438
1618@example 1439@example
1619(add-hook 'gnus-select-group-hook 1440(add-hook 'gnus-select-group-hook
@@ -1625,55 +1446,47 @@ Answer:
1625 (t 1446 (t
1626 (ispell-change-dictionary "english"))))) 1447 (ispell-change-dictionary "english")))))
1627@end example 1448@end example
1628
1629
1630@noindent 1449@noindent
1631 in ~/.gnus. Change "^de\\." and "deutsch8" to something
1632 that suits your needs.
1633 1450
1634@ifnottex 1451in ~/.gnus.el. Change "^de\\." and "deutsch8" to something
1635@node [5.7], [5.8], [5.6], FAQ 5 - Composing messages 1452that suits your needs.
1636@end ifnottex
1637@subsubheading Question 5.7:
1638 1453
1639 Is there some kind of address-book, so I needn't remember 1454@node [5.7]
1640 all those email addresses? 1455@subsubheading Question 5.7
1641
1642 1456
1643Answer: 1457Is there some kind of address-book, so I needn't remember
1458all those email addresses?
1644 1459
1645 There's an very basic solution for this, mail aliases. 1460@subsubheading Answer
1646 You can store your mail addresses in a ~/.mailrc file using a simple 1461
1647 alias syntax: 1462There's an very basic solution for this, mail aliases.
1648 1463You can store your mail addresses in a ~/.mailrc file using a simple
1464alias syntax:
1649 1465
1650@example 1466@example
1651alias al "Al <al@@english-heritage.bla>" 1467alias al "Al <al@@english-heritage.bla>"
1652@end example 1468@end example
1653
1654@noindent 1469@noindent
1655 Then typing your alias (followed by a space or punctuation
1656 character) on a To: or Cc: line in the message buffer will
1657 cause Gnus to insert the full address for you. See the
1658 node "Mail Aliases" in Message (not Gnus) manual for
1659 details.
1660
1661 1470
1662 However, what you really want is the Insidious Big Brother 1471Then typing your alias (followed by a space or punctuation
1663 Database bbdb. Get it through the XEmacs package system or from 1472character) on a To: or Cc: line in the message buffer will
1664 @uref{http://bbdb.sourceforge.net/,bbdb's homepage}. 1473cause Gnus to insert the full address for you. See the
1665 Now place the following in ~/.gnus, to activate bbdb for Gnus: 1474node "Mail Aliases" in Message (not Gnus) manual for
1666 1475details.
1476
1477However, what you really want is the Insidious Big Brother
1478Database bbdb. Get it through the XEmacs package system or from
1479@uref{http://bbdb.sourceforge.net/, bbdb's homepage}.
1480Now place the following in ~/.gnus.el, to activate bbdb for Gnus:
1667 1481
1668@example 1482@example
1669(require 'bbdb) 1483(require 'bbdb)
1670(bbdb-initialize 'gnus 'message) 1484(bbdb-initialize 'gnus 'message)
1671@end example 1485@end example
1672
1673@noindent 1486@noindent
1674 Now you probably want some general bbdb configuration, 1487
1675 place them in ~/.emacs: 1488Now you probably want some general bbdb configuration,
1676 1489place them in ~/.emacs:
1677 1490
1678@example 1491@example
1679(require 'bbdb) 1492(require 'bbdb)
@@ -1689,56 +1502,50 @@ alias al "Al <al@@english-heritage.bla>"
1689;;No popup-buffers 1502;;No popup-buffers
1690(setq bbdb-use-pop-up nil) 1503(setq bbdb-use-pop-up nil)
1691@end example 1504@end example
1692
1693@noindent 1505@noindent
1694 Now you should be ready to go. Say @samp{M-x bbdb RET
1695 RET} to open a bbdb buffer showing all
1696 entries. Say @samp{c} to create a new
1697 entry, @samp{b} to search your BBDB and
1698 @samp{C-o} to add a new field to an
1699 entry. If you want to add a sender to the BBDB you can
1700 also just hit `:' on the posting in the summary buffer and
1701 you are done. When you now compose a new mail,
1702 hit @samp{TAB} to cycle through know
1703 recipients.
1704
1705@ifnottex
1706@node [5.8], [5.9], [5.7], FAQ 5 - Composing messages
1707@end ifnottex
1708@subsubheading Question 5.8:
1709
1710 Sometimes I see little images at the top of article
1711 buffer. What's that and how can I send one with my
1712 postings, too?
1713
1714 1506
1715Answer: 1507Now you should be ready to go. Say @samp{M-x bbdb RET
1716 1508RET} to open a bbdb buffer showing all
1717 Those images are called X-Faces. They are 48*48 pixel b/w 1509entries. Say @samp{c} to create a new
1718 pictures, encoded in a header line. If you want to include 1510entry, @samp{b} to search your BBDB and
1719 one in your posts, you've got to convert some image to a 1511@samp{C-o} to add a new field to an
1720 X-Face. So fire up some image manipulation program (say 1512entry. If you want to add a sender to the BBDB you can
1721 Gimp), open the image you want to include, cut out the 1513also just hit `:' on the posting in the summary buffer and
1722 relevant part, reduce color depth to 1 bit, resize to 1514you are done. When you now compose a new mail,
1723 48*48 and save as bitmap. Now you should get the compface 1515hit @samp{TAB} to cycle through know
1724 package from 1516recipients.
1725 @uref{ftp://ftp.cs.indiana.edu:/pub/faces/,this site}. 1517
1726 and create the actual X-face by saying 1518@node [5.8]
1727 1519@subsubheading Question 5.8
1520
1521Sometimes I see little images at the top of article
1522buffer. What's that and how can I send one with my
1523postings, too?
1524
1525@subsubheading Answer
1526
1527Those images are called X-Faces. They are 48*48 pixel b/w
1528pictures, encoded in a header line. If you want to include
1529one in your posts, you've got to convert some image to a
1530X-Face. So fire up some image manipulation program (say
1531Gimp), open the image you want to include, cut out the
1532relevant part, reduce color depth to 1 bit, resize to
153348*48 and save as bitmap. Now you should get the compface
1534package from
1535@uref{ftp://ftp.cs.indiana.edu:/pub/faces/, this site}.
1536and create the actual X-face by saying
1728 1537
1729@example 1538@example
1730cat file.xbm | xbm2ikon |compface > file.face 1539cat file.xbm | xbm2ikon | compface > file.face
1731cat ./file.face | sed 's/\\/\\\\/g' | sed 's/\"/\\\"/g' > ./file.face.quoted 1540cat file.face | sed 's/\\/\\\\/g;s/\"/\\\"/g;' > file.face.quoted
1732@end example 1541@end example
1733
1734@noindent 1542@noindent
1735If you can't use compface, there's an online X-face converter at@*
1736@uref{http://www.dairiki.org/xface/}. If you use MS Windows, you
1737could also use the WinFace program from
1738@uref{http://www.xs4all.nl/~walterln/winface/}.
1739 1543
1740Now you only have to tell Gnus to include the X-face in your postings 1544If you can't use compface, there's an online X-face converter at
1741by saying 1545@uref{http://www.dairiki.org/xface/}.
1546If you use MS Windows, you could also use the WinFace program from
1547@uref{http://www.xs4all.nl/~walterln/winface/}.
1548Now you only have to tell Gnus to include the X-face in your postings by saying
1742 1549
1743@example 1550@example
1744(setq message-default-headers 1551(setq message-default-headers
@@ -1747,33 +1554,28 @@ by saying
1747 (insert-file-contents "~/.xemacs/xface") 1554 (insert-file-contents "~/.xemacs/xface")
1748 (buffer-string))) 1555 (buffer-string)))
1749@end example 1556@end example
1750
1751@noindent 1557@noindent
1752 in ~/.gnus.
1753
1754@ifnottex
1755@node [5.9], [5.10], [5.8], FAQ 5 - Composing messages
1756@end ifnottex
1757@subsubheading Question 5.9:
1758
1759 Sometimes I accidentally hit r instead of f in
1760 newsgroups. Can Gnus warn me, when I'm replying by mail in
1761 newsgroups?
1762
1763 1558
1764Answer: 1559in ~/.gnus.el.
1765 1560
1766 Put this in ~/.gnus: 1561@node [5.9]
1767 1562@subsubheading Question 5.9
1563
1564Sometimes I accidentally hit r instead of f in
1565newsgroups. Can Gnus warn me, when I'm replying by mail in
1566newsgroups?
1567
1568@subsubheading Answer
1569
1570Put this in ~/.gnus.el:
1768 1571
1769@example 1572@example
1770(setq gnus-confirm-mail-reply-to-news t) 1573(setq gnus-confirm-mail-reply-to-news t)
1771@end example 1574@end example
1772
1773@noindent 1575@noindent
1774 if you already use Gnus 5.10, if you still use 5.8.8 or 1576
1775 5.9 try this instead: 1577if you already use Gnus 5.10, if you still use 5.8.8 or
1776 15785.9 try this instead:
1777 1579
1778@example 1580@example
1779(eval-after-load "gnus-msg" 1581(eval-after-load "gnus-msg"
@@ -1785,44 +1587,37 @@ Answer:
1785 (y-or-n-p "Really reply by mail to article author? ")) 1587 (y-or-n-p "Really reply by mail to article author? "))
1786 ad-do-it)))) 1588 ad-do-it))))
1787@end example 1589@end example
1788 1590@noindent
1789@ifnottex
1790@node [5.10], [5.11], [5.9], FAQ 5 - Composing messages
1791@end ifnottex
1792@subsubheading Question 5.10:
1793 1591
1794 How to tell Gnus not to generate a sender header? 1592@node [5.10]
1795 1593@subsubheading Question 5.10
1796 1594
1797Answer: 1595How to tell Gnus not to generate a sender header?
1798 1596
1799 Since 5.10 Gnus doesn't generate a sender header by 1597@subsubheading Answer
1800 default. For older Gnus' try this in ~/.gnus: 1598
1801 1599Since 5.10 Gnus doesn't generate a sender header by
1600default. For older Gnus' try this in ~/.gnus.el:
1802 1601
1803@example 1602@example
1804(eval-after-load "message" 1603(eval-after-load "message"
1805 '(add-to-list 'message-syntax-checks '(sender . disabled))) 1604 '(add-to-list 'message-syntax-checks '(sender . disabled)))
1806@end example 1605@end example
1807 1606@noindent
1808
1809@ifnottex
1810@node [5.11], [5.12], [5.10], FAQ 5 - Composing messages
1811@end ifnottex
1812@subsubheading Question 5.11:
1813 1607
1814 I want gnus to locally store copies of my send mail and 1608@node [5.11]
1815 news, how to do it? 1609@subsubheading Question 5.11
1816
1817 1610
1818Answer: 1611I want Gnus to locally store copies of my send mail and
1612news, how to do it?
1819 1613
1820 You must set the variable gnus-message-archive-group to do 1614@subsubheading Answer
1821 this. You can set it to a string giving the name of the 1615
1822 group where the copies shall go or like in the example 1616You must set the variable gnus-message-archive-group to do
1823 below use a function which is evaluated and which returns 1617this. You can set it to a string giving the name of the
1824 the group to use. 1618group where the copies shall go or like in the example
1825 1619below use a function which is evaluated and which returns
1620the group to use.
1826 1621
1827@example 1622@example
1828(setq gnus-message-archive-group 1623(setq gnus-message-archive-group
@@ -1830,31 +1625,31 @@ Answer:
1830 "nnml:Send-News" 1625 "nnml:Send-News"
1831 "nnml:Send-Mail"))) 1626 "nnml:Send-Mail")))
1832@end example 1627@end example
1833 1628@noindent
1834
1835@ifnottex
1836@node [5.12], , [5.11], FAQ 5 - Composing messages
1837@end ifnottex
1838@subsubheading Question 5.12:
1839 1629
1840 People tell me my Message-IDs are not correct, why 1630@node [5.12]
1841 aren't they and how to fix it? 1631@subsubheading Question 5.12
1842 1632
1633People tell me my Message-IDs are not correct, why
1634aren't they and how to fix it?
1843 1635
1844Answer: 1636@subsubheading Answer
1637
1638The message-ID is an unique identifier for messages you
1639send. To make it unique, Gnus need to know which machine
1640name to put after the "@@". If the name of the machine
1641where Gnus is running isn't suitable (it probably isn't
1642at most private machines) you can tell Gnus what to use
1643by saying:
1845 1644
1846 The message-ID is an unique identifier for messages you
1847 send. To make it unique, Gnus need to know which machine
1848 name to put after the "@@". If the name of the machine
1849 where Gnus is running isn't suitable (it probably isn't
1850 at most private machines) you can tell Gnus what to use
1851 by saying
1852@example 1645@example
1853(setq message-user-fqdn "yourmachine.yourdomain.tld") 1646(setq message-user-fqdn "yourmachine.yourdomain.tld")
1854@end example 1647@end example
1855@noindent 1648@noindent
1856 in ~/.gnus. If you use Gnus 5.9 or ealier, you can use this 1649
1857instead (works for newer versions a well): 1650in ~/.gnus.el. If you use Gnus 5.9 or ealier, you can use this
1651instead (works for newer versions a well):
1652
1858@example 1653@example
1859(eval-after-load "message" 1654(eval-after-load "message"
1860 '(let ((fqdn "yourmachine.yourdomain.tld"));; <-- Edit this! 1655 '(let ((fqdn "yourmachine.yourdomain.tld"));; <-- Edit this!
@@ -1865,110 +1660,97 @@ instead (works for newer versions a well):
1865 "Return user's fully qualified domain name." 1660 "Return user's fully qualified domain name."
1866 fqdn)))) 1661 fqdn))))
1867@end example 1662@end example
1663@noindent
1868 1664
1869 If you have no idea what to insert for 1665If you have no idea what to insert for
1870 "yourmachine.yourdomain.tld", you've got several 1666"yourmachine.yourdomain.tld", you've got several
1871 choices. You can either ask your provider if he allows 1667choices. You can either ask your provider if he allows
1872 you to use something like 1668you to use something like
1873 yourUserName.userfqdn.provider.net, or you can use 1669yourUserName.userfqdn.provider.net, or you can use
1874 somethingUnique.yourdomain.tld if you own the domain 1670somethingUnique.yourdomain.tld if you own the domain
1875 yourdomain.tld, or you can register at a service which 1671yourdomain.tld, or you can register at a service which
1876 gives private users a FQDN for free, e.g. 1672gives private users a FQDN for free, e.g.
1877 @uref{http://www.stura.tu-freiberg.de/~dlx/addfqdn.html}. 1673@uref{http://www.stura.tu-freiberg.de/~dlx/addfqdn.html}.
1878 (Sorry but this website is in German, if you know of an 1674(Sorry but this website is in German, if you know of an
1879 English one offering the same, drop me a note). 1675English one offering the same, drop me a note).
1880 1676
1881 1677Finally you can tell Gnus not to generate a Message-ID
1882 Finally you can tell Gnus not to generate a Message-ID 1678for News at all (and letting the server do the job) by saying
1883 for News at all (and letting the server do the job) by saying
1884
1885 1679
1886@example 1680@example
1887(setq message-required-news-headers 1681(setq message-required-news-headers
1888 (remove' Message-ID message-required-news-headers)) 1682 (remove' Message-ID message-required-news-headers))
1889@end example 1683@end example
1890
1891@noindent 1684@noindent
1892 you can also tell Gnus not to generate Message-IDs for mail by saying 1685
1893 1686you can also tell Gnus not to generate Message-IDs for mail by saying
1894 1687
1895@example 1688@example
1896(setq message-required-mail-headers 1689(setq message-required-mail-headers
1897 (remove' Message-ID message-required-mail-headers)) 1690 (remove' Message-ID message-required-mail-headers))
1898@end example 1691@end example
1899
1900@noindent 1692@noindent
1901 , however some mail servers don't generate proper
1902 Message-IDs, too, so test if your Mail Server behaves
1903 correctly by sending yourself a Mail and looking at the Message-ID.
1904
1905 1693
1906@ifnottex 1694, however some mail servers don't generate proper
1907@node FAQ 6 - Old messages, FAQ 7 - Gnus in a dial-up environment, FAQ 5 - Composing messages, Frequently Asked Questions 1695Message-IDs, too, so test if your Mail Server behaves
1908@end ifnottex 1696correctly by sending yourself a Mail and looking at the Message-ID.
1697
1698@node FAQ 6 - Old messages
1909@subsection Old messages 1699@subsection Old messages
1910 1700
1911@menu 1701@menu
1912* [6.1]:: How to import my old mail into Gnus? 1702* [6.1]:: How to import my old mail into Gnus?
1913* [6.2]:: How to archive interesting messages? 1703* [6.2]:: How to archive interesting messages?
1914* [6.3]:: How to search for a specific message? 1704* [6.3]:: How to search for a specific message?
1915* [6.4]:: How to get rid of old unwanted mail? 1705* [6.4]:: How to get rid of old unwanted mail?
1916* [6.5]:: I want that all read messages are expired (at least in some 1706* [6.5]:: I want that all read messages are expired (at least in some
1917 groups). How to do it? 1707 groups). How to do it?
1918* [6.6]:: I don't want expiration to delete my mails but to move them 1708* [6.6]:: I don't want expiration to delete my mails but to move them
1919 to another group. 1709 to another group.
1920@end menu 1710@end menu
1921 1711
1922@ifnottex 1712@node [6.1]
1923@node [6.1], [6.2], FAQ 6 - Old messages, FAQ 6 - Old messages 1713@subsubheading Question 6.1
1924@end ifnottex 1714
1925@subsubheading Question 6.1: 1715How to import my old mail into Gnus?
1926 1716
1927 How to import my old mail into Gnus? 1717@subsubheading Answer
1928 1718
1929 1719The easiest way is to tell your old mail program to
1930Answer: 1720export the messages in mbox format. Most Unix mailers
1931 1721are able to do this, if you come from the MS Windows
1932 The easiest way is to tell your old mail program to 1722world, you may find tools at
1933 export the messages in mbox format. Most Unix mailers 1723@uref{http://mbx2mbox.sourceforge.net/}.
1934 are able to do this, if you come from the MS Windows 1724
1935 world, you may find tools at 1725Now you've got to import this mbox file into Gnus. To do
1936 @uref{http://mbx2mbox.sourceforge.net/}. 1726this, create a nndoc group based on the mbox file by
1937 1727saying @samp{G f /path/file.mbox RET} in
1938 1728Group buffer. You now have read-only access to your
1939 Now you've got to import this mbox file into Gnus. To do 1729mail. If you want to import the messages to your normal
1940 this, create a nndoc group based on the mbox file by 1730Gnus mail groups hierarchy, enter the nndoc group you've
1941 saying @samp{G f /path/file.mbox RET} in 1731just created by saying @samp{C-u RET}
1942 Group buffer. You now have read-only access to your 1732(thus making sure all messages are retrieved), mark all
1943 mail. If you want to import the messages to your normal 1733messages by saying @samp{M P b} and
1944 Gnus mail groups hierarchy, enter the nndoc group you've 1734either copy them to the desired group by saying
1945 just created by saying @samp{C-u RET} 1735@samp{B c name.of.group RET} or send them
1946 (thus making sure all messages are retrieved), mark all 1736through nnmail-split-methods (respool them) by saying
1947 messages by saying @samp{M P b} and 1737@samp{B r}.
1948 either copy them to the desired group by saying 1738
1949 @samp{B c name.of.group RET} or send them 1739@node [6.2]
1950 through nnmail-split-methods (respool them) by saying 1740@subsubheading Question 6.2
1951 @samp{B r}. 1741
1952 1742How to archive interesting messages?
1953@ifnottex 1743
1954@node [6.2], [6.3], [6.1], FAQ 6 - Old messages 1744@subsubheading Answer
1955@end ifnottex 1745
1956@subsubheading Question 6.2: 1746If you stumble across an interesting message, say in
1957 1747gnu.emacs.gnus and want to archive it there are several
1958 How to archive interesting messages? 1748solutions. The first and easiest is to save it to a file
1959 1749by saying @samp{O f}. However, wouldn't
1960 1750it be much more convenient to have more direct access to
1961Answer: 1751the archived message from Gnus? If you say yes, put this
1962 1752snippet by Frank Haun <pille3003@@fhaun.de> in
1963 If you stumble across an interesting message, say in 1753~/.gnus.el:
1964 gnu.emacs.gnus and want to archive it there are several
1965 solutions. The first and easiest is to save it to a file
1966 by saying @samp{O f}. However, wouldn't
1967 it be much more convenient to have more direct access to
1968 the archived message from Gnus? If you say yes, put this
1969 snippet by Frank Haun <pille3003@@fhaun.de> in
1970 ~/.gnus:
1971
1972 1754
1973@example 1755@example
1974(defun my-archive-article (&optional n) 1756(defun my-archive-article (&optional n)
@@ -1987,624 +1769,531 @@ more then one article."
1987 (replace-regexp-in-string "^.*:" "" gnus-newsgroup-name))))) 1769 (replace-regexp-in-string "^.*:" "" gnus-newsgroup-name)))))
1988 (gnus-summary-copy-article n archive-name))) 1770 (gnus-summary-copy-article n archive-name)))
1989@end example 1771@end example
1990
1991@noindent 1772@noindent
1992 You can now say @samp{M-x
1993 my-archive-article} in summary buffer to
1994 archive the article under the cursor in a nnml
1995 group. (Change nnml to your preferred back end)
1996
1997 1773
1998 Of course you can also make sure the cache is enabled by saying 1774You can now say @samp{M-x
1999 1775my-archive-article} in summary buffer to
1776archive the article under the cursor in a nnml
1777group. (Change nnml to your preferred back end)
1778
1779Of course you can also make sure the cache is enabled by saying
2000 1780
2001@example 1781@example
2002(setq gnus-use-cache t) 1782(setq gnus-use-cache t)
2003@end example 1783@end example
2004
2005@noindent 1784@noindent
2006 then you only have to set either the tick or the dormant
2007 mark for articles you want to keep, setting the read
2008 mark will remove them from cache.
2009
2010@ifnottex
2011@node [6.3], [6.4], [6.2], FAQ 6 - Old messages
2012@end ifnottex
2013@subsubheading Question 6.3:
2014
2015 How to search for a specific message?
2016
2017
2018Answer:
2019
2020 There are several ways for this, too. For a posting from
2021 a Usenet group the easiest solution is probably to ask
2022 @uref{http://groups.google.com,groups.google.com},
2023 if you found the posting there, tell Google to display
2024 the raw message, look for the message-id, and say
2025 @samp{M-^ the@@message.id RET} in a
2026 summary buffer.
2027 Since Gnus 5.10 there's also a Gnus interface for
2028 groups.google.com which you can call with
2029 @samp{G W}) in group buffer.
2030
2031
2032 Another idea which works for both mail and news groups
2033 is to enter the group where the message you are
2034 searching is and use the standard Emacs search
2035 @samp{C-s}, it's smart enough to look at
2036 articles in collapsed threads, too. If you want to
2037 search bodies, too try @samp{M-s}
2038 instead. Further on there are the
2039 gnus-summary-limit-to-foo functions, which can help you,
2040 too.
2041
2042 1785
2043 Of course you can also use grep to search through your 1786then you only have to set either the tick or the dormant
2044 local mail, but this is both slow for big archives and 1787mark for articles you want to keep, setting the read
2045 inconvenient since you are not displaying the found mail 1788mark will remove them from cache.
2046 in Gnus. Here comes nnir into action. Nnir is a front end 1789
2047 to search engines like swish-e or swish++ and 1790@node [6.3]
2048 others. You index your mail with one of those search 1791@subsubheading Question 6.3
2049 engines and with the help of nnir you can search trough 1792
2050 the indexed mail and generate a temporary group with all 1793How to search for a specific message?
2051 messages which met your search criteria. If this sound 1794
2052 cool to you get nnir.el from the contrib directory of the Gnus 1795@subsubheading Answer
2053 distribution or 1796
2054 @uref{http://quimby.gnus.org/cgi-bin/cvsweb.cgi/~checkout~/gnus/contrib/nnir.el?rev=HEAD&content-type=text/plain} 1797There are several ways for this, too. For a posting from
2055 Instructions on how to use it are at the top of the file. 1798a Usenet group the easiest solution is probably to ask
2056 1799@uref{http://groups.google.com, groups.google.com},
2057@ifnottex 1800if you found the posting there, tell Google to display
2058@node [6.4], [6.5], [6.3], FAQ 6 - Old messages 1801the raw message, look for the message-id, and say
2059@end ifnottex 1802@samp{M-^ the@@message.id RET} in a
2060@subsubheading Question 6.4: 1803summary buffer.
2061 1804Since Gnus 5.10 there's also a Gnus interface for
2062 How to get rid of old unwanted mail? 1805groups.google.com which you can call with
2063 1806@samp{G W}) in group buffer.
2064 1807
2065Answer: 1808Another idea which works for both mail and news groups
2066 1809is to enter the group where the message you are
2067 You can of course just mark the mail you don't need 1810searching is and use the standard Emacs search
2068 anymore by saying @samp{#} with point 1811@samp{C-s}, it's smart enough to look at
2069 over the mail and then say @samp{B DEL} 1812articles in collapsed threads, too. If you want to
2070 to get rid of them forever. You could also instead of 1813search bodies, too try @samp{M-s}
2071 actually deleting them, send them to a junk-group by 1814instead. Further on there are the
2072 saying @samp{B m nnml:trash-bin} which 1815gnus-summary-limit-to-foo functions, which can help you,
2073 you clear from time to time, but both are not the intended 1816too.
2074 way in Gnus. 1817
2075 1818Of course you can also use grep to search through your
2076 1819local mail, but this is both slow for big archives and
2077 In Gnus, we let mail expire like news expires on a news 1820inconvenient since you are not displaying the found mail
2078 server. That means you tell Gnus the message is 1821in Gnus. Here comes nnir into action. Nnir is a front end
2079 expirable (you tell Gnus "I don't need this mail 1822to search engines like swish-e or swish++ and
2080 anymore") by saying @samp{E} with point 1823others. You index your mail with one of those search
2081 over the mail in summary buffer. Now when you leave the 1824engines and with the help of nnir you can search trough
2082 group, Gnus looks at all messages which you marked as 1825the indexed mail and generate a temporary group with all
2083 expirable before and if they are old enough (default is 1826messages which met your search criteria. If this sound
2084 older than a week) they are deleted. 1827cool to you get nnir.el from
2085 1828@uref{ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/}
2086@ifnottex 1829or @uref{ftp://ftp.is.informatik.uni-duisburg.de/pub/src/emacs/}.
2087@node [6.5], [6.6], [6.4], FAQ 6 - Old messages 1830Instructions on how to use it are at the top of the file.
2088@end ifnottex 1831
2089@subsubheading Question 6.5: 1832@node [6.4]
2090 1833@subsubheading Question 6.4
2091 I want that all read messages are expired (at least in 1834
2092 some groups). How to do it? 1835How to get rid of old unwanted mail?
2093 1836
2094 1837@subsubheading Answer
2095Answer: 1838
2096 1839You can of course just mark the mail you don't need
2097 If you want all read messages to be expired (e.g. in 1840anymore by saying @samp{#} with point
2098 mailing lists where there's an online archive), you've 1841over the mail and then say @samp{B DEL}
2099 got two choices: auto-expire and 1842to get rid of them forever. You could also instead of
2100 total-expire. Auto-expire means, that every article 1843actually deleting them, send them to a junk-group by
2101 which has no marks set and is selected for reading is 1844saying @samp{B m nnml:trash-bin} which
2102 marked as expirable, Gnus hits @samp{E} 1845you clear from time to time, but both are not the intended
2103 for you every time you read a message. Total-expire 1846way in Gnus.
2104 follows a slightly different approach, here all article 1847
2105 where the read mark is set are expirable. 1848In Gnus, we let mail expire like news expires on a news
2106 1849server. That means you tell Gnus the message is
2107 1850expirable (you tell Gnus "I don't need this mail
2108 To activate auto-expire, include auto-expire in the 1851anymore") by saying @samp{E} with point
2109 Group parameters for the group. (Hit @samp{G 1852over the mail in summary buffer. Now when you leave the
2110 c} in summary buffer with point over the 1853group, Gnus looks at all messages which you marked as
2111 group to change group parameters). For total-expire add 1854expirable before and if they are old enough (default is
2112 total-expire to the group-parameters. 1855older than a week) they are deleted.
2113 1856
2114 1857@node [6.5]
2115 Which method you choose is merely a matter of taste: 1858@subsubheading Question 6.5
2116 Auto-expire is faster, but it doesn't play together with 1859
2117 Adaptive Scoring, so if you want to use this feature, 1860I want that all read messages are expired (at least in
2118 you should use total-expire. 1861some groups). How to do it?
2119 1862
2120 1863@subsubheading Answer
2121 If you want a message to be excluded from expiration in 1864
2122 a group where total or auto expire is active, set either 1865If you want all read messages to be expired (e.g. in
2123 tick (hit @samp{u}) or dormant mark (hit 1866mailing lists where there's an online archive), you've
2124 @samp{u}), when you use auto-expire, you 1867got two choices: auto-expire and
2125 can also set the read mark (hit 1868total-expire. Auto-expire means, that every article
2126 @samp{d}). 1869which has no marks set and is selected for reading is
2127 1870marked as expirable, Gnus hits @samp{E}
2128@ifnottex 1871for you every time you read a message. Total-expire
2129@node [6.6], , [6.5], FAQ 6 - Old messages 1872follows a slightly different approach, here all article
2130@end ifnottex 1873where the read mark is set are expirable.
2131@subsubheading Question 6.6: 1874
2132 1875To activate auto-expire, include auto-expire in the
2133 I don't want expiration to delete my mails but to move them 1876Group parameters for the group. (Hit @samp{G
2134 to another group. 1877c} in summary buffer with point over the
2135 1878group to change group parameters). For total-expire add
2136 1879total-expire to the group-parameters.
2137Answer: 1880
2138 1881Which method you choose is merely a matter of taste:
2139 Say something like this in ~/.gnus: 1882Auto-expire is faster, but it doesn't play together with
2140 1883Adaptive Scoring, so if you want to use this feature,
1884you should use total-expire.
1885
1886If you want a message to be excluded from expiration in
1887a group where total or auto expire is active, set either
1888tick (hit @samp{u}) or dormant mark (hit
1889@samp{u}), when you use auto-expire, you
1890can also set the read mark (hit
1891@samp{d}).
1892
1893@node [6.6]
1894@subsubheading Question 6.6
1895
1896I don't want expiration to delete my mails but to move them
1897to another group.
1898
1899@subsubheading Answer
1900
1901Say something like this in ~/.gnus.el:
2141 1902
2142@example 1903@example
2143(setq nnmail-expiry-target "nnml:expired") 1904(setq nnmail-expiry-target "nnml:expired")
2144@end example 1905@end example
2145
2146@noindent 1906@noindent
2147 (If you want to change the value of nnmail-expiry-target
2148 on a per group basis see the question "How can I disable
2149 threading in some (e.g. mail-) groups, or set other
2150 variables specific for some groups?")
2151
2152 1907
2153@ifnottex 1908(If you want to change the value of nnmail-expiry-target
2154@node FAQ 7 - Gnus in a dial-up environment, FAQ 8 - Getting help, FAQ 6 - Old messages, Frequently Asked Questions 1909on a per group basis see the question "How can I disable
2155@end ifnottex 1910threading in some (e.g. mail-) groups, or set other
1911variables specific for some groups?")
1912
1913@node FAQ 7 - Gnus in a dial-up environment
2156@subsection Gnus in a dial-up environment 1914@subsection Gnus in a dial-up environment
2157 1915
2158@menu 1916@menu
2159* [7.1]:: I don't have a permanent connection to the net, how can I 1917* [7.1]:: I don't have a permanent connection to the net, how can I
2160 minimize the time I've got to be connected? 1918 minimize the time I've got to be connected?
2161* [7.2]:: So what was this thing about the Agent? 1919* [7.2]:: So what was this thing about the Agent?
2162* [7.3]:: I want to store article bodies on disk, too. How to do it? 1920* [7.3]:: I want to store article bodies on disk, too. How to do it?
2163* [7.4]:: How to tell Gnus not to try to send mails / postings while 1921* [7.4]:: How to tell Gnus not to try to send mails / postings while
2164 I'm offline? 1922 I'm offline?
2165@end menu 1923@end menu
2166 1924
2167 1925@node [7.1]
2168@ifnottex 1926@subsubheading Question 7.1
2169@node [7.1], [7.2], FAQ 7 - Gnus in a dial-up environment, FAQ 7 - Gnus in a dial-up environment 1927
2170@end ifnottex 1928I don't have a permanent connection to the net, how can
2171@subsubheading Question 7.1: 1929I minimize the time I've got to be connected?
2172 1930
2173 I don't have a permanent connection to the net, how can 1931@subsubheading Answer
2174 I minimize the time I've got to be connected? 1932
2175 1933You've got basically two options: Either you use the
2176 1934Gnus Agent (see below) for this, or you can install
2177Answer: 1935programs which fetch your news and mail to your local
2178 1936disk and Gnus reads the stuff from your local
2179 You've got basically two options: Either you use the 1937machine.
2180 Gnus Agent (see below) for this, or you can install 1938
2181 programs which fetch your news and mail to your local 1939If you want to follow the second approach, you need a
2182 disk and Gnus reads the stuff from your local 1940program which fetches news and offers them to Gnus, a
2183 machine. 1941program which does the same for mail and a program which
2184 1942receives the mail you write from Gnus and sends them
2185 1943when you're online.
2186 If you want to follow the second approach, you need a 1944
2187 program which fetches news and offers them to Gnus, a 1945Let's talk about Unix systems first: For the news part,
2188 program which does the same for mail and a program which 1946the easiest solution is a small nntp server like
2189 receives the mail you write from Gnus and sends them 1947@uref{http://www.leafnode.org/, Leafnode} or
2190 when you're online. 1948@uref{http://infa.abo.fi/~patrik/sn/, sn},
2191 1949of course you can also install a full featured news
2192 1950server like
2193Let's talk about Unix systems first: For the news part, the easiest 1951@uref{http://www.isc.org/products/INN/, inn}.
2194solution is a small nntp server like 1952Then you want to fetch your Mail, popular choices
2195@uref{http://www.leafnode.org/,Leafnode} or 1953are @uref{http://www.catb.org/~esr/fetchmail/, fetchmail}
2196@uref{http://infa.abo.fi/~patrik/sn/,sn}, of course you can also 1954and @uref{http://www.qcc.ca/~charlesc/software/getmail-3.0/, getmail}.
2197install a full featured news server like 1955You should tell those to write the mail to your disk and
2198@uref{http://www.isc.org/products/INN/,inn}. 1956Gnus to read it from there. Last but not least the mail
2199 1957sending part: This can be done with every MTA like
2200Then you want to fetch your Mail, popular choices are 1958@uref{http://www.sendmail.org/, sendmail},
2201@itemize @bullet 1959@uref{http://www.qmail.org/, postfix},
2202@item 1960@uref{http://www.exim.org/, exim} or
2203@uref{http://www.catb.org/~esr/fetchmail/,fetchmail} and 1961@uref{http://www.qmail.org/, qmail}.
2204@item 1962
2205@uref{http://www.qcc.ca/~charlesc/software/getmail-3.0/,getmail}. 1963On windows boxes I'd vote for
2206@end itemize 1964@uref{http://www.tglsoft.de/, Hamster},
2207You should tell those to write the mail to your disk and Gnus to read 1965it's a small freeware, open-source program which fetches
2208it from there. Last but not least the mail sending part: This can be 1966your mail and news from remote servers and offers them
2209done with every MTA like @uref{http://www.sendmail.org/,sendmail}, 1967to Gnus (or any other mail and/or news reader) via nntp
2210@uref{http://www.qmail.org/,postfix}, @uref{http://www.exim.org/,exim} 1968respectively POP3 or IMAP. It also includes a smtp
2211or @uref{http://www.qmail.org/,qmail}. 1969server for receiving mails from Gnus.
2212 1970
2213 1971@node [7.2]
2214 On windows boxes I'd vote for 1972@subsubheading Question 7.2
2215 @uref{http://www.tglsoft.de/,Hamster}, 1973
2216 it's a small freeware, open-source program which fetches 1974So what was this thing about the Agent?
2217 your mail and news from remote servers and offers them 1975
2218 to Gnus (or any other mail and/or news reader) via nntp 1976@subsubheading Answer
2219 respectively POP3 or IMAP. It also includes a smtp 1977
2220 server for receiving mails from Gnus. 1978The Gnus agent is part of Gnus, it allows you to fetch
2221 1979mail and news and store them on disk for reading them
2222@ifnottex 1980later when you're offline. It kind of mimics offline
2223@node [7.2], [7.3], [7.1], FAQ 7 - Gnus in a dial-up environment 1981newsreaders like e.g. Forte Agent. If you want to use
2224@end ifnottex 1982the Agent place the following in ~/.gnus.el if you are
2225@subsubheading Question 7.2: 1983still using 5.8.8 or 5.9 (it's the default since 5.10):
2226
2227 So what was this thing about the Agent?
2228
2229
2230Answer:
2231
2232 The Gnus agent is part of Gnus, it allows you to fetch
2233 mail and news and store them on disk for reading them
2234 later when you're offline. It kind of mimics offline
2235 newsreaders like e.g. Forte Agent. If you want to use
2236 the Agent place the following in ~/.gnus if you are
2237 still using 5.8.8 or 5.9 (it's the default since 5.10):
2238
2239 1984
2240@example 1985@example
2241(setq gnus-agent t) 1986(setq gnus-agent t)
2242@end example 1987@end example
2243 1988@noindent
2244 1989
2245 Now you've got to select the servers whose groups can be 1990Now you've got to select the servers whose groups can be
2246 stored locally. To do this, open the server buffer 1991stored locally. To do this, open the server buffer
2247 (that is press @samp{^} while in the 1992(that is press @samp{^} while in the
2248 group buffer). Now select a server by moving point to 1993group buffer). Now select a server by moving point to
2249 the line naming that server. Finally, agentize the 1994the line naming that server. Finally, agentize the
2250 server by typing @samp{J a}. If you 1995server by typing @samp{J a}. If you
2251 make a mistake, or change your mind, you can undo this 1996make a mistake, or change your mind, you can undo this
2252 action by typing @samp{J r}. When 1997action by typing @samp{J r}. When
2253 you're done, type 'q' to return to the group buffer. 1998you're done, type 'q' to return to the group buffer.
2254 Now the next time you enter a group on a agentized 1999Now the next time you enter a group on a agentized
2255 server, the headers will be stored on disk and read from 2000server, the headers will be stored on disk and read from
2256 there the next time you enter the group. 2001there the next time you enter the group.
2257 2002
2258@ifnottex 2003@node [7.3]
2259@node [7.3], [7.4], [7.2], FAQ 7 - Gnus in a dial-up environment 2004@subsubheading Question 7.3
2260@end ifnottex 2005
2261@subsubheading Question 7.3: 2006I want to store article bodies on disk, too. How to do it?
2007
2008@subsubheading Answer
2009
2010You can tell the agent to automatically fetch the bodies
2011of articles which fulfill certain predicates, this is
2012done in a special buffer which can be reached by
2013saying @samp{J c} in group
2014buffer. Please refer to the documentation for
2015information which predicates are possible and how
2016exactly to do it.
2017
2018Further on you can tell the agent manually which
2019articles to store on disk. There are two ways to do
2020this: Number one: In the summary buffer, process mark a
2021set of articles that shall be stored in the agent by
2022saying @samp{#} with point over the
2023article and then type @samp{J s}. The
2024other possibility is to set, again in the summary
2025buffer, downloadable (%) marks for the articles you
2026want by typing @samp{@@} with point over
2027the article and then typing @samp{J u}.
2028What's the difference? Well, process marks are erased as
2029soon as you exit the summary buffer while downloadable
2030marks are permanent. You can actually set downloadable
2031marks in several groups then use fetch session ('J s' in
2032the GROUP buffer) to fetch all of those articles. The
2033only downside is that fetch session also fetches all of
2034the headers for every selected group on an agentized
2035server. Depending on the volume of headers, the initial
2036fetch session could take hours.
2037
2038@node [7.4]
2039@subsubheading Question 7.4
2040
2041How to tell Gnus not to try to send mails / postings
2042while I'm offline?
2043
2044@subsubheading Answer
2045
2046All you've got to do is to tell Gnus when you are online
2047(plugged) and when you are offline (unplugged), the rest
2048works automatically. You can toggle plugged/unplugged
2049state by saying @samp{J j} in group
2050buffer. To start Gnus unplugged say @samp{M-x
2051gnus-unplugged} instead of
2052@samp{M-x gnus}. Note that for this to
2053work, the agent must be active.
2054
2055@node FAQ 8 - Getting help
2056@subsection Getting help
2262 2057
2263 I want to store article bodies on disk, too. How to do it? 2058@menu
2264 2059* [8.1]:: How to find information and help inside Emacs?
2060* [8.2]:: I can't find anything in the Gnus manual about X (e.g.
2061 attachments, PGP, MIME...), is it not documented?
2062* [8.3]:: Which websites should I know?
2063* [8.4]:: Which mailing lists and newsgroups are there?
2064* [8.5]:: Where to report bugs?
2065* [8.6]:: I need real-time help, where to find it?
2066@end menu
2265 2067
2266Answer: 2068@node [8.1]
2069@subsubheading Question 8.1
2267 2070
2268 You can tell the agent to automatically fetch the bodies 2071How to find information and help inside Emacs?
2269 of articles which fulfill certain predicates, this is
2270 done in a special buffer which can be reached by
2271 saying @samp{J c} in group
2272 buffer. Please refer to the documentation for
2273 information which predicates are possible and how
2274 exactly to do it.
2275
2276 2072
2277 Further on you can tell the agent manually which 2073@subsubheading Answer
2278 articles to store on disk. There are two ways to do
2279 this: Number one: In the summary buffer, process mark a
2280 set of articles that shall be stored in the agent by
2281 saying @samp{#} with point over the
2282 article and then type @samp{J s}. The
2283 other possibility is to set, again in the summary
2284 buffer, downloadable (%) marks for the articles you
2285 want by typing @samp{@@} with point over
2286 the article and then typing @samp{J u}.
2287 What's the difference? Well, process marks are erased as
2288 soon as you exit the summary buffer while downloadable
2289 marks are permanent. You can actually set downloadable
2290 marks in several groups then use fetch session ('J s' in
2291 the GROUP buffer) to fetch all of those articles. The
2292 only downside is that fetch session also fetches all of
2293 the headers for every selected group on an agentized
2294 server. Depending on the volume of headers, the initial
2295 fetch session could take hours.
2296
2297@ifnottex
2298@node [7.4], , [7.3], FAQ 7 - Gnus in a dial-up environment
2299@end ifnottex
2300@subsubheading Question 7.4:
2301 2074
2302 How to tell Gnus not to try to send mails / postings 2075The first stop should be the Gnus manual (Say
2303 while I'm offline? 2076@samp{C-h i d m Gnus RET} to start the
2304 2077Gnus manual, then walk through the menus or do a
2078full-text search with @samp{s}). Then
2079there are the general Emacs help commands starting with
2080C-h, type @samp{C-h ? ?} to get a list
2081of all available help commands and their meaning. Finally
2082@samp{M-x apropos-command} lets you
2083search through all available functions and @samp{M-x
2084apropos} searches the bound variables.
2305 2085
2306Answer: 2086@node [8.2]
2087@subsubheading Question 8.2
2307 2088
2308 All you've got to do is to tell Gnus when you are online 2089I can't find anything in the Gnus manual about X
2309 (plugged) and when you are offline (unplugged), the rest 2090(e.g. attachments, PGP, MIME...), is it not documented?
2310 works automatically. You can toggle plugged/unplugged
2311 state by saying @samp{J j} in group
2312 buffer. To start Gnus unplugged say @samp{M-x
2313 gnus-unplugged} instead of
2314 @samp{M-x gnus}. Note that for this to
2315 work, the agent must be active.
2316
2317 2091
2318@ifnottex 2092@subsubheading Answer
2319@node FAQ 8 - Getting help, FAQ 9 - Tuning Gnus, FAQ 7 - Gnus in a dial-up environment, Frequently Asked Questions
2320@end ifnottex
2321@subsection Getting help
2322 2093
2323@menu 2094There's not only the Gnus manual but also the manuals
2324* [8.1]:: How to find information and help inside Emacs? 2095for message, emacs-mime, sieve and pgg. Those packages
2325* [8.2]:: I can't find anything in the Gnus manual about X 2096are distributed with Gnus and used by Gnus but aren't
2326 (e.g. attachments, PGP, MIME...), is it not documented? 2097really part of core Gnus, so they are documented in
2327* [8.3]:: Which websites should I know? 2098different info files, you should have a look in those
2328* [8.4]:: Which mailing lists and newsgroups are there? 2099manuals, too.
2329* [8.5]:: Where to report bugs?
2330* [8.6]:: I need real-time help, where to find it?
2331@end menu
2332 2100
2333@ifnottex 2101@node [8.3]
2334@node [8.1], [8.2], FAQ 8 - Getting help, FAQ 8 - Getting help 2102@subsubheading Question 8.3
2335@end ifnottex
2336@subsubheading Question 8.1:
2337 2103
2338 How to find information and help inside Emacs? 2104Which websites should I know?
2339
2340 2105
2341Answer: 2106@subsubheading Answer
2342
2343 The first stop should be the Gnus manual (Say
2344 @samp{C-h i d m Gnus RET} to start the
2345 Gnus manual, then walk through the menus or do a
2346 full-text search with @samp{s}). Then
2347 there are the general Emacs help commands starting with
2348 C-h, type @samp{C-h ? ?} to get a list
2349 of all available help commands and their meaning. Finally
2350 @samp{M-x apropos-command} lets you
2351 search through all available functions and @samp{M-x
2352 apropos} searches the bound variables.
2353
2354@ifnottex
2355@node [8.2], [8.3], [8.1], FAQ 8 - Getting help
2356@end ifnottex
2357@subsubheading Question 8.2:
2358 2107
2359 I can't find anything in the Gnus manual about X 2108The two most important ones are the
2360 (e.g. attachments, PGP, MIME...), is it not documented? 2109@uref{http://www.gnus.org, official Gnus website}.
2361 2110and it's sister site
2111@uref{http://my.gnus.org, my.gnus.org (MGO)},
2112hosting an archive of lisp snippets, howtos, a (not
2113really finished) tutorial and this FAQ.
2362 2114
2363Answer: 2115Tell me about other sites which are interesting.
2364 2116
2365 There's not only the Gnus manual but also the manuals 2117@node [8.4]
2366 for message, emacs-mime, sieve and pgg. Those packages 2118@subsubheading Question 8.4
2367 are distributed with Gnus and used by Gnus but aren't
2368 really part of core Gnus, so they are documented in
2369 different info files, you should have a look in those
2370 manuals, too.
2371
2372@ifnottex
2373@node [8.3], [8.4], [8.2], FAQ 8 - Getting help
2374@end ifnottex
2375@subsubheading Question 8.3:
2376 2119
2377 Which websites should I know? 2120Which mailing lists and newsgroups are there?
2378
2379 2121
2380Answer: 2122@subsubheading Answer
2381 2123
2382 The two most important ones are the 2124There's the newsgroup gnu.emacs.gnus (pull it from
2383 @uref{http://www.gnus.org,official Gnus website}. 2125e.g. news.gnus.org) which deals with general questions and the
2384 and it's sister site 2126ding mailing list (ding@@gnus.org) dealing with development of
2385 @uref{http://my.gnus.org,my.gnus.org (MGO)}, 2127Gnus. You can read the ding list via NNTP, too under the name
2386 hosting an archive of lisp snippets, howtos, a (not 2128gmane.emacs.gnus.general from news.gmane.org.
2387 really finished) tutorial and this FAQ.
2388
2389 2129
2390 Tell me about other sites which are interesting. 2130If you want to stay in the big8,
2391 2131news.software.newssreaders is also read by some Gnus
2392@ifnottex 2132users (but chances for qualified help are much better in
2393@node [8.4], [8.5], [8.3], FAQ 8 - Getting help 2133the above groups) and if you speak German, there's
2394@end ifnottex 2134de.comm.software.gnus.
2395@subsubheading Question 8.4:
2396 2135
2397 Which mailing lists and newsgroups are there? 2136@node [8.5]
2398 2137@subsubheading Question 8.5
2399 2138
2400Answer: 2139Where to report bugs?
2401 2140
2402 There's the newsgroup gnu.emacs.gnus (pull it from 2141@subsubheading Answer
2403 e.g. news.gnus.org) which deals with general questions
2404 and the ding mailing list (ding@@gnus.org) dealing with
2405 development of Gnus. You can read the ding list via
2406 NNTP, too under the name gnus.ding from news.gnus.org.
2407
2408 2142
2409 If you want to stay in the big8, 2143Say @samp{M-x gnus-bug}, this will start
2410 news.software.newssreaders is also read by some Gnus 2144a message to the
2411 users (but chances for qualified help are much better in 2145@email{bugs@@gnus.org, gnus bug mailing list}
2412 the above groups) and if you speak German, there's 2146including information about your environment which make
2413 de.comm.software.gnus. 2147it easier to help you.
2414
2415@ifnottex
2416@node [8.5], [8.6], [8.4], FAQ 8 - Getting help
2417@end ifnottex
2418@subsubheading Question 8.5:
2419 2148
2420 Where to report bugs? 2149@node [8.6]
2421 2150@subsubheading Question 8.6
2422 2151
2423Answer: 2152I need real-time help, where to find it?
2424 2153
2425Say @samp{M-x gnus-bug}, this will start a message to the 2154@subsubheading Answer
2426@email{bugs@@gnus.org,gnus bug mailing list} including information
2427about your environment which make it easier to help you.
2428
2429@ifnottex
2430@node [8.6], , [8.5], FAQ 8 - Getting help
2431@end ifnottex
2432@subsubheading Question 8.6:
2433 2155
2434 I need real-time help, where to find it? 2156Point your IRC client to irc.my.gnus.org channel
2435 2157#mygnus. Don't be afraid if people there speak German,
2436 2158they are willing and capable of switching to
2437Answer: 2159English when people from outside Germany enter.
2438
2439 Point your IRC client to irc.my.gnus.org channel
2440 #mygnus. Don't be afraid if people there speak German,
2441 they are willing and capable of switching to
2442 English when people from outside Germany enter.
2443
2444 2160
2445@ifnottex 2161@node FAQ 9 - Tuning Gnus
2446@node FAQ 9 - Tuning Gnus, FAQ - Glossary, FAQ 8 - Getting help, Frequently Asked Questions
2447@end ifnottex
2448@subsection Tuning Gnus 2162@subsection Tuning Gnus
2449 2163
2450@menu 2164@menu
2451* [9.1]:: Starting Gnus is really slow, how to speed it up? 2165* [9.1]:: Starting Gnus is really slow, how to speed it up?
2452* [9.2]:: How to speed up the process of entering a group? 2166* [9.2]:: How to speed up the process of entering a group?
2453* [9.3]:: Sending mail becomes slower and slower, what's up? 2167* [9.3]:: Sending mail becomes slower and slower, what's up?
2454@end menu 2168@end menu
2455 2169
2456@ifnottex 2170@node [9.1]
2457@node [9.1], [9.2], FAQ 9 - Tuning Gnus, FAQ 9 - Tuning Gnus 2171@subsubheading Question 9.1
2458@end ifnottex
2459@subsubheading Question 9.1:
2460 2172
2461 Starting Gnus is really slow, how to speed it up? 2173Starting Gnus is really slow, how to speed it up?
2462
2463 2174
2464Answer: 2175@subsubheading Answer
2465 2176
2466 The reason for this could be the way Gnus reads it's 2177The reason for this could be the way Gnus reads it's
2467 active file, see the node "The Active File" in the Gnus 2178active file, see the node "The Active File" in the Gnus
2468 manual for things you might try to speed the process up. 2179manual for things you might try to speed the process up.
2469 An other idea would be to byte compile your ~/.gnus (say 2180An other idea would be to byte compile your ~/.gnus.el (say
2470 @samp{M-x byte-compile-file RET ~/.gnus 2181@samp{M-x byte-compile-file RET ~/.gnus.el
2471 RET} to do it). Finally, if you have require 2182RET} to do it). Finally, if you have require
2472 statements in your .gnus, you could replace them with 2183statements in your .gnus, you could replace them with
2473 eval-after-load, which loads the stuff not at startup 2184eval-after-load, which loads the stuff not at startup
2474 time, but when it's needed. Say you've got this in your 2185time, but when it's needed. Say you've got this in your
2475 ~/.gnus: 2186~/.gnus.el:
2476
2477 2187
2478@example 2188@example
2479(require 'message) 2189(require 'message)
2480(add-to-list 'message-syntax-checks '(sender . disabled)) 2190(add-to-list 'message-syntax-checks '(sender . disabled))
2481@end example 2191@end example
2482
2483@noindent 2192@noindent
2484 then as soon as you start Gnus, message.el is loaded. If 2193
2485 you replace it with 2194then as soon as you start Gnus, message.el is loaded. If
2486 2195you replace it with
2487 2196
2488@example 2197@example
2489(eval-after-load "message" 2198(eval-after-load "message"
2490 '(add-to-list 'message-syntax-checks '(sender . disabled))) 2199 '(add-to-list 'message-syntax-checks '(sender . disabled)))
2491@end example 2200@end example
2492
2493@noindent 2201@noindent
2494 it's loaded when it's needed.
2495
2496@ifnottex
2497@node [9.2], [9.3], [9.1], FAQ 9 - Tuning Gnus
2498@end ifnottex
2499@subsubheading Question 9.2:
2500 2202
2501 How to speed up the process of entering a group? 2203it's loaded when it's needed.
2502
2503 2204
2504Answer: 2205@node [9.2]
2206@subsubheading Question 9.2
2505 2207
2506 A speed killer is setting the variable 2208How to speed up the process of entering a group?
2507 gnus-fetch-old-headers to anything different from nil, 2209
2508 so don't do this if speed is an issue. To speed up 2210@subsubheading Answer
2509 building of summary say 2211
2510 2212A speed killer is setting the variable
2213gnus-fetch-old-headers to anything different from nil,
2214so don't do this if speed is an issue. To speed up
2215building of summary say
2511 2216
2512@example 2217@example
2513(gnus-compile) 2218(gnus-compile)
2514@end example 2219@end example
2515
2516@noindent 2220@noindent
2517 at the bottom of your ~/.gnus, this will make gnus 2221
2518 byte-compile things like 2222at the bottom of your ~/.gnus.el, this will make gnus
2519 gnus-summary-line-format. 2223byte-compile things like
2520 then you could increase the value of gc-cons-threshold 2224gnus-summary-line-format.
2521 by saying something like 2225then you could increase the value of gc-cons-threshold
2522 2226by saying something like
2523 2227
2524@example 2228@example
2525(setq gc-cons-threshold 3500000) 2229(setq gc-cons-threshold 3500000)
2526@end example 2230@end example
2527
2528@noindent 2231@noindent
2529 in ~/.emacs. If you don't care about width of CJK 2232
2530 characters or use Gnus 5.10 or younger together with a 2233in ~/.emacs. If you don't care about width of CJK
2531 recent GNU Emacs, you should say 2234characters or use Gnus 5.10 or younger together with a
2532 2235recent GNU Emacs, you should say
2533 2236
2534@example 2237@example
2535(setq gnus-use-correct-string-widths nil) 2238(setq gnus-use-correct-string-widths nil)
2536@end example 2239@end example
2537
2538
2539@noindent 2240@noindent
2540 in ~/.gnus (thanks to Jesper harder for the last
2541 two suggestions). Finally if you are still using 5.8.8
2542 or 5.9 and experience speed problems with summary
2543 buffer generation, you definitely should update to
2544 5.10 since there quite some work on improving it has
2545 been done.
2546 2241
2547@ifnottex 2242in ~/.gnus.el (thanks to Jesper harder for the last
2548@node [9.3], , [9.2], FAQ 9 - Tuning Gnus 2243two suggestions). Finally if you are still using 5.8.8
2549@end ifnottex 2244or 5.9 and experience speed problems with summary
2550@subsubheading Question 9.3: 2245buffer generation, you definitely should update to
22465.10 since there quite some work on improving it has
2247been done.
2551 2248
2552 Sending mail becomes slower and slower, what's up? 2249@node [9.3]
2553 2250@subsubheading Question 9.3
2554 2251
2555Answer: 2252Sending mail becomes slower and slower, what's up?
2556 2253
2557 The reason could be that you told Gnus to archive the 2254@subsubheading Answer
2558 messages you wrote by setting
2559 gnus-message-archive-group. Try to use a nnml group
2560 instead of an archive group, this should bring you back
2561 to normal speed.
2562
2563 2255
2564@ifnottex 2256The reason could be that you told Gnus to archive the
2565@node FAQ - Glossary, , FAQ 9 - Tuning Gnus, Frequently Asked Questions 2257messages you wrote by setting
2566@end ifnottex 2258gnus-message-archive-group. Try to use a nnml group
2259instead of an archive group, this should bring you back
2260to normal speed.
2261
2262@node FAQ - Glossary
2567@subsection Glossary 2263@subsection Glossary
2568 2264
2569@table @dfn 2265@table @dfn
2570 2266
2571@item ~/.gnus 2267@item ~/.gnus.el
2572 When the term ~/.gnus is used it just means your Gnus 2268When the term ~/.gnus.el is used it just means your Gnus
2573 configuration file. You might as well call it ~/.gnus.el or 2269configuration file. You might as well call it ~/.gnus or
2574 specify another name. 2270specify another name.
2575
2576 2271
2577@item Back End 2272@item Back End
2578 In Gnus terminology a back end is a virtual server, a layer 2273In Gnus terminology a back end is a virtual server, a layer
2579 between core Gnus and the real NNTP-, POP3-, IMAP- or 2274between core Gnus and the real NNTP-, POP3-, IMAP- or
2580 whatever-server which offers Gnus a standardized interface 2275whatever-server which offers Gnus a standardized interface
2581 to functions like "get message", "get Headers" etc. 2276to functions like "get message", "get Headers" etc.
2582
2583 2277
2584@item Emacs 2278@item Emacs
2585 When the term Emacs is used in this FAQ, it means either GNU 2279When the term Emacs is used in this FAQ, it means either GNU
2586 Emacs or XEmacs. 2280Emacs or XEmacs.
2587
2588 2281
2589@item Message 2282@item Message
2590 In this FAQ message means a either a mail or a posting to a 2283In this FAQ message means a either a mail or a posting to a
2591 Usenet Newsgroup or to some other fancy back end, no matter 2284Usenet Newsgroup or to some other fancy back end, no matter
2592 of which kind it is. 2285of which kind it is.
2593
2594 2286
2595@item MUA 2287@item MUA
2596 MUA is an acronym for Mail User Agent, it's the program you 2288MUA is an acronym for Mail User Agent, it's the program you
2597 use to read and write e-mails. 2289use to read and write e-mails.
2598
2599 2290
2600@item NUA 2291@item NUA
2601 NUA is an acronym for News User Agent, it's the program you 2292NUA is an acronym for News User Agent, it's the program you
2602 use to read and write Usenet news. 2293use to read and write Usenet news.
2603
2604@end table
2605 2294
2606@c @bye 2295@end table
2607 2296
2608@ignore 2297@ignore
2609 arch-tag: 64dc5692-edb4-4848-a965-7aa0181acbb8 2298arch-tag: 64dc5692-edb4-4848-a965-7aa0181acbb8
2610@end ignore 2299@end ignore
diff --git a/man/maintaining.texi b/man/maintaining.texi
index 231699a7d02..f8bc0de5992 100644
--- a/man/maintaining.texi
+++ b/man/maintaining.texi
@@ -1,5 +1,6 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985,86,87,93,94,95,97,99,00,2001 Free Software Foundation, Inc. 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
3@c 2001, 2005 Free Software Foundation, Inc.
3@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
4@node Maintaining, Abbrevs, Building, Top 5@node Maintaining, Abbrevs, Building, Top
5@chapter Maintaining Programs 6@chapter Maintaining Programs
@@ -8,8 +9,8 @@
8@cindex program editing 9@cindex program editing
9 10
10 This chapter describes Emacs features for maintaining programs. The 11 This chapter describes Emacs features for maintaining programs. The
11version control features (@pxref{Version Control}) are also 12version control features (@pxref{Version Control}) are also particularly
12particularly useful for this purpose. 13useful for this purpose.
13 14
14@menu 15@menu
15* Change Log:: Maintaining a change history for your program. 16* Change Log:: Maintaining a change history for your program.
@@ -51,13 +52,13 @@ permitted provided the copyright notice and this notice are preserved.
51@noindent 52@noindent
52Of course, you should substitute the proper years and copyright holder. 53Of course, you should substitute the proper years and copyright holder.
53 54
54 A change log entry starts with a header line that contains the 55 A change log entry starts with a header line that contains the current
55current date, your name, and your email address (taken from the 56date, your name, and your email address (taken from the variable
56variable @code{user-mail-address}). Aside from these header lines, 57@code{add-log-mailing-address}). Aside from these header lines, every
57every line in the change log starts with a space or a tab. The bulk 58line in the change log starts with a space or a tab. The bulk of the
58of the entry consists of @dfn{items}, each of which starts with a line 59entry consists of @dfn{items}, each of which starts with a line starting
59starting with whitespace and a star. Here are two entries, both dated 60with whitespace and a star. Here are two entries, both dated in May
60in May 1993, each with two items: 611993, each with two items:
61 62
62@iftex 63@iftex
63@medbreak 64@medbreak
diff --git a/man/message.texi b/man/message.texi
index 5e488b0e7cf..8a10ea2445d 100644
--- a/man/message.texi
+++ b/man/message.texi
@@ -8,7 +8,7 @@
8@copying 8@copying
9This file documents Message, the Emacs message composition mode. 9This file documents Message, the Emacs message composition mode.
10 10
11Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 11Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
12Free Software Foundation, Inc. 12Free Software Foundation, Inc.
13 13
14@quotation 14@quotation
diff --git a/man/misc.texi b/man/misc.texi
index 6181003d694..f1e05cae89c 100644
--- a/man/misc.texi
+++ b/man/misc.texi
@@ -1250,10 +1250,10 @@ kills it if the file name matches the regular expression
1250@vindex server-name 1250@vindex server-name
1251 You can run multiple Emacs servers on the same machine by giving 1251 You can run multiple Emacs servers on the same machine by giving
1252each one a unique ``server name'', using the variable 1252each one a unique ``server name'', using the variable
1253@code{server-name}. For example, @kbd{M-x set-variable RET 1253@code{server-name}. For example, @kbd{M-x set-variable @key{RET}
1254server-name RET foo RET} sets the server name to @samp{foo}. The 1254server-name @key{RET} foo @key{RET}} sets the server name to
1255@code{emacsclient} program can visit a server by name using the 1255@samp{foo}. The @code{emacsclient} program can visit a server by name
1256@samp{-s} option. @xref{Invoking emacsclient}. 1256using the @samp{-s} option. @xref{Invoking emacsclient}.
1257 1257
1258 While @code{mail} or another application is waiting for 1258 While @code{mail} or another application is waiting for
1259@code{emacsclient} to finish, @code{emacsclient} does not read terminal 1259@code{emacsclient} to finish, @code{emacsclient} does not read terminal
diff --git a/man/mule.texi b/man/mule.texi
index 54952fa08fa..c085839cbd8 100644
--- a/man/mule.texi
+++ b/man/mule.texi
@@ -428,6 +428,9 @@ is the command @kbd{C-\} (@code{toggle-input-method}) used twice.
428because it stops waiting for more characters to combine, and starts 428because it stops waiting for more characters to combine, and starts
429searching for what you have already entered. 429searching for what you have already entered.
430 430
431 To find out how to input the character after point using the current
432input method, type @kbd{C-u C-x =}. @xref{Position Info}.
433
431@vindex input-method-verbose-flag 434@vindex input-method-verbose-flag
432@vindex input-method-highlight-flag 435@vindex input-method-highlight-flag
433 The variables @code{input-method-highlight-flag} and 436 The variables @code{input-method-highlight-flag} and
@@ -928,6 +931,9 @@ files.
928@item C-x @key{RET} X @var{coding} @key{RET} 931@item C-x @key{RET} X @var{coding} @key{RET}
929Use coding system @var{coding} for transferring @emph{one} 932Use coding system @var{coding} for transferring @emph{one}
930selection---the next one---to or from the window system. 933selection---the next one---to or from the window system.
934
935@item M-x recode-region
936Convert the region from a previous coding system to a new one.
931@end table 937@end table
932 938
933@kindex C-x RET f 939@kindex C-x RET f
@@ -1056,6 +1062,12 @@ corresponding buffer.
1056 The default for translation of process input and output depends on the 1062 The default for translation of process input and output depends on the
1057current language environment. 1063current language environment.
1058 1064
1065@findex recode-region
1066 If a piece of text has already been inserted into a buffer using the
1067wrong coding system, you can decode it again using @kbd{M-x
1068recode-region}. This prompts you for the old coding system and the
1069desired coding system, and acts on the text in the region.
1070
1059@vindex file-name-coding-system 1071@vindex file-name-coding-system
1060@cindex file names with non-@acronym{ASCII} characters 1072@cindex file names with non-@acronym{ASCII} characters
1061@findex set-file-name-coding-system 1073@findex set-file-name-coding-system
@@ -1084,6 +1096,12 @@ these buffers under the visited file name, saving may use the wrong file
1084name, or it may get an error. If such a problem happens, use @kbd{C-x 1096name, or it may get an error. If such a problem happens, use @kbd{C-x
1085C-w} to specify a new file name for that buffer. 1097C-w} to specify a new file name for that buffer.
1086 1098
1099@findex recode-file-name
1100 If a mistake occurs when encoding a file name, use the command
1101command @kbd{M-x recode-file-name} to change the file name's coding
1102system. This prompts for an existing file name, its old coding
1103system, and the coding system to which you wish to convert.
1104
1087@vindex locale-coding-system 1105@vindex locale-coding-system
1088@cindex decoding non-@acronym{ASCII} keyboard input on X 1106@cindex decoding non-@acronym{ASCII} keyboard input on X
1089 The variable @code{locale-coding-system} specifies a coding system 1107 The variable @code{locale-coding-system} specifies a coding system
@@ -1358,6 +1376,27 @@ however, on a console terminal or in @code{xterm}, you can arrange for
1358Meta to be converted to @kbd{ESC} and still be able type 8-bit 1376Meta to be converted to @kbd{ESC} and still be able type 8-bit
1359characters present directly on the keyboard or using @kbd{Compose} or 1377characters present directly on the keyboard or using @kbd{Compose} or
1360@kbd{AltGr} keys. @xref{User Input}. 1378@kbd{AltGr} keys. @xref{User Input}.
1379
1380@kindex C-x 8
1381@cindex @code{iso-transl} library
1382@cindex compose character
1383@cindex dead character
1384@item
1385For Latin-1 only, you can use the key @kbd{C-x 8} as a ``compose
1386character'' prefix for entry of non-@acronym{ASCII} Latin-1 printing
1387characters. @kbd{C-x 8} is good for insertion (in the minibuffer as
1388well as other buffers), for searching, and in any other context where
1389a key sequence is allowed.
1390
1391@kbd{C-x 8} works by loading the @code{iso-transl} library. Once that
1392library is loaded, the @key{ALT} modifier key, if the keyboard has
1393one, serves the same purpose as @kbd{C-x 8}: use @key{ALT} together
1394with an accent character to modify the following letter. In addition,
1395if the keyboard has keys for the Latin-1 ``dead accent characters,''
1396they too are defined to compose with the following character, once
1397@code{iso-transl} is loaded.
1398
1399Use @kbd{C-x 8 C-h} to list all the available @kbd{C-x 8} translations.
1361@end itemize 1400@end itemize
1362 1401
1363@node Charsets 1402@node Charsets
diff --git a/man/org.texi b/man/org.texi
index d461e9c1020..d1a388f958a 100644
--- a/man/org.texi
+++ b/man/org.texi
@@ -3,8 +3,8 @@
3@setfilename ../info/org 3@setfilename ../info/org
4@settitle Org Mode Manual 4@settitle Org Mode Manual
5 5
6@set VERSION 3.04 6@set VERSION 3.05
7@set DATE December 2004 7@set DATE April 2005
8 8
9@dircategory Emacs 9@dircategory Emacs
10@direntry 10@direntry
@@ -34,7 +34,7 @@
34@copying 34@copying
35This manual is for Org-mode (version @value{VERSION}). 35This manual is for Org-mode (version @value{VERSION}).
36 36
37Copyright @copyright{} 2004 Free Software Foundation 37Copyright @copyright{} 2004, 2005 Free Software Foundation
38 38
39@quotation 39@quotation
40Permission is granted to copy, distribute and/or modify this document 40Permission is granted to copy, distribute and/or modify this document
@@ -184,7 +184,8 @@ top of outline-mode, which makes it possible to keep the content of
184large files well structured. Visibility cycling and structure editing 184large files well structured. Visibility cycling and structure editing
185help to work with the tree. Tables are easily created with a built-in 185help to work with the tree. Tables are easily created with a built-in
186table editor. Org-mode supports ToDo items, deadlines, time stamps, 186table editor. Org-mode supports ToDo items, deadlines, time stamps,
187and scheduling. It dynamically compiles entries into an agenda. 187and scheduling. It dynamically compiles entries into an agenda that
188utilizes and smoothly integrates much of the Emacs calendar and diary.
188Plain text URL-like links connect to websites, emails, usenet 189Plain text URL-like links connect to websites, emails, usenet
189messages, BBDB entries, and any files related to the projects. For 190messages, BBDB entries, and any files related to the projects. For
190printing and sharing of notes, an Org-mode file can be exported as a 191printing and sharing of notes, an Org-mode file can be exported as a
@@ -203,15 +204,14 @@ different levels and in different ways, for example
203@r{@bullet{} as a full agenda and planner with deadlines and work scheduling} 204@r{@bullet{} as a full agenda and planner with deadlines and work scheduling}
204@end example 205@end example
205 206
206The Org-mode table editor can be used integrated into any major mode 207The Org-mode table editor can be integrated into any major mode by
207by activating the minor Ortbl-mode. 208activating the minor Orgtbl-mode.
208 209
209There is a website for Org-mode which provides links to the newest 210There is a website for Org-mode which provides links to the newest
210version of Org-mode, as well as additional information, screen shots 211version of Org-mode, as well as additional information, screen shots
211and example files. This page is located at 212and example files. This page is located at
212@uref{http://www.astro.uva.nl/~dominik/Tools/org/}. 213@uref{http://www.astro.uva.nl/~dominik/Tools/org/}.
213 214
214
215@page 215@page
216 216
217@node Installation, , Summary, Introduction 217@node Installation, , Summary, Introduction
@@ -352,6 +352,18 @@ Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field.
352Show all. 352Show all.
353@end table 353@end table
354 354
355When Emacs firsts visits a Org-mode file, the global state is set to
356OVERVIEW, i.e. only the top level headlines are visible. This can be
357configured through the variable @code{org-startup-folded}, or on a
358per-file basis by adding one of the following lines anywhere in the
359buffer:
360
361@example
362#+STARTUP: fold
363#+STARTUP: nofold
364@end example
365
366
355@node Motion, Structure editing, Visibility cycling, Document Structure 367@node Motion, Structure editing, Visibility cycling, Document Structure
356@section Motion 368@section Motion
357@cindex motion, between headlines 369@cindex motion, between headlines
@@ -473,6 +485,17 @@ the match.
473Other commands are using this feature as well. For example @kbd{C-c 485Other commands are using this feature as well. For example @kbd{C-c
474C-v} creates a sparse TODO tree (@pxref{TODO basics}). 486C-v} creates a sparse TODO tree (@pxref{TODO basics}).
475 487
488@kindex C-c C-x v
489@cindex printing sparse trees
490@cindex visible text, printing
491To print a sparse tree, you can use the Emacs command
492@code{ps-print-buffer-with-faces} which does not print invisible parts
493of the document @footnote{this does not work under XEmacs, because
494XEmacs uses selective display for outlining, not text properties}.
495Or you can use the command @kbd{C-c C-x v} to copy the visible part of
496the document to another file (extension @file{.txt}) which then can be
497printed in any desired way.
498
476@node TODO items, Tables, Document Structure, Top 499@node TODO items, Tables, Document Structure, Top
477@chapter TODO items 500@chapter TODO items
478@cindex TODO items 501@cindex TODO items
@@ -611,7 +634,7 @@ persons.
611@end lisp 634@end lisp
612 635
613In this case, different keywords do not indicate a sequence, but 636In this case, different keywords do not indicate a sequence, but
614rather different levels. This changes the behavior of the command 637rather different types. This changes the behavior of the command
615@kbd{C-c C-t} slightly. When used several times in succession, it 638@kbd{C-c C-t} slightly. When used several times in succession, it
616will still cycle through all names. But when when you return to the 639will still cycle through all names. But when when you return to the
617item after some time and execute @kbd{C-c C-t} again, it will switch 640item after some time and execute @kbd{C-c C-t} again, it will switch
@@ -745,11 +768,6 @@ Re-align the table and move down to next row. Creates a new row if
745necessary. At the beginning or end of a line, @key{RET} still does 768necessary. At the beginning or end of a line, @key{RET} still does
746NEWLINE, so it can be used to split a table. 769NEWLINE, so it can be used to split a table.
747 770
748@kindex S-@key{RET}
749@item S-@key{RET}
750Copy from first non-empty
751 field above current field.
752
753@tsubheading{Column and row editing} 771@tsubheading{Column and row editing}
754@kindex M-@key{left} 772@kindex M-@key{left}
755@kindex M-@key{right} 773@kindex M-@key{right}
@@ -796,7 +814,7 @@ Copy an rectangular region from a table to a special clipboard, and
796blank all fields in the rectangle. 814blank all fields in the rectangle.
797@kindex C-c C-h C-y 815@kindex C-c C-h C-y
798@item C-c C-h C-y 816@item C-c C-h C-y
799Paste a rectangluar region into a table. 817Paste a rectangular region into a table.
800The upper right corner ends up in the current field. All involved fields 818The upper right corner ends up in the current field. All involved fields
801will be overwritten. If the rectangle does not fit into the present table, 819will be overwritten. If the rectangle does not fit into the present table,
802the table is enlarged as needed. The process ignores horizontal separator 820the table is enlarged as needed. The process ignores horizontal separator
@@ -828,6 +846,14 @@ Sum the numbers in the current column, or in the rectangle defined by
828the active region. The result is displayed in the echo area and can 846the active region. The result is displayed in the echo area and can
829be inserted with @kbd{C-y}. 847be inserted with @kbd{C-y}.
830 848
849@kindex S-@key{RET}
850@item S-@key{RET}
851When current field is empty, copy from first non-empty field above.
852When not empty, copy current field down to next row and move cursor
853along with it. Depending on the variable
854@code{org-table-copy-increment}, integer field values will be
855incremented during copy.
856
831@cindex formula, in tables 857@cindex formula, in tables
832@cindex calculations, in tables 858@cindex calculations, in tables
833@kindex C-c = 859@kindex C-c =
@@ -1063,7 +1089,7 @@ text has a headline, i.e. a first line that starts with a @samp{*}.
1063If not, a headline is constructed from the current date and some 1089If not, a headline is constructed from the current date and some
1064additional data. If the variable @code{org-adapt-indentation} is 1090additional data. If the variable @code{org-adapt-indentation} is
1065non-nil, the entire text is also indented so that it starts in the 1091non-nil, the entire text is also indented so that it starts in the
1066same column as the headline (after the asterixes). 1092same column as the headline (after the asterisks).
1067 1093
1068@node Timestamps, Timeline and Agenda, Hyperlinks, Top 1094@node Timestamps, Timeline and Agenda, Hyperlinks, Top
1069@chapter Timestamps 1095@chapter Timestamps
@@ -1404,11 +1430,12 @@ Sorting can be customized using the variable
1404@node Agenda commands, Calendar/Diary integration, Agenda (multiple files), Timeline and Agenda 1430@node Agenda commands, Calendar/Diary integration, Agenda (multiple files), Timeline and Agenda
1405@section Commands in the agenda buffer 1431@section Commands in the agenda buffer
1406 1432
1407Entries in the agenda buffer are linked back to the org file. You are 1433Entries in the agenda buffer are linked back to the org file or diary
1408not allowed to edit the agenda buffer itself, but commands are provided 1434file where they originate. You are not allowed to edit the agenda
1409to edit the org-files ``remotely'' from the agenda buffer. In this 1435buffer itself, but commands are provided to show and jump to the
1410way, all information is stored only once, and you don't risk that your 1436original entry location, and to edit the org-files ``remotely'' from
1411agenda and note files diverge. 1437the agenda buffer. In this way, all information is stored only once,
1438and you don't risk that your agenda and note files diverge.
1412 1439
1413Some commands can be executed with mouse clicks on agenda lines. For 1440Some commands can be executed with mouse clicks on agenda lines. For
1414the other commands, the cursor needs to be in the desired line. Most 1441the other commands, the cursor needs to be in the desired line. Most
@@ -1468,7 +1495,7 @@ S-@key{right}.
1468Display the following @code{org-agenda-ndays} days. For example, if 1495Display the following @code{org-agenda-ndays} days. For example, if
1469the display covers a week, switch to the following week. With prefix 1496the display covers a week, switch to the following week. With prefix
1470arg, go forward that many times @code{org-agenda-ndays} days. Not 1497arg, go forward that many times @code{org-agenda-ndays} days. Not
1471available in timlines. 1498available in timelines.
1472 1499
1473@kindex @key{left} 1500@kindex @key{left}
1474@item @key{left} 1501@item @key{left}
@@ -1536,6 +1563,29 @@ Insert a new entry into the diary. Prompts for the type of entry
1536entry in the diary, just like @kbd{i d} etc. would do in the calendar. 1563entry in the diary, just like @kbd{i d} etc. would do in the calendar.
1537The date is taken from the cursor position. 1564The date is taken from the cursor position.
1538 1565
1566@tsubheading{Calendar commands}
1567@kindex c
1568@item c
1569Open the Emacs calendar and move to the date at the agenda cursor.
1570
1571@kindex C
1572@item C
1573Convert the date at cursor into many other cultural and historic
1574calendars.
1575
1576@kindex M
1577@item M
1578Show the phases of the moon for three month around current date.
1579
1580@kindex S
1581@item S
1582Show sunrise and sunset times. The location must be set with calendar
1583variables, see documentation of the Emacs calendar.
1584
1585@kindex H
1586@item H
1587Show holidays for three month around the cursor date.
1588
1539@tsubheading{Quit and Exit} 1589@tsubheading{Quit and Exit}
1540@kindex q 1590@kindex q
1541@item q 1591@item q
@@ -1564,8 +1614,9 @@ Org-mode. It can be very useful to combine output from Org-mode with
1564the diary. 1614the diary.
1565 1615
1566The interaction between Org-mode and diary works both ways: You can 1616The interaction between Org-mode and diary works both ways: You can
1567list entries from the diary in the Org-mode agenda, or you can display 1617list entries from the diary in the Org-mode agenda, from which many
1568entries from the org agenda in the Emacs diary. 1618calendar and diary commands are directly accessible. Or you can
1619display entries from the org agenda in the Emacs diary.
1569 1620
1570@menu 1621@menu
1571* Diary to agenda:: Agenda incorporates the diary 1622* Diary to agenda:: Agenda incorporates the diary
@@ -1584,7 +1635,15 @@ agenda, you only need to customize the variable
1584@end lisp 1635@end lisp
1585@noindent 1636@noindent
1586 1637
1587@noindent After that, everything will happen automatically. 1638@noindent After that, everything will happen automatically. All diary
1639entries including holidays, anniversaries etc will be included in the
1640agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and
1641@key{RET} can be used from the agenda buffer to jump to the diary
1642file, in order to edit existing diary entries. Also the @kbd{i}
1643command to insert new entries for the current date works in the agenda
1644buffer, as well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to
1645display Sunrise/Sunset times, show lunar phases and to convert to
1646other calendars, respectively.
1588 1647
1589@node Agenda to diary, , Diary to agenda, Calendar/Diary integration 1648@node Agenda to diary, , Diary to agenda, Calendar/Diary integration
1590@subsection Including the agenda into the diary 1649@subsection Including the agenda into the diary
diff --git a/man/programs.texi b/man/programs.texi
index 353cb85aa60..98e60d0385c 100644
--- a/man/programs.texi
+++ b/man/programs.texi
@@ -1,5 +1,6 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985,86,87,93,94,95,97,99,00,2001 Free Software Foundation, Inc. 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
3@c 2001, 2005 Free Software Foundation, Inc.
3@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
4@node Programs, Building, Text, Top 5@node Programs, Building, Text, Top
5@chapter Editing Programs 6@chapter Editing Programs
@@ -80,17 +81,19 @@ and you can select it by typing @kbd{M-x @var{l}-mode @key{RET}}.
80@cindex Shell-script mode 81@cindex Shell-script mode
81@cindex Delphi mode 82@cindex Delphi mode
82@cindex PostScript mode 83@cindex PostScript mode
84@cindex Conf mode
85@cindex DNS mode
83 The existing programming language major modes include Lisp, Scheme (a 86 The existing programming language major modes include Lisp, Scheme (a
84variant of Lisp) and the Scheme-based DSSSL expression language, Ada, 87variant of Lisp) and the Scheme-based DSSSL expression language, Ada,
85ASM, AWK, C, C++, Delphi (Object Pascal), Fortran (free format and fixed 88ASM, AWK, C, C++, Delphi (Object Pascal), Fortran (free format and fixed
86format), Icon, IDL (CORBA), IDLWAVE, Java, Metafont (@TeX{}'s 89format), Icon, IDL (CORBA), IDLWAVE, Java, Metafont (@TeX{}'s
87companion for font creation), Modula2, Objective-C, Octave, Pascal, 90companion for font creation), Modula2, Objective-C, Octave, Pascal,
88Perl, Pike, PostScript, Prolog, Python, Simula, Tcl, and VHDL. There is 91Perl, Pike, PostScript, Prolog, Python, Simula, Tcl, and VHDL. An
89also a major mode for makefiles, called Makefile mode. An alternative 92alternative mode for Perl is called CPerl mode. Modes are available for
90mode for Perl is called CPerl mode. Modes are available for the 93the scripting languages of the common GNU and Unix shells, VMS DCL, and
91scripting languages of the common GNU and Unix shells, VMS DCL, and
92MS-DOS/MS-Windows @samp{BAT} files. There are also major modes for 94MS-DOS/MS-Windows @samp{BAT} files. There are also major modes for
93editing various sorts of configuration files. 95editing makefiles, DNS master files, and various sorts of configuration
96files.
94 97
95@kindex DEL @r{(programming modes)} 98@kindex DEL @r{(programming modes)}
96@findex c-electric-backspace 99@findex c-electric-backspace
@@ -1801,11 +1804,11 @@ names.
1801@cindex Fortran mode 1804@cindex Fortran mode
1802@cindex mode, Fortran 1805@cindex mode, Fortran
1803 1806
1804 Fortran mode provides special motion commands for Fortran statements and 1807 Fortran mode provides special motion commands for Fortran statements
1805subprograms, and indentation commands that understand Fortran conventions 1808and subprograms, and indentation commands that understand Fortran
1806of nesting, line numbers and continuation statements. Fortran mode has 1809conventions of nesting, line numbers and continuation statements.
1807its own Auto Fill mode that breaks long lines into proper Fortran 1810Fortran mode has support for Auto Fill mode that breaks long lines into
1808continuation lines. 1811proper Fortran continuation lines.
1809 1812
1810 Special commands for comments are provided because Fortran comments 1813 Special commands for comments are provided because Fortran comments
1811are unlike those of other languages. Built-in abbrevs optionally save 1814are unlike those of other languages. Built-in abbrevs optionally save
@@ -1817,18 +1820,18 @@ runs the hook @code{fortran-mode-hook} (@pxref{Hooks}).
1817@cindex Fortran77 and Fortran90 1820@cindex Fortran77 and Fortran90
1818@findex f90-mode 1821@findex f90-mode
1819@findex fortran-mode 1822@findex fortran-mode
1820 Fortran mode is meant for editing Fortran77 ``fixed format'' source 1823 Fortran mode is meant for editing Fortran77 ``fixed format'' (and also
1821code. For editing the modern Fortran90 ``free format'' source code, 1824``tab format'') source code. For editing the modern Fortran90 or
1822use F90 mode (@code{f90-mode}). Emacs normally uses Fortran mode for 1825Fortran95 ``free format'' source code, use F90 mode (@code{f90-mode}).
1823files with extension @samp{.f}, @samp{.F} or @samp{.for}, and F90 mode 1826Emacs normally uses Fortran mode for files with extension @samp{.f},
1824for the extension @samp{.f90}. GNU Fortran supports both kinds of 1827@samp{.F} or @samp{.for}, and F90 mode for the extension @samp{.f90} and
1825format. 1828@samp{.f95}. GNU Fortran supports both kinds of format.
1826 1829
1827@menu 1830@menu
1828* Motion: Fortran Motion. Moving point by statements or subprograms. 1831* Motion: Fortran Motion. Moving point by statements or subprograms.
1829* Indent: Fortran Indent. Indentation commands for Fortran. 1832* Indent: Fortran Indent. Indentation commands for Fortran.
1830* Comments: Fortran Comments. Inserting and aligning comments. 1833* Comments: Fortran Comments. Inserting and aligning comments.
1831* Autofill: Fortran Autofill. Auto fill minor mode for Fortran. 1834* Autofill: Fortran Autofill. Auto fill support for Fortran.
1832* Columns: Fortran Columns. Measuring columns for valid Fortran. 1835* Columns: Fortran Columns. Measuring columns for valid Fortran.
1833* Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords. 1836* Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords.
1834@end menu 1837@end menu
@@ -1837,8 +1840,9 @@ format.
1837@subsection Motion Commands 1840@subsection Motion Commands
1838 1841
1839 In addition to the normal commands for moving by and operating on 1842 In addition to the normal commands for moving by and operating on
1840``defuns'' (Fortran subprograms---functions and subroutines), Fortran 1843``defuns'' (Fortran subprograms---functions and subroutines, as well as
1841mode provides special commands to move by statements. 1844modules for F90 mode), Fortran mode provides special commands to move by
1845statements and other program units.
1842 1846
1843@table @kbd 1847@table @kbd
1844@kindex C-c C-n @r{(Fortran mode)} 1848@kindex C-c C-n @r{(Fortran mode)}
@@ -1873,21 +1877,24 @@ Move point backward to the previous code block
1873(@code{f90-previous-block}). This is like @code{f90-next-block}, but 1877(@code{f90-previous-block}). This is like @code{f90-next-block}, but
1874moves backwards. 1878moves backwards.
1875 1879
1876@kindex C-M-n @r{(F90 mode)} 1880@kindex C-M-n @r{(Fortran mode)}
1881@findex fortran-end-of-block
1877@findex f90-end-of-block 1882@findex f90-end-of-block
1878@item C-M-n 1883@item C-M-n
1879Move to the end of the current code block (@code{f90-end-of-block}). 1884Move to the end of the current code block
1880This is for F90 mode only. With a numeric agument, move forward that 1885(@code{fortran-end-of-block}/@code{f90-end-of-block}). With a numeric
1881number of blocks. This command checks for consistency of block types 1886agument, move forward that number of blocks. The mark is set before
1882and labels (if present), but it does not check the outermost block 1887moving point. The F90 mode version of this command checks for
1883since that may be incomplete. The mark is set before moving point. 1888consistency of block types and labels (if present), but it does not
1884 1889check the outermost block since that may be incomplete.
1885@kindex C-M-p @r{(F90 mode)} 1890
1891@kindex C-M-p @r{(Fortran mode)}
1892@findex fortran-beginning-of-block
1886@findex f90-beginning-of-block 1893@findex f90-beginning-of-block
1887@item C-M-p 1894@item C-M-p
1888Move to the start of the current code block 1895Move to the start of the current code block
1889(@code{f90-beginning-of-block}). This is like @code{f90-end-of-block}, 1896(@code{fortran-beginning-of-block}/@code{f90-beginning-of-block}). This
1890but moves backwards. 1897is like @code{fortran-end-of-block}, but moves backwards.
1891@end table 1898@end table
1892 1899
1893@node Fortran Indent 1900@node Fortran Indent
@@ -1896,7 +1903,7 @@ but moves backwards.
1896 Special commands and features are needed for indenting Fortran code in 1903 Special commands and features are needed for indenting Fortran code in
1897order to make sure various syntactic entities (line numbers, comment line 1904order to make sure various syntactic entities (line numbers, comment line
1898indicators and continuation line flags) appear in the columns that are 1905indicators and continuation line flags) appear in the columns that are
1899required for standard Fortran. 1906required for standard, fixed (or tab) format Fortran.
1900 1907
1901@menu 1908@menu
1902* Commands: ForIndent Commands. Commands for indenting and filling Fortran. 1909* Commands: ForIndent Commands. Commands for indenting and filling Fortran.
@@ -1911,7 +1918,7 @@ required for standard Fortran.
1911 1918
1912@table @kbd 1919@table @kbd
1913@item C-M-j 1920@item C-M-j
1914Break the current line and set up a continuation line 1921Break the current line at point and set up a continuation line
1915(@code{fortran-split-line}). 1922(@code{fortran-split-line}).
1916@item M-^ 1923@item M-^
1917Join this line to the previous line (@code{fortran-join-line}). 1924Join this line to the previous line (@code{fortran-join-line}).
@@ -1953,30 +1960,39 @@ point is in. This removes any excess statement continuations.
1953@cindex Fortran continuation lines 1960@cindex Fortran continuation lines
1954 1961
1955@vindex fortran-continuation-string 1962@vindex fortran-continuation-string
1956 Most modern Fortran compilers allow two ways of writing continuation 1963 Most Fortran77 compilers allow two ways of writing continuation lines.
1957lines. If the first non-space character on a line is in column 5, then 1964If the first non-space character on a line is in column 5, then that
1958that line is a continuation of the previous line. We call this 1965line is a continuation of the previous line. We call this @dfn{fixed
1959@dfn{fixed format}. (In GNU Emacs we always count columns from 0.) The 1966format}. (In GNU Emacs we always count columns from 0; but note that
1960variable @code{fortran-continuation-string} specifies what character to 1967the Fortran standard counts from 1.) The variable
1961put on column 5. A line that starts with a tab character followed by 1968@code{fortran-continuation-string} specifies what character to put in
1962any digit except @samp{0} is also a continuation line. We call this 1969column 5. A line that starts with a tab character followed by any digit
1963style of continuation @dfn{tab format}. 1970except @samp{0} is also a continuation line. We call this style of
1971continuation @dfn{tab format}. (Fortran90 introduced ``free format'',
1972with another style of continuation lines).
1964 1973
1965@vindex indent-tabs-mode @r{(Fortran mode)} 1974@vindex indent-tabs-mode @r{(Fortran mode)}
1966 Fortran mode can make either style of continuation line, but you 1975@vindex fortran-analyze-depth
1967must specify which one you prefer. The value of the variable 1976@vindex fortran-tab-mode-default
1968@code{indent-tabs-mode} controls the choice: @code{nil} for fixed 1977 Fortran mode can use either style of continuation line. When you
1969format, and non-@code{nil} for tab format. You can tell which style 1978enter Fortran mode, it tries to deduce the proper continuation style
1970is presently in effect by the presence or absence of the string 1979automatically from the buffer contents. It does this by scanning up to
1971@samp{Tab} in the mode line. 1980@code{fortran-analyze-depth} (default 100) lines from the start of the
1972 1981buffer. The first line that begins with either a tab character or six
1973 If the text on a line starts with the conventional Fortran 1982spaces determines the choice. If the scan fails (for example, if the
1974continuation marker @samp{$}, or if it begins with any non-whitespace 1983buffer is new and therefore empty), the value of
1975character in column 5, Fortran mode treats it as a continuation line. 1984@code{fortran-tab-mode-default} (@code{nil} for fixed format, and
1976When you indent a continuation line with @key{TAB}, it converts the line 1985non-@code{nil} for tab format) is used. @samp{/t} in the mode line
1977to the current continuation style. When you split a Fortran statement 1986indicates tab format is selected. Fortran mode sets the value of
1978with @kbd{C-M-j}, the continuation marker on the newline is created 1987@code{indent-tabs-mode} accordingly (@pxref{Just Spaces}).
1979according to the continuation style. 1988
1989 If the text on a line starts with the Fortran continuation marker
1990@samp{$}, or if it begins with any non-whitespace character in column
19915, Fortran mode treats it as a continuation line. When you indent a
1992continuation line with @key{TAB}, it converts the line to the current
1993continuation style. When you split a Fortran statement with
1994@kbd{C-M-j}, the continuation marker on the newline is created according
1995to the continuation style.
1980 1996
1981 The setting of continuation style affects several other aspects of 1997 The setting of continuation style affects several other aspects of
1982editing in Fortran mode. In fixed format mode, the minimum column 1998editing in Fortran mode. In fixed format mode, the minimum column
@@ -1986,17 +2002,6 @@ space character for whitespace. In tab format mode, the minimum
1986column number for the statement body is 8, and the whitespace before 2002column number for the statement body is 8, and the whitespace before
1987column 8 must always consist of one tab character. 2003column 8 must always consist of one tab character.
1988 2004
1989@vindex fortran-tab-mode-default
1990@vindex fortran-analyze-depth
1991 When you enter Fortran mode for an existing file, it tries to deduce the
1992proper continuation style automatically from the file contents. The first
1993line that begins with either a tab character or six spaces determines the
1994choice. The variable @code{fortran-analyze-depth} specifies how many lines
1995to consider (at the beginning of the file); if none of those lines
1996indicates a style, then the variable @code{fortran-tab-mode-default}
1997specifies the style. If it is @code{nil}, that specifies fixed format, and
1998non-@code{nil} specifies tab format.
1999
2000@node ForIndent Num 2005@node ForIndent Num
2001@subsubsection Line Numbers 2006@subsubsection Line Numbers
2002 2007
@@ -2007,9 +2012,11 @@ through 4. (Columns always count from 0 in GNU Emacs.)
2007@vindex fortran-line-number-indent 2012@vindex fortran-line-number-indent
2008 Line numbers of four digits or less are normally indented one space. 2013 Line numbers of four digits or less are normally indented one space.
2009The variable @code{fortran-line-number-indent} controls this; it 2014The variable @code{fortran-line-number-indent} controls this; it
2010specifies the maximum indentation a line number can have. Line numbers 2015specifies the maximum indentation a line number can have. The default
2011are right-justified to end in column 4 unless that would require more 2016value of the variable is 1. Fortran mode tries to prevent line number
2012than this maximum indentation. The default value of the variable is 1. 2017digits passing column 4, reducing the indentation below the specified
2018maximum if necessary. If @code{fortran-line-number-indent} has the
2019value 5, line numbers are right-justified to end in column 4.
2013 2020
2014@vindex fortran-electric-line-number 2021@vindex fortran-electric-line-number
2015 Simply inserting a line number is enough to indent it according to 2022 Simply inserting a line number is enough to indent it according to
@@ -2062,54 +2069,59 @@ followed.
2062Extra indentation within each level of @samp{do} statement (default 3). 2069Extra indentation within each level of @samp{do} statement (default 3).
2063 2070
2064@item fortran-if-indent 2071@item fortran-if-indent
2065Extra indentation within each level of @samp{if} statement (default 3). 2072Extra indentation within each level of @samp{if}, @samp{select case}, or
2066This value is also used for extra indentation within each level of the 2073@samp{where} statements (default 3).
2067Fortran 90 @samp{where} statement.
2068 2074
2069@item fortran-structure-indent 2075@item fortran-structure-indent
2070Extra indentation within each level of @samp{structure}, @samp{union}, or 2076Extra indentation within each level of @samp{structure}, @samp{union},
2071@samp{map} statements (default 3). 2077@samp{map}, or @samp{interface} statements (default 3).
2072 2078
2073@item fortran-continuation-indent 2079@item fortran-continuation-indent
2074Extra indentation for bodies of continuation lines (default 5). 2080Extra indentation for bodies of continuation lines (default 5).
2075 2081
2076@item fortran-check-all-num-for-matching-do 2082@item fortran-check-all-num-for-matching-do
2077If this is @code{nil}, indentation assumes that each @samp{do} statement 2083In Fortran77, a numbered @samp{do} statement is ended by any statement
2078ends on a @samp{continue} statement. Therefore, when computing 2084with a matching line number. It is common (but not compulsory) to use a
2079indentation for a statement other than @samp{continue}, it can save time 2085@samp{continue} statement for this purpose. If this variable has a
2080by not checking for a @samp{do} statement ending there. If this is 2086non-@code{nil} value, indenting any numbered statement must check for a
2081non-@code{nil}, indenting any numbered statement must check for a 2087@samp{do} that ends there. If you always end @samp{do} statements with
2082@samp{do} that ends there. The default is @code{nil}. 2088a @samp{continue} line (or if you use the more modern @samp{enddo}),
2089then you can speed up indentation by setting this variable to
2090@code{nil}. The default is @code{nil}.
2083 2091
2084@item fortran-blink-matching-if 2092@item fortran-blink-matching-if
2085If this is @code{t}, indenting an @samp{endif} statement moves the 2093If this is @code{t}, indenting an @samp{endif} (or @samp{enddo}
2086cursor momentarily to the matching @samp{if} statement to show where it 2094statement moves the cursor momentarily to the matching @samp{if} (or
2087is. The default is @code{nil}. 2095@samp{do}) statement to show where it is. The default is @code{nil}.
2088 2096
2089@item fortran-minimum-statement-indent-fixed 2097@item fortran-minimum-statement-indent-fixed
2090Minimum indentation for fortran statements when using fixed format 2098Minimum indentation for Fortran statements when using fixed format
2091continuation line style. Statement bodies are never indented less than 2099continuation line style. Statement bodies are never indented less than
2092this much. The default is 6. 2100this much. The default is 6.
2093 2101
2094@item fortran-minimum-statement-indent-tab 2102@item fortran-minimum-statement-indent-tab
2095Minimum indentation for fortran statements for tab format continuation line 2103Minimum indentation for Fortran statements for tab format continuation line
2096style. Statement bodies are never indented less than this much. The 2104style. Statement bodies are never indented less than this much. The
2097default is 8. 2105default is 8.
2098@end table 2106@end table
2099 2107
2108The variables controlling the indentation of comments are described in
2109the following section.
2110
2100@node Fortran Comments 2111@node Fortran Comments
2101@subsection Fortran Comments 2112@subsection Fortran Comments
2102 2113
2103 The usual Emacs comment commands assume that a comment can follow a line 2114 The usual Emacs comment commands assume that a comment can follow a
2104of code. In Fortran, the standard comment syntax requires an entire line 2115line of code. In Fortran77, the standard comment syntax requires an
2105to be just a comment. Therefore, Fortran mode replaces the standard Emacs 2116entire line to be just a comment. Therefore, Fortran mode replaces the
2106comment commands and defines some new variables. 2117standard Emacs comment commands and defines some new variables.
2107 2118
2119@vindex fortran-comment-line-start
2108 Fortran mode can also handle the Fortran90 comment syntax where comments 2120 Fortran mode can also handle the Fortran90 comment syntax where comments
2109start with @samp{!} and can follow other text. Because only some Fortran77 2121start with @samp{!} and can follow other text. Because only some Fortran77
2110compilers accept this syntax, Fortran mode will not insert such comments 2122compilers accept this syntax, Fortran mode will not insert such comments
2111unless you have said in advance to do so. To do this, set the variable 2123unless you have said in advance to do so. To do this, set the variable
2112@code{comment-start} to @samp{"!"} (@pxref{Variables}). 2124@code{fortran-comment-line-start} to @samp{"!"}.
2113 2125
2114@table @kbd 2126@table @kbd
2115@item M-; 2127@item M-;
@@ -2123,6 +2135,7 @@ Turn all lines of the region into comments, or (with argument) turn them back
2123into real code (@code{fortran-comment-region}). 2135into real code (@code{fortran-comment-region}).
2124@end table 2136@end table
2125 2137
2138@findex fortran-indent-comment
2126 @kbd{M-;} in Fortran mode is redefined as the command 2139 @kbd{M-;} in Fortran mode is redefined as the command
2127@code{fortran-indent-comment}. Like the usual @kbd{M-;} command, this 2140@code{fortran-indent-comment}. Like the usual @kbd{M-;} command, this
2128recognizes any kind of existing comment and aligns its text appropriately; 2141recognizes any kind of existing comment and aligns its text appropriately;
@@ -2178,14 +2191,6 @@ never be indented at all, no matter what the value of
2178lines are directives. Matching lines are never indented, and receive 2191lines are directives. Matching lines are never indented, and receive
2179distinctive font-locking. 2192distinctive font-locking.
2180 2193
2181@vindex comment-line-start
2182@vindex comment-line-start-skip
2183 Fortran mode introduces two variables @code{comment-line-start} and
2184@code{comment-line-start-skip}, which play for full-line comments the same
2185roles played by @code{comment-start} and @code{comment-start-skip} for
2186ordinary text-following comments. Normally these are set properly by
2187Fortran mode, so you do not need to change them.
2188
2189 The normal Emacs comment command @kbd{C-x ;} has not been redefined. If 2194 The normal Emacs comment command @kbd{C-x ;} has not been redefined. If
2190you use @samp{!} comments, this command can be used with them. Otherwise 2195you use @samp{!} comments, this command can be used with them. Otherwise
2191it is useless in Fortran mode. 2196it is useless in Fortran mode.
@@ -2204,34 +2209,28 @@ of the name never conflict because in Lisp and in Emacs it is always
2204clear from the context which one is meant. 2209clear from the context which one is meant.
2205 2210
2206@node Fortran Autofill 2211@node Fortran Autofill
2207@subsection Fortran Auto Fill Mode 2212@subsection Auto Fill in Fortran Mode
2208 2213
2209 Fortran Auto Fill mode is a minor mode which automatically splits 2214 Fortran mode has specialized support for Auto Fill mode, which is a
2210Fortran statements as you insert them when they become too wide. 2215minor mode that automatically splits statements as you insert them when
2211Splitting a statement involves making continuation lines using 2216they become too wide. Splitting a statement involves making
2212@code{fortran-continuation-string} (@pxref{ForIndent Cont}). This 2217continuation lines using @code{fortran-continuation-string}
2213splitting happens when you type @key{SPC}, @key{RET}, or @key{TAB}, and 2218(@pxref{ForIndent Cont}). This splitting happens when you type
2214also in the Fortran indentation commands. 2219@key{SPC}, @key{RET}, or @key{TAB}, and also in the Fortran indentation
2215 2220commands. You activate Auto Fill in Fortran mode in the normal way
2216@findex fortran-auto-fill-mode 2221(@pxref{Auto Fill}).
2217 @kbd{M-x fortran-auto-fill-mode} toggles Fortran Auto Fill mode,
2218which is a variant of normal Auto Fill mode (@pxref{Filling}) designed
2219for Fortran programs. Fortran Auto Fill mode is a buffer-local minor
2220mode (@pxref{Minor Modes}). When Fortran Auto Fill mode is in effect,
2221the word @samp{Fill} appears in the mode line inside the parentheses.
2222 2222
2223@vindex fortran-break-before-delimiters 2223@vindex fortran-break-before-delimiters
2224 Fortran Auto Fill mode breaks lines at spaces or delimiters when the 2224 Auto Fill breaks lines at spaces or delimiters when the lines get
2225lines get longer than the desired width (the value of @code{fill-column}). 2225longer than the desired width (the value of @code{fill-column}). The
2226The delimiters that Fortran Auto Fill mode may break at are @samp{,}, 2226delimiters (besides whitespace) that Auto Fill can break at are
2227@samp{'}, @samp{+}, @samp{-}, @samp{/}, @samp{*}, @samp{=}, and @samp{)}. 2227@samp{+}, @samp{-}, @samp{/}, @samp{*}, @samp{=}, @samp{<}, @samp{>},
2228The line break comes after the delimiter if the variable 2228and @samp{,}. The line break comes after the delimiter if the
2229@code{fortran-break-before-delimiters} is @code{nil}. Otherwise (and by 2229variable @code{fortran-break-before-delimiters} is @code{nil}.
2230default), the break comes before the delimiter. 2230Otherwise (and by default), the break comes before the delimiter.
2231 2231
2232 To enable this mode permanently, add a hook function to 2232 To enable Auto Fill in all Fortran buffers, add
2233@code{fortran-mode-hook} to execute @code{(fortran-auto-fill-mode 1)}. 2233@code{turn-on-auto-fill} to @code{fortran-mode-hook}. @xref{Hooks}.
2234@xref{Hooks}.
2235 2234
2236@node Fortran Columns 2235@node Fortran Columns
2237@subsection Checking Columns in Fortran 2236@subsection Checking Columns in Fortran
@@ -2280,7 +2279,7 @@ display.
2280@findex fortran-window-create-momentarily 2279@findex fortran-window-create-momentarily
2281 @kbd{C-c C-w} (@code{fortran-window-create-momentarily}) temporarily 2280 @kbd{C-c C-w} (@code{fortran-window-create-momentarily}) temporarily
2282splits the current window horizontally, making a window 72 columns 2281splits the current window horizontally, making a window 72 columns
2283wide, so you can see which lines that is too long. Type a space to 2282wide, so you can see any lines that are too long. Type a space to
2284restore the normal width. 2283restore the normal width.
2285 2284
2286@kindex C-u C-c C-w @r{(Fortran mode)} 2285@kindex C-u C-c C-w @r{(Fortran mode)}
diff --git a/man/text.texi b/man/text.texi
index aba7496d5fc..958e18db8d5 100644
--- a/man/text.texi
+++ b/man/text.texi
@@ -403,13 +403,13 @@ Text}).
403* Fill Prefix:: Filling paragraphs that are indented 403* Fill Prefix:: Filling paragraphs that are indented
404 or in a comment, etc. 404 or in a comment, etc.
405* Adaptive Fill:: How Emacs can determine the fill prefix automatically. 405* Adaptive Fill:: How Emacs can determine the fill prefix automatically.
406* Longlines:: Editing text with very long lines.
406@end menu 407@end menu
407 408
408@node Auto Fill 409@node Auto Fill
409@subsection Auto Fill Mode 410@subsection Auto Fill Mode
410@cindex Auto Fill mode 411@cindex Auto Fill mode
411@cindex mode, Auto Fill 412@cindex mode, Auto Fill
412@cindex word wrap
413 413
414 @dfn{Auto Fill} mode is a minor mode in which lines are broken 414 @dfn{Auto Fill} mode is a minor mode in which lines are broken
415automatically when they become too wide. Breaking happens only when 415automatically when they become too wide. Breaking happens only when
@@ -474,16 +474,19 @@ you type or modify them in other ways. It provides an effect similar
474to typical word processor behavior. This works by running a 474to typical word processor behavior. This works by running a
475paragraph-filling command at suitable times. 475paragraph-filling command at suitable times.
476 476
477 When you are typing text, only characters which normally trigger
478auto filling, like the space character, will trigger refilling. This
479is to avoid making it too slow. Apart from self-inserting characters,
480other commands which modify the text cause refilling.
481
482 The current implementation is preliminary and probably not robust.
483We expect to improve on it.
484
485 To toggle the use of Refill mode in the current buffer, type 477 To toggle the use of Refill mode in the current buffer, type
486@kbd{M-x refill-mode}. 478@kbd{M-x refill-mode}. When you are typing text, only characters
479which normally trigger auto filling, like the space character, will
480trigger refilling. This is to avoid making it too slow. Apart from
481self-inserting characters, other commands which modify the text cause
482refilling.
483
484 The current implementation is preliminary and not robust. You can
485get better ``line wrapping'' behavior using Longlines mode.
486@xref{Longlines}. However, Longlines mode has an important
487side-effect: the newlines that it inserts for you are not saved to
488disk, so the files that you make with Longlines mode will appear to be
489completely unfilled if you edit them without Longlines mode.
487 490
488@node Fill Commands 491@node Fill Commands
489@subsection Explicit Fill Commands 492@subsection Explicit Fill Commands
@@ -745,6 +748,56 @@ line, and it should return the appropriate fill prefix based on that
745line. If it returns @code{nil}, that means it sees no fill prefix in 748line. If it returns @code{nil}, that means it sees no fill prefix in
746that line. 749that line.
747 750
751@node Longlines
752@subsection Long Lines Mode
753@cindex refilling text, word processor style
754@cindex modes, Long Lines
755@cindex word wrap
756@cindex Long Lines minor mode
757
758 Long Lines mode is a minor mode for @dfn{word wrapping}; it lets you
759edit ``unfilled'' text files, which Emacs would normally display as a
760bunch of extremely long lines. Many text editors, such as those built
761into many web browsers, normally do word wrapping.
762
763@findex longlines-mode
764 To enable Long Lines mode, type @kbd{M-x longlines-mode}. If the
765text is full of long lines, this will ``wrap'' them
766immediately---i.e., break up to fit in the window. As you edit the
767text, Long Lines mode automatically re-wraps lines by inserting or
768deleting @dfn{soft newlines} as necessary (@pxref{Hard and Soft
769Newlines}.) These soft newlines won't show up when you save the
770buffer into a file, or when you copy the text into the kill ring,
771clipboard, or a register.
772
773@findex longlines-auto-wrap
774 Word wrapping is @emph{not} the same as ordinary filling
775(@pxref{Fill Commands}). It does not contract multiple spaces into a
776single space, recognize fill prefixes (@pxref{Fill Prefix}), or
777perform adaptive filling (@pxref{Adaptive Fill}). The reason for this
778is that a wrapped line is still, conceptually, a single line. Each
779soft newline is equivalent to exactly one space in that long line, and
780vice versa. However, you can still call filling functions such as
781@kbd{M-q}, and these will work as expected, inserting soft newlines
782that won't show up on disk or when the text is copied. You can even
783rely entirely on the normal fill commands by turning off automatic
784line wrapping, with @kbd{C-u M-x longlines-auto-wrap}. To turn
785automatic line wrapping back on, type @kbd{M-x longlines-auto-wrap}.
786
787@findex longlines-show-hard-newlines
788 Whenever you type @kbd{RET}, you are inserting a hard newline. If
789you want to see where all the hard newlines are, type @kbd{M-x
790longlines-show-hard-newlines}. This will mark each hard newline with
791a special symbol. The same command with a prefix argument turns this
792display off.
793
794 Long Lines mode does not change normal text files that are already
795filled, since the existing newlines are considered hard newlines.
796Before Long Lines can do anything, you need to transform each
797paragraph into a long line. One way is to set @code{fill-column} to a
798large number (e.g., @kbd{C-u 9999 C-x f}), re-fill all the paragraphs,
799and then set @code{fill-column} back to its original value.
800
748@node Case 801@node Case
749@section Case Conversion Commands 802@section Case Conversion Commands
750@cindex case conversion 803@cindex case conversion
diff --git a/man/xresources.texi b/man/xresources.texi
index c88ca6ad142..aaf7262d060 100644
--- a/man/xresources.texi
+++ b/man/xresources.texi
@@ -52,7 +52,8 @@ Registry, under the key @samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs}
52and then under the key @samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}. 52and then under the key @samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}.
53The menu and scrollbars are native widgets on MS-Windows, so they are 53The menu and scrollbars are native widgets on MS-Windows, so they are
54only customizable via the system-wide settings in the Display Control 54only customizable via the system-wide settings in the Display Control
55Panel. 55Panel. You can also set resources using the @samp{-xrm} command line
56option (see below.)
56 57
57 Programs define named resources with particular meanings. They also 58 Programs define named resources with particular meanings. They also
58define how to group resources into named classes. For instance, in 59define how to group resources into named classes. For instance, in
@@ -668,8 +669,8 @@ or just the class.
668@end table 669@end table
669 670
670@noindent 671@noindent
671You must soecify the class and the style in double-quotes, and put 672You must specify the class and the style in double-quotes, and put
672these commands at the top level in a @file{~/.gtkrc-2.0} file, like 673these commands at the top level in the GTK customization file, like
673this: 674this:
674 675
675@smallexample 676@smallexample
@@ -782,7 +783,7 @@ widget "*emacs-menuitem* style "my_menu_style"
782automatically applies only to Emacs, since other programs don't read 783automatically applies only to Emacs, since other programs don't read
783that file. For example, the drop down menu in the file dialog can not 784that file. For example, the drop down menu in the file dialog can not
784be customized by any absolute widget name, only by an absolute class 785be customized by any absolute widget name, only by an absolute class
785name. This is so because the widgets in the drop down menu do not 786name. This is because the widgets in the drop down menu do not
786have names and the menu is not contained in the Emacs GtkWindow. To 787have names and the menu is not contained in the Emacs GtkWindow. To
787have all menus in Emacs look the same, use this in 788have all menus in Emacs look the same, use this in
788@file{~/.emacs.d/gtkrc}: 789@file{~/.emacs.d/gtkrc}: