aboutsummaryrefslogtreecommitdiffstats
path: root/doc/misc
diff options
context:
space:
mode:
authorTom Tromey2013-03-08 11:57:29 -0700
committerTom Tromey2013-03-08 11:57:29 -0700
commit71f91792e3013b397996905224f387da5cc539a9 (patch)
tree4c3d3ba909e76deea1cdf73b73fca67a57149465 /doc/misc
parent6f4de085f065e11f4df3195d47479f28f5ef08ba (diff)
parentb5426561089d39f18b42bed9dbfcb531f43ed562 (diff)
downloademacs-71f91792e3013b397996905224f387da5cc539a9.tar.gz
emacs-71f91792e3013b397996905224f387da5cc539a9.zip
merge from trunk
Diffstat (limited to 'doc/misc')
-rw-r--r--doc/misc/ChangeLog144
-rw-r--r--doc/misc/Makefile.in2
-rw-r--r--doc/misc/ada-mode.texi4
-rw-r--r--doc/misc/bovine.texi2
-rw-r--r--doc/misc/calc.texi44
-rw-r--r--doc/misc/cc-mode.texi49
-rw-r--r--doc/misc/cl.texi23
-rw-r--r--doc/misc/dired-x.texi2
-rw-r--r--doc/misc/ede.texi106
-rw-r--r--doc/misc/ediff.texi2
-rw-r--r--doc/misc/emacs-mime.texi8
-rw-r--r--doc/misc/eshell.texi544
-rw-r--r--doc/misc/faq.texi5
-rw-r--r--doc/misc/flymake.texi20
-rw-r--r--doc/misc/forms.texi2
-rw-r--r--doc/misc/gnus-coding.texi2
-rw-r--r--doc/misc/gnus-faq.texi39
-rw-r--r--doc/misc/gnus.texi34
-rw-r--r--doc/misc/htmlfontify.texi4
-rw-r--r--doc/misc/idlwave.texi6
-rw-r--r--doc/misc/mairix-el.texi2
-rw-r--r--doc/misc/message.texi11
-rw-r--r--doc/misc/mh-e.texi131
-rw-r--r--doc/misc/org.texi40
-rw-r--r--doc/misc/reftex.texi4
-rw-r--r--doc/misc/remember.texi2
-rw-r--r--doc/misc/semantic.texi2
-rw-r--r--doc/misc/ses.texi8
-rw-r--r--doc/misc/sieve.texi2
-rw-r--r--doc/misc/speedbar.texi6
-rw-r--r--doc/misc/texinfo.tex50
-rw-r--r--doc/misc/tramp.texi248
-rw-r--r--doc/misc/url.texi2
-rw-r--r--doc/misc/vip.texi2
-rw-r--r--doc/misc/viper.texi2
-rw-r--r--doc/misc/woman.texi2
36 files changed, 1021 insertions, 535 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 95c7ac7b233..44a0b7b3211 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,147 @@
12013-03-08 Glenn Morris <rgm@gnu.org>
2
3 * faq.texi (Top): Don't say this was updated @today.
4 That's irrelevant and leads to spurious diffs.
5
62013-03-08 Jay Belanger <jay.p.belanger@gmail.com>
7
8 * calc.texi (Basic Operations on Units): Fix
9 cross-reference.
10
112013-03-07 Katsumi Yamaoka <yamaoka@jpl.org>
12
13 * gnus-faq.texi (FAQ 3-11): Now Gnus supports POP3 UIDL.
14
152013-03-06 Alan Mackenzie <acm@muc.de>
16
17 * cc-mode.texi (Custom Line-Up): Clarify position of point on
18 calling a line-up function.
19
202013-03-04 Paul Eggert <eggert@cs.ucla.edu>
21
22 * emacs-mime.texi, htmlfontify.texi, mairix-el.texi, mh-e.texi:
23 * ses.texi: Switch from Latin-1 to UTF-8.
24
252013-03-03 Michael Albinus <michael.albinus@gmx.de>
26
27 * tramp.texi (External methods): Tramp does not connect Android
28 devices by itself.
29
302013-03-02 Bill Wohler <wohler@newt.com>
31
32 Release MH-E manual version 8.5.
33
34 * mh-e.texi (VERSION, EDITION, UPDATED, UPDATE-MONTH): Update for
35 release 8.5.
36
37 * mh-e.texi (Preface, Conventions, Getting Started)
38 (Using This Manual, Folder Selection, Viewing, Aliases)
39 (Identities, Speedbar, Menu Bar, Tool Bar, Scan Line Formats)
40 (Bug Reports, Mailing Lists, MH FAQ and Support, Getting MH-E):
41 Update URLs.
42
432013-03-01 Michael Albinus <michael.albinus@gmx.de>
44
45 * tramp.texi (Inline methods): Remove "ssh1", "ssh2", "plink1"
46 and "plink2" entries. "plink2" is obsolete for a long time.
47 (External methods): Remove "scp1" and "scp2" entries. Explain
48 user name and host name specification for "adb".
49
502013-02-28 Michael Albinus <michael.albinus@gmx.de>
51
52 * tramp.texi (External methods): Mention `tramp-adb-program'.
53
542013-02-28 Bastien Guerry <bzg@gnu.org>
55
56 * org.texi (Visibility cycling): Suggest to set
57 `org-agenda-inhibit-startup' to nil if user wants the startup
58 visibility settings to be honored in any circumstances.
59 (Progress logging, Checkboxes): Fix typos.
60
612013-02-28 Michael Albinus <michael.albinus@gmx.de>
62
63 * tramp.texi (top) [xxx, yyy, trampfn]: Provide two versions of
64 the macros, for Texinfo 4.13 and 5.0.
65
662013-02-24 Michael Albinus <michael.albinus@gmx.de>
67
68 Port Tramp documentation to Texinfo 5.0.
69 * tramp.texi (top) [xxx, yyy, trampfn]: Remove superfluous @c.
70 (Filename Syntax): Do not use @trampfn{} in @item.
71 (Filename completion): Use @columnfractions in @multitable.
72
732013-02-22 Glenn Morris <rgm@gnu.org>
74
75 * flymake.texi (Syntax check statuses): Fix multitable continued rows.
76
772013-02-21 Paul Eggert <eggert@cs.ucla.edu>
78
79 * Makefile.in (html): New rule.
80
812013-02-20 Michael Albinus <michael.albinus@gmx.de>
82
83 * tramp.texi (Android shell setup): Improve. Reported by Thierry
84 Volpiatto <thierry.volpiatto@gmail.com>.
85
862013-02-16 Michael Albinus <michael.albinus@gmx.de>
87
88 * tramp.texi (Top, Configuration): Insert section `Android shell
89 setup' in menu.
90 (Android shell setup): New section.
91 (Connection types, Default Method)
92 (Frequently Asked Questions): Mention "scp" instead of "scpc".
93 (External methods): Remove "scpc" and "rsyncc" entries.
94 (Frequently Asked Questions): Remove entry about ControlPersist.
95
962013-02-13 Glenn Morris <rgm@gnu.org>
97
98 * message.texi (News Headers): Don't mention yow any more.
99
1002013-02-09 Jay Belanger <jay.p.belanger@gmail.com>
101
102 * calc.texi (Basic Operations on Units):
103 (Customizing Calc): Mention the variable `calc-allow-units-as-numbers'.
104
1052013-02-08 Aidan Gauland <aidalgol@no8wireless.co.nz>
106
107 * eshell.texi: Fill most of the missing sections.
108
1092013-02-07 Bastien Guerry <bzg@gnu.org>
110
111 * org.texi (References): Clarify an example.
112 (Installation): Fix instructions.
113 (Org-Plot): Fix link.
114 (Checkboxes, Radio lists): Fix typos.
115
1162013-02-07 Glenn Morris <rgm@gnu.org>
117
118 * cl.texi (Equality Predicates): Mention memql.
119
1202013-02-07 Eric Ludlam <zappo@gnu.org>
121
122 * doc/misc/ede.texi (Creating a project): Make ede-new doc less
123 specific, and only about items it supports, indicating that there
124 might be more. Remove refs to simple project and direct automake
125 from ede new.
126 (Simple projects): Re-write to not talk about ede-simple-project
127 which is deprecated, and instead use the term to mean projects
128 that don't do much management, just project wrapping. Add
129 ede-generic-project link.
130 (ede-generic-project): New node (bug#11441).
131
1322013-02-07 Glenn Morris <rgm@gnu.org>
133
134 * cl.texi (Equality Predicates): Fix eq/eql pedantry.
135
1362013-02-01 Glenn Morris <rgm@gnu.org>
137
138 * calc.texi (Help Commands): Update calc-view-news description.
139 Mention etc/CALC-NEWS.
140
1412013-01-24 Michael Albinus <michael.albinus@gmx.de>
142
143 * tramp.texi (Filename Syntax): Filenames must be unibyte strings.
144
12013-01-13 Bastien Guerry <bzg@gnu.org> 1452013-01-13 Bastien Guerry <bzg@gnu.org>
2 146
3 * org.texi (Installation): Simplify. 147 * org.texi (Installation): Simplify.
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in
index 3dac35aafee..add1b42a545 100644
--- a/doc/misc/Makefile.in
+++ b/doc/misc/Makefile.in
@@ -192,6 +192,8 @@ webhack: clean
192 192
193dvi: $(DVI_TARGETS) 193dvi: $(DVI_TARGETS)
194 194
195html: $(HTML_TARGETS)
196
195pdf: $(PDF_TARGETS) 197pdf: $(PDF_TARGETS)
196 198
197# Note that all the Info targets build the Info files in srcdir. 199# Note that all the Info targets build the Info files in srcdir.
diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi
index 926d6a5749c..b5a640e13e0 100644
--- a/doc/misc/ada-mode.texi
+++ b/doc/misc/ada-mode.texi
@@ -72,7 +72,7 @@ existing code and facilitates writing new code.
72 72
73When the Gnu Ada compiler GNAT is used, the cross-reference 73When the Gnu Ada compiler GNAT is used, the cross-reference
74information output by the compiler is used to provide powerful code 74information output by the compiler is used to provide powerful code
75navigation (jump to definition, find all uses, etc). 75navigation (jump to definition, find all uses, etc.).
76 76
77When you open a file with a file extension of @file{.ads} or 77When you open a file with a file extension of @file{.ads} or
78@file{.adb}, Emacs will automatically load and activate Ada mode. 78@file{.adb}, Emacs will automatically load and activate Ada mode.
@@ -1267,7 +1267,7 @@ Non-@code{nil} means that the current line will also be re-indented
1267before inserting a newline, when you press @key{RET}. 1267before inserting a newline, when you press @key{RET}.
1268@end table 1268@end table
1269 1269
1270Most of the time, the indentation will be automatic, i.e when you 1270Most of the time, the indentation will be automatic, i.e., when you
1271press @key{RET}, the cursor will move to the correct column on the 1271press @key{RET}, the cursor will move to the correct column on the
1272next line. 1272next line.
1273 1273
diff --git a/doc/misc/bovine.texi b/doc/misc/bovine.texi
index 48d5cf9e18a..978345e5cc8 100644
--- a/doc/misc/bovine.texi
+++ b/doc/misc/bovine.texi
@@ -314,7 +314,7 @@ The first object spliced into the list (assuming it is a list from a
314non-terminal). 314non-terminal).
315 315
316@item '$1 316@item '$1
317The first object matched, placed in a list. i.e. @code{( $1 )}. 317The first object matched, placed in a list. I.e., @code{( $1 )}.
318 318
319@item foo 319@item foo
320The symbol @code{foo} (exactly as displayed). 320The symbol @code{foo} (exactly as displayed).
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index 5dabf5cd314..0bf7833ec34 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -9909,9 +9909,9 @@ listed.
9909 9909
9910@kindex h n 9910@kindex h n
9911The @kbd{h n} or @kbd{h C-n} (@code{calc-view-news}) command displays 9911The @kbd{h n} or @kbd{h C-n} (@code{calc-view-news}) command displays
9912the ``news'' or change history of Calc. This is kept in the file 9912the ``news'' or change history of Emacs, and jumps to the most recent
9913@file{README}, which Calc looks for in the same directory as the Calc 9913portion concerning Calc (if present). For older history, see the file
9914source files. 9914@file{etc/CALC-NEWS} in the Emacs distribution.
9915 9915
9916@kindex h C-c 9916@kindex h C-c
9917@kindex h C-d 9917@kindex h C-d
@@ -14122,7 +14122,7 @@ conventions. Like C mode, Pascal mode interprets array brackets and uses
14122a different table of operators. Hexadecimal numbers are entered and 14122a different table of operators. Hexadecimal numbers are entered and
14123displayed with a preceding dollar sign. (Thus the regular meaning of 14123displayed with a preceding dollar sign. (Thus the regular meaning of
14124@kbd{$2} during algebraic entry does not work in Pascal mode, though 14124@kbd{$2} during algebraic entry does not work in Pascal mode, though
14125@kbd{$} (and @kbd{$$}, etc.) not followed by digits works the same as 14125@kbd{$} (and @kbd{$$}, etc.)@: not followed by digits works the same as
14126always.) No special provisions are made for other non-decimal numbers, 14126always.) No special provisions are made for other non-decimal numbers,
14127vectors, and so on, since there is no universally accepted standard way 14127vectors, and so on, since there is no universally accepted standard way
14128of handling these in Pascal. 14128of handling these in Pascal.
@@ -27866,11 +27866,6 @@ acres per meter-second.) Remainder units are expressed in terms of
27866``fundamental'' units like @samp{m} and @samp{s}, regardless of the 27866``fundamental'' units like @samp{m} and @samp{s}, regardless of the
27867input units. 27867input units.
27868 27868
27869If you want to disallow using inconsistent units, you can set the customizable variable
27870@code{calc-ensure-consistent-units} to @code{t} (@pxref{Customizing Calc}). In this case,
27871if you request units which are inconsistent with the original units, you will be warned about
27872it and no conversion will occur.
27873
27874One special exception is that if you specify a single unit name, and 27869One special exception is that if you specify a single unit name, and
27875a compatible unit appears somewhere in the units expression, then 27870a compatible unit appears somewhere in the units expression, then
27876that compatible unit will be converted to the new unit and the 27871that compatible unit will be converted to the new unit and the
@@ -27880,6 +27875,12 @@ change the @samp{s} to @samp{ms} to get @samp{9.8e-4 cm/ms^2}.
27880The ``remainder unit'' @samp{cm} is left alone rather than being 27875The ``remainder unit'' @samp{cm} is left alone rather than being
27881changed to the base unit @samp{m}. 27876changed to the base unit @samp{m}.
27882 27877
27878If you want to disallow using inconsistent units, you can set the
27879customizable variable @code{calc-ensure-consistent-units} to @code{t}
27880(@pxref{Customizing Calc}). In this case, if you request units which
27881are inconsistent with the original units, you will be warned about it
27882and no conversion will occur.
27883
27883You can use explicit unit conversion instead of the @kbd{u s} command 27884You can use explicit unit conversion instead of the @kbd{u s} command
27884to gain more control over the units of the result of an expression. 27885to gain more control over the units of the result of an expression.
27885For example, given @samp{5 m + 23 mm}, you can type @kbd{u c m} or 27886For example, given @samp{5 m + 23 mm}, you can type @kbd{u c m} or
@@ -27912,10 +27913,16 @@ Composite units are expanded as if by @kbd{a x}, so that
27912 27913
27913If the value on the stack does not contain any units, @kbd{u c} will 27914If the value on the stack does not contain any units, @kbd{u c} will
27914prompt first for the old units which this value should be considered 27915prompt first for the old units which this value should be considered
27915to have, then for the new units. Assuming the old and new units you 27916to have, then for the new units. (If the value on the stack can be
27916give are consistent with each other, the result also will not contain 27917simplified so that it doesn't contain any units, like @samp{ft/in} can
27917any units. For example, @kbd{@w{u c} cm @key{RET} in @key{RET}} 27918be simplified to 12, then @kbd{u c} will still prompt for both old
27918converts the number 2 on the stack to 5.08. 27919units and new units. You can ignore the prompt for old units with
27920@key{RET}, or turn off the prompt by setting the customizable variable
27921@code{calc-allow-units-as-numbers} to @code{nil};
27922@pxref{Customizing Calc}.) Assuming the old and new units you give are
27923consistent with each other, the result also will not contain any
27924units. For example, @kbd{@w{u c} cm @key{RET} in @key{RET}} converts
27925the number 2 on the stack to 5.08.
27919 27926
27920@kindex u b 27927@kindex u b
27921@pindex calc-base-units 27928@pindex calc-base-units
@@ -35694,6 +35701,17 @@ have different dimensions. The default value of @code{calc-ensure-consistent-uni
35694is @code{nil}. 35701is @code{nil}.
35695@end defvar 35702@end defvar
35696 35703
35704@defvar calc-allow-units-as-numbers
35705When converting units, the variable @code{calc-allow-units-as-numbers}
35706determines whether or not values which can be simplified so that
35707they don't contain units (such as @samp{ft/in} can be simplified to 12)
35708can be regarded as not containing units. If
35709@code{calc-allow-units-as-numbers} is non-@code{nil}, then @kbd{u c}
35710will prompt for both old units and new units when converting an expression
35711like @samp{ft/in}, otherwise @kbd{u c} will only prompt for the new units.
35712The default value of @code{calc-allow-units-as-numbers} is @code{t}.
35713@end defvar
35714
35697@defvar calc-undo-length 35715@defvar calc-undo-length
35698The variable @code{calc-undo-length} determines the number of undo 35716The variable @code{calc-undo-length} determines the number of undo
35699steps that Calc will keep track of when @code{calc-quit} is called. 35717steps that Calc will keep track of when @code{calc-quit} is called.
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 55b7028101a..4fa4e12cf88 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -4959,7 +4959,7 @@ the declaration is an annotation.
4959 4959
4960There are a few occasions where a statement block might be used inside 4960There are a few occasions where a statement block might be used inside
4961an expression. One is in C or C++ code using the gcc extension for 4961an expression. One is in C or C++ code using the gcc extension for
4962this, e.g: 4962this, e.g.:
4963 4963
4964@example 4964@example
4965 1: int res = (@{ 4965 1: int res = (@{
@@ -5552,7 +5552,7 @@ parentheses and statements within brace blocks.
5552@findex lineup-close-paren (c-) 5552@findex lineup-close-paren (c-)
5553Line up the closing paren under its corresponding open paren if the 5553Line up the closing paren under its corresponding open paren if the
5554open paren is followed by code. If the open paren ends its line, no 5554open paren is followed by code. If the open paren ends its line, no
5555indentation is added. E.g: 5555indentation is added. E.g.:
5556 5556
5557@example 5557@example
5558@group 5558@group
@@ -5606,7 +5606,7 @@ discussion of this ``DWIM'' measure.
5606 5606
5607@defun c-indent-one-line-block 5607@defun c-indent-one-line-block
5608@findex indent-one-line-block (c-) 5608@findex indent-one-line-block (c-)
5609Indent a one line block @code{c-basic-offset} extra. E.g: 5609Indent a one line block @code{c-basic-offset} extra. E.g.:
5610 5610
5611@example 5611@example
5612@group 5612@group
@@ -5640,7 +5640,7 @@ which makes the function usable in list expressions.
5640 5640
5641@defun c-indent-multi-line-block 5641@defun c-indent-multi-line-block
5642@findex indent-multi-line-block (c-) 5642@findex indent-multi-line-block (c-)
5643Indent a multiline block @code{c-basic-offset} extra. E.g: 5643Indent a multiline block @code{c-basic-offset} extra. E.g.:
5644 5644
5645@example 5645@example
5646@group 5646@group
@@ -5679,7 +5679,7 @@ block, which makes the function usable in list expressions.
5679Line up statements for coding standards which place the first statement 5679Line up statements for coding standards which place the first statement
5680in a block on the same line as the block opening brace@footnote{Run-in 5680in a block on the same line as the block opening brace@footnote{Run-in
5681style doesn't really work too well. You might need to write your own 5681style doesn't really work too well. You might need to write your own
5682custom line-up functions to better support this style.}. E.g: 5682custom line-up functions to better support this style.}. E.g.:
5683 5683
5684@example 5684@example
5685@group 5685@group
@@ -5762,7 +5762,7 @@ indents relative to the surrounding block just like
5762@defun c-lineup-whitesmith-in-block 5762@defun c-lineup-whitesmith-in-block
5763@findex lineup-whitesmith-in-block (c-) 5763@findex lineup-whitesmith-in-block (c-)
5764Line up lines inside a block in Whitesmith style. It's done in a way 5764Line up lines inside a block in Whitesmith style. It's done in a way
5765that works both when the opening brace hangs and when it doesn't. E.g: 5765that works both when the opening brace hangs and when it doesn't. E.g.:
5766 5766
5767@example 5767@example
5768@group 5768@group
@@ -5816,7 +5816,7 @@ Line up the current argument line under the first argument.
5816As a special case, if an argument on the same line as the open 5816As a special case, if an argument on the same line as the open
5817parenthesis starts with a brace block opener, the indentation is 5817parenthesis starts with a brace block opener, the indentation is
5818@code{c-basic-offset} only. This is intended as a ``DWIM'' measure in 5818@code{c-basic-offset} only. This is intended as a ``DWIM'' measure in
5819cases like macros that contain statement blocks, e.g: 5819cases like macros that contain statement blocks, e.g.:
5820 5820
5821@example 5821@example
5822@group 5822@group
@@ -5852,7 +5852,7 @@ brace block.
5852@defun c-lineup-multi-inher 5852@defun c-lineup-multi-inher
5853@findex lineup-multi-inher (c-) 5853@findex lineup-multi-inher (c-)
5854Line up the classes in C++ multiple inheritance clauses and member 5854Line up the classes in C++ multiple inheritance clauses and member
5855initializers under each other. E.g: 5855initializers under each other. E.g.:
5856 5856
5857@example 5857@example
5858@group 5858@group
@@ -5895,7 +5895,7 @@ Line up Java implements and extends declarations. If class names
5895follow on the same line as the @samp{implements}/@samp{extends} 5895follow on the same line as the @samp{implements}/@samp{extends}
5896keyword, they are lined up under each other. Otherwise, they are 5896keyword, they are lined up under each other. Otherwise, they are
5897indented by adding @code{c-basic-offset} to the column of the keyword. 5897indented by adding @code{c-basic-offset} to the column of the keyword.
5898E.g: 5898E.g.:
5899 5899
5900@example 5900@example
5901@group 5901@group
@@ -5929,7 +5929,7 @@ same line as the throws keyword, they are lined up under each other.
5929Otherwise, they are indented by adding @code{c-basic-offset} to the 5929Otherwise, they are indented by adding @code{c-basic-offset} to the
5930column of the @samp{throws} keyword. The @samp{throws} keyword itself 5930column of the @samp{throws} keyword. The @samp{throws} keyword itself
5931is also indented by @code{c-basic-offset} from the function declaration 5931is also indented by @code{c-basic-offset} from the function declaration
5932start if it doesn't hang. E.g: 5932start if it doesn't hang. E.g.:
5933 5933
5934@example 5934@example
5935@group 5935@group
@@ -6014,7 +6014,7 @@ line.
6014 6014
6015@defun c-lineup-argcont 6015@defun c-lineup-argcont
6016@findex lineup-argcont (c-) 6016@findex lineup-argcont (c-)
6017Line up a continued argument. E.g: 6017Line up a continued argument. E.g.:
6018 6018
6019@example 6019@example
6020@group 6020@group
@@ -6101,7 +6101,7 @@ function is the same as specifying a list @code{(c-lineup-assignments
6101Line up ``cascaded calls'' under each other. If the line begins with 6101Line up ``cascaded calls'' under each other. If the line begins with
6102@code{->} or @code{.} and the preceding line ends with one or more 6102@code{->} or @code{.} and the preceding line ends with one or more
6103function calls preceded by the same token, then the arrow is lined up 6103function calls preceded by the same token, then the arrow is lined up
6104with the first of those tokens. E.g: 6104with the first of those tokens. E.g.:
6105 6105
6106@example 6106@example
6107@group 6107@group
@@ -6133,7 +6133,7 @@ Line up C++ stream operators (i.e., @samp{<<} and @samp{>>}).
6133@findex lineup-string-cont (c-) 6133@findex lineup-string-cont (c-)
6134Line up a continued string under the one it continues. A continued 6134Line up a continued string under the one it continues. A continued
6135string in this sense is where a string literal follows directly after 6135string in this sense is where a string literal follows directly after
6136another one. E.g: 6136another one. E.g.:
6137 6137
6138@example 6138@example
6139@group 6139@group
@@ -6242,7 +6242,7 @@ is equivalent to @code{(@r{@var{value}} . -1000)}.
6242@findex lineup-knr-region-comment (c-) 6242@findex lineup-knr-region-comment (c-)
6243Line up a comment in the ``K&R region'' with the declaration. That is 6243Line up a comment in the ``K&R region'' with the declaration. That is
6244the region between the function or class header and the beginning of the 6244the region between the function or class header and the beginning of the
6245block. E.g: 6245block. E.g.:
6246 6246
6247@example 6247@example
6248@group 6248@group
@@ -6282,7 +6282,7 @@ already has; think of it as an identity function for lineups.
6282@defun c-lineup-cpp-define 6282@defun c-lineup-cpp-define
6283@findex lineup-cpp-define (c-) 6283@findex lineup-cpp-define (c-)
6284Line up macro continuation lines according to the indentation of the 6284Line up macro continuation lines according to the indentation of the
6285construct preceding the macro. E.g: 6285construct preceding the macro. E.g.:
6286 6286
6287@example 6287@example
6288@group 6288@group
@@ -6409,7 +6409,7 @@ that those lines could be analyzed as either topmost-intro-cont or
6409statement-cont. It's used for @code{topmost-intro-cont} by default, but 6409statement-cont. It's used for @code{topmost-intro-cont} by default, but
6410you might consider using @code{+} instead.}. For lines preceding a 6410you might consider using @code{+} instead.}. For lines preceding a
6411definition, zero is used. For other lines, @code{c-basic-offset} is 6411definition, zero is used. For other lines, @code{c-basic-offset} is
6412added to the indentation. E.g: 6412added to the indentation. E.g.:
6413 6413
6414@example 6414@example
6415@group 6415@group
@@ -6475,13 +6475,14 @@ think is generally useful, you're very welcome to contribute it;
6475please contact @email{bug-cc-mode@@gnu.org}. 6475please contact @email{bug-cc-mode@@gnu.org}.
6476 6476
6477 Line-up functions are passed a single argument, the syntactic 6477 Line-up functions are passed a single argument, the syntactic
6478element (see below). The return value is a @code{c-offsets-alist} 6478element (see below). At the time of the call, point will be somewhere
6479offset specification: for example, an integer, a symbol such as 6479on the line being indented. The return value is a
6480@code{+}, a vector, @code{nil}@footnote{Returning @code{nil} is useful 6480@code{c-offsets-alist} offset specification: for example, an integer,
6481when the offset specification for a syntactic element is a list 6481a symbol such as @code{+}, a vector, @code{nil}@footnote{Returning
6482containing the line-up function (@pxref{c-offsets-alist}).}, or even 6482@code{nil} is useful when the offset specification for a syntactic
6483another line-up function. Full details of these are in 6483element is a list containing the line-up function
6484@ref{c-offsets-alist}. 6484(@pxref{c-offsets-alist}).}, or even another line-up function. Full
6485details of these are in @ref{c-offsets-alist}.
6485 6486
6486Line-up functions must not move point or change the content of the 6487Line-up functions must not move point or change the content of the
6487buffer (except temporarily). They are however allowed to do 6488buffer (except temporarily). They are however allowed to do
@@ -6507,7 +6508,7 @@ earlier. Line-up functions are still passed this cons cell, so as to
6507preserve compatibility with older configurations. In the future, we 6508preserve compatibility with older configurations. In the future, we
6508may decide to convert to using the full list format---you can prepare 6509may decide to convert to using the full list format---you can prepare
6509your setup for this by using the access functions 6510your setup for this by using the access functions
6510(@code{c-langelem-sym}, etc.) described below. 6511(@code{c-langelem-sym}, etc.)@: described below.
6511 6512
6512@vindex c-syntactic-element 6513@vindex c-syntactic-element
6513@vindex syntactic-element (c-) 6514@vindex syntactic-element (c-)
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index c3657415078..83df411cb23 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -703,14 +703,6 @@ The type symbol @code{real} is a synonym for @code{number}, and
703The type symbols @code{character} and @code{string-char} match 703The type symbols @code{character} and @code{string-char} match
704integers in the range from 0 to 255. 704integers in the range from 0 to 255.
705 705
706@c No longer relevant, so covered by first item above (float -> floatp).
707@ignore
708@item
709The type symbol @code{float} uses the @code{cl-floatp-safe} predicate
710defined by this package rather than @code{floatp}, so it will work
711correctly even in Emacs versions without floating-point support.
712@end ignore
713
714@item 706@item
715The type list @code{(integer @var{low} @var{high})} represents all 707The type list @code{(integer @var{low} @var{high})} represents all
716integers between @var{low} and @var{high}, inclusive. Either bound 708integers between @var{low} and @var{high}, inclusive. Either bound
@@ -748,7 +740,7 @@ This function attempts to convert @var{object} to the specified
748@var{type}. If @var{object} is already of that type as determined by 740@var{type}. If @var{object} is already of that type as determined by
749@code{cl-typep}, it is simply returned. Otherwise, certain types of 741@code{cl-typep}, it is simply returned. Otherwise, certain types of
750conversions will be made: If @var{type} is any sequence type 742conversions will be made: If @var{type} is any sequence type
751(@code{string}, @code{list}, etc.) then @var{object} will be 743(@code{string}, @code{list}, etc.)@: then @var{object} will be
752converted to that type if possible. If @var{type} is 744converted to that type if possible. If @var{type} is
753@code{character}, then strings of length one and symbols with 745@code{character}, then strings of length one and symbols with
754one-character names can be coerced. If @var{type} is @code{float}, 746one-character names can be coerced. If @var{type} is @code{float},
@@ -817,8 +809,9 @@ not compare strings against vectors of integers.
817Also note that the Common Lisp functions @code{member} and @code{assoc} 809Also note that the Common Lisp functions @code{member} and @code{assoc}
818use @code{eql} to compare elements, whereas Emacs Lisp follows the 810use @code{eql} to compare elements, whereas Emacs Lisp follows the
819MacLisp tradition and uses @code{equal} for these two functions. 811MacLisp tradition and uses @code{equal} for these two functions.
820In Emacs, use @code{memq} (or @code{cl-member}) and @code{assq} (or 812The functions @code{cl-member} and @code{cl-assoc} use @code{eql},
821@code{cl-assoc}) to get functions which use @code{eql} for comparisons. 813as in Common Lisp. The standard Emacs Lisp functions @code{memq} and
814@code{assq} use @code{eq}, and the standard @code{memql} uses @code{eql}.
822 815
823@node Control Structure 816@node Control Structure
824@chapter Control Structure 817@chapter Control Structure
@@ -2920,14 +2913,6 @@ This predicate tests whether @var{integer} is even. It is an
2920error if the argument is not an integer. 2913error if the argument is not an integer.
2921@end defun 2914@end defun
2922 2915
2923@ignore
2924@defun cl-floatp-safe object
2925This predicate tests whether @var{object} is a floating-point
2926number. On systems that support floating-point, this is equivalent
2927to @code{floatp}. On other systems, this always returns @code{nil}.
2928@end defun
2929@end ignore
2930
2931@node Numerical Functions 2916@node Numerical Functions
2932@section Numerical Functions 2917@section Numerical Functions
2933 2918
diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi
index 2cf25641350..1e3d11f6dc6 100644
--- a/doc/misc/dired-x.texi
+++ b/doc/misc/dired-x.texi
@@ -882,7 +882,7 @@ Dired buffers, is like @code{shell-command}, but it runs with
882 882
883@file{dired-x} provides a method of visiting or editing a file mentioned in 883@file{dired-x} provides a method of visiting or editing a file mentioned in
884the buffer you are viewing (e.g., a mail buffer, a news article, a 884the buffer you are viewing (e.g., a mail buffer, a news article, a
885@file{README} file, etc.) or to test if that file exists. You can then modify 885@file{README} file, etc.)@: or to test if that file exists. You can then modify
886this in the minibuffer after snatching the file name. 886this in the minibuffer after snatching the file name.
887 887
888When installed @file{dired-x} will substitute @code{dired-x-find-file} for 888When installed @file{dired-x} will substitute @code{dired-x-find-file} for
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi
index cadd815025c..f2e787fd588 100644
--- a/doc/misc/ede.texi
+++ b/doc/misc/ede.texi
@@ -450,9 +450,11 @@ ede-new}, or click on the @samp{Create Project} item in the
450 450
451The @command{ede-new} command prompts for the type of project you 451The @command{ede-new} command prompts for the type of project you
452would like to create. Each project type has its own benefits or 452would like to create. Each project type has its own benefits or
453language specific enhancements. @ede{} supports four different 453language specific enhancements. Not all projects that @ede{} supports
454project types: @samp{Make}, @samp{Automake}, @samp{direct Automake}, 454also allow creating a new project. Projects such as @code{emacs}
455and @samp{Simple}. 455or @code{linux} are designed to recognize existing projects only.
456Project types such as @samp{Make} and @samp{Automake} do support
457creating new project types with @command{ede-new}.
456 458
457@itemize 459@itemize
458@item 460@item
@@ -468,21 +470,6 @@ Unlike a @samp{Make} project, this project autogenerates a
468@file{Makefile.am} file. @ede{} handles the Automake bootstrapping 470@file{Makefile.am} file. @ede{} handles the Automake bootstrapping
469routines, which import and maintain a @file{configure.am} script and 471routines, which import and maintain a @file{configure.am} script and
470other required files. 472other required files.
471
472@item
473For the @samp{direct Automake} project type, @ede{} reads directly
474from the Automake files.
475
476You cannot create direct Automake projects with the @command{ede-new}
477command. Instead, when you visit a project with existing Automake
478files, @ede{} automatically detects them.
479
480@item
481The @samp{Simple} project type provides light-weight constructs for
482identifying a project root and looking up files. If you already have
483a non-@ede{} project infrastructure, you can use a @samp{Simple}
484project to provide other Emacs packages, such as Semantic, with some
485information about the project. @xref{Simple projects}.
486@end itemize 473@end itemize
487 474
488A subproject is merely a project in a subdirectory of another project. 475A subproject is merely a project in a subdirectory of another project.
@@ -795,24 +782,19 @@ able to find your SDK and compile your programs.
795@node Simple projects 782@node Simple projects
796@section Simple Projects 783@section Simple Projects
797 784
798There is a wide array of Simple projects. The root for simple 785There is a wide array of simple projects. In this case a simple
799projects is the class @code{ede-simple-project}. This handles the 786project is one that detects, or is directed to identify a directory as
800infrastructure of storing a .ede file if needed. 787belonging to a project, but doesn't provide many features of a typical
801 788@ede{} project. Having the project however allows tools such as
802The class @code{ede-simple-project} is designed to be subclassed. 789@semantic{} to find sources and perform project level completions.
803Then key @ede{} methods can be overridden to provide a quick wrapper
804over any project.
805 790
806A second project type is @code{ede-cpp-root}. This project type is
807designed to be created for a directory hierarchy full of C/C++ code.
808It can be configured with minimal lisp knowledge to do header file
809lookup for @semantic{}, improving code completion performance.
810 791
811@menu 792@menu
812* ede-cpp-root:: This project marks the root of a C/C++ code project. 793* ede-cpp-root:: This project marks the root of a C/C++ code project.
813* ede-java-root:: This project marks the root of a Java project. 794* ede-java-root:: This project marks the root of a Java project.
814* ede-emacs:: A project for working with Emacs. 795* ede-emacs:: A project for working with Emacs.
815* ede-linux:: A project for working with Linux kernels. 796* ede-linux:: A project for working with Linux kernels.
797* ede-generic-project:: A project type for wrapping build systems with EDE.
816* Custom Locate:: Customizing how to locate files in a simple project 798* Custom Locate:: Customizing how to locate files in a simple project
817@end menu 799@end menu
818 800
@@ -1045,7 +1027,7 @@ tree, and enables EDE project mode for it.
1045It pre-populates the C Preprocessor symbol map for correct parsing, 1027It pre-populates the C Preprocessor symbol map for correct parsing,
1046and has an optimized include file identification function. 1028and has an optimized include file identification function.
1047 1029
1048@node ede-linux, Custom Locate, ede-emacs, Simple projects 1030@node ede-linux, ede-generic-project, ede-emacs, Simple projects
1049@subsection ede-linux 1031@subsection ede-linux
1050 1032
1051The @code{ede-linux} project will automatically identify a Linux 1033The @code{ede-linux} project will automatically identify a Linux
@@ -1054,7 +1036,60 @@ Kernel source tree, and enable EDE project mode for it.
1054It pre-populates the C Preprocessor symbol map for reasonable parsing, 1036It pre-populates the C Preprocessor symbol map for reasonable parsing,
1055and has an optimized include file identification function. 1037and has an optimized include file identification function.
1056 1038
1057@node Custom Locate, , ede-linux, Simple projects 1039@node ede-generic-project, Custom Locate, ede-linux, Simple projects
1040@subsection ede-generic-project
1041
1042The @code{ede-generic-project} is a project system that makes it easy
1043to wrap up different kinds of build systems as an EDE project.
1044Projects such as @ref{ede-emacs} require coding skills to create.
1045Generic projects also require writing Emacs Lisp code, but the
1046requirements are minimal. You can then use
1047@command{customize-project} to configure build commands, includes, and
1048other options for that project. The configuration is saved in
1049@file{EDEConfig.el}.
1050
1051Generic projects are disabled by default because they have the
1052potential to interfere with other projects. To use the generic
1053project system to start detecting projects, you need to enable it.
1054
1055@deffn Command ede-enable-generic-projects
1056Enable generic project loaders.
1057
1058This enables generic loaders for projects that are detected using
1059either a @file{Makefile}, @file{SConstruct}, or @file{CMakeLists}.
1060
1061You do not need to use this command if you create your own generic
1062project type.
1063@end deffn
1064
1065If you want to create your own generic project loader, you need to
1066define your own project and target classes, and create an autoloader.
1067The example for Makefiles looks like this:
1068
1069@example
1070;;; MAKEFILE
1071
1072(defclass ede-generic-makefile-project (ede-generic-project)
1073 ((buildfile :initform "Makefile")
1074 )
1075 "Generic Project for makefiles.")
1076
1077(defmethod ede-generic-setup-configuration ((proj ede-generic-makefile-project) config)
1078 "Setup a configuration for Make."
1079 (oset config build-command "make -k")
1080 (oset config debug-command "gdb ")
1081 )
1082
1083(ede-generic-new-autoloader "generic-makefile" "Make"
1084 "Makefile" 'ede-generic-makefile-project)
1085@end example
1086
1087This example project will detect any directory with the file
1088@file{Makefile} in it as belonging to this project type.
1089Customization of the project will allow you to make build and debug
1090commands more precise.
1091
1092@node Custom Locate, , ede-generic-project, Simple projects
1058@subsection Custom Locate 1093@subsection Custom Locate
1059 1094
1060The various simple project styles all have one major drawback, which 1095The various simple project styles all have one major drawback, which
@@ -1062,8 +1097,6 @@ is that the files in the project are not completely known to EDE@.
1062When the EDE API is used to try and file files by some reference name 1097When the EDE API is used to try and file files by some reference name
1063in the project, then that could fail. 1098in the project, then that could fail.
1064 1099
1065@@TODO - Add ID Utils and CScope examples
1066
1067@ede{} can therefore use some external locate commands, such as the unix 1100@ede{} can therefore use some external locate commands, such as the unix
1068``locate'' command, or ``GNU Global''. 1101``locate'' command, or ``GNU Global''.
1069 1102
@@ -1093,6 +1126,11 @@ You can add your own locate tool but subclassing from
1093methods. See the code in @file{ede-locate.el} for GNU Global as a 1126methods. See the code in @file{ede-locate.el} for GNU Global as a
1094simple example. 1127simple example.
1095 1128
1129@@TODO - Add ID Utils and CScope examples
1130
1131More on idutils and cscope is in the CEDET manual, and they each have
1132their own section.
1133
1096@node Extending EDE, GNU Free Documentation License, Miscellaneous commands, Top 1134@node Extending EDE, GNU Free Documentation License, Miscellaneous commands, Top
1097@chapter Extending @ede{} 1135@chapter Extending @ede{}
1098 1136
@@ -1918,7 +1956,7 @@ Type: @code{list} @*
1918Default Value: @code{(quote ("/include" "../include/"))} 1956Default Value: @code{(quote ("/include" "../include/"))}
1919 1957
1920The default locate function expands filenames within a project. 1958The default locate function expands filenames within a project.
1921If a header file (.h, .hh, etc) name is expanded, and 1959If a header file (.h, .hh, etc.)@: name is expanded, and
1922the @code{:locate-fcn} slot is @code{nil}, then the include path is checked 1960the @code{:locate-fcn} slot is @code{nil}, then the include path is checked
1923first, and other directories are ignored. For very large 1961first, and other directories are ignored. For very large
1924projects, this optimization can save a lot of time. 1962projects, this optimization can save a lot of time.
diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi
index 1e4c888a9e7..378eee08c51 100644
--- a/doc/misc/ediff.texi
+++ b/doc/misc/ediff.texi
@@ -1148,7 +1148,7 @@ packages also use this method).
1148Regular files are treated by the @code{patch} utility in the usual manner, 1148Regular files are treated by the @code{patch} utility in the usual manner,
1149i.e., the original is renamed into @file{source-name.orig} and the result 1149i.e., the original is renamed into @file{source-name.orig} and the result
1150of the patch is placed into the file source-name (@file{_orig} is used 1150of the patch is placed into the file source-name (@file{_orig} is used
1151on systems like DOS, etc.) 1151on systems like DOS, etc.).
1152 1152
1153@node Customization 1153@node Customization
1154@chapter Customization 1154@chapter Customization
diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi
index 216e4733cd1..5f377e57725 100644
--- a/doc/misc/emacs-mime.texi
+++ b/doc/misc/emacs-mime.texi
@@ -26,8 +26,8 @@ modify this GNU manual.''
26@end quotation 26@end quotation
27@end copying 27@end copying
28 28
29@c Node ``Interface Functions'' uses Latin-1 characters 29@c Node ``Interface Functions'' uses non-ASCII characters
30@documentencoding ISO-8859-1 30@documentencoding UTF-8
31 31
32@dircategory Emacs lisp libraries 32@dircategory Emacs lisp libraries
33@direntry 33@direntry
@@ -993,7 +993,7 @@ Customization}).
993The charset to be used can be overridden by setting the @code{charset} 993The charset to be used can be overridden by setting the @code{charset}
994@acronym{MML} tag (@pxref{MML Definition}) when composing the message. 994@acronym{MML} tag (@pxref{MML Definition}) when composing the message.
995 995
996The encoding of characters (quoted-printable, 8bit etc) is orthogonal 996The encoding of characters (quoted-printable, 8bit, etc.)@: is orthogonal
997to the discussion here, and is controlled by the variables 997to the discussion here, and is controlled by the variables
998@code{mm-body-charset-encoding-alist} and 998@code{mm-body-charset-encoding-alist} and
999@code{mm-content-transfer-encoding-defaults} (@pxref{Encoding 999@code{mm-content-transfer-encoding-defaults} (@pxref{Encoding
@@ -1890,5 +1890,5 @@ Documentation of the text/plain format parameter for flowed text.
1890 1890
1891@c Local Variables: 1891@c Local Variables:
1892@c mode: texinfo 1892@c mode: texinfo
1893@c coding: iso-8859-1 1893@c coding: utf-8
1894@c End: 1894@c End:
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index 504940c5c6b..ec01f731daf 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -2,6 +2,7 @@
2@c %**start of header 2@c %**start of header
3@setfilename ../../info/eshell 3@setfilename ../../info/eshell
4@settitle Eshell: The Emacs Shell 4@settitle Eshell: The Emacs Shell
5@defindex cm
5@synindex vr fn 6@synindex vr fn
6@c %**end of header 7@c %**end of header
7 8
@@ -42,7 +43,7 @@ modify this GNU manual.''
42@c -release- 43@c -release-
43@end ignore 44@end ignore
44@sp 3 45@sp 3
45@center John Wiegley 46@center John Wiegley & Aidan Gauland
46@c -date- 47@c -date-
47 48
48@page 49@page
@@ -75,15 +76,14 @@ handling the sort of tasks accomplished by those tools.
75* What is Eshell?:: A brief introduction to the Emacs Shell. 76* What is Eshell?:: A brief introduction to the Emacs Shell.
76* Command basics:: The basics of command usage. 77* Command basics:: The basics of command usage.
77* Commands:: 78* Commands::
78* Arguments:: 79* Expansion::
79* Input/Output:: 80* Input/Output::
80* Process control::
81* Extension modules:: 81* Extension modules::
82* Extras and Goodies::
83* Bugs and ideas:: Known problems, and future ideas. 82* Bugs and ideas:: Known problems, and future ideas.
84* GNU Free Documentation License:: The license for this documentation. 83* GNU Free Documentation License:: The license for this documentation.
85* Concept Index:: 84* Concept Index::
86* Function and Variable Index:: 85* Function and Variable Index::
86* Command Index::
87* Key Index:: 87* Key Index::
88@end menu 88@end menu
89 89
@@ -278,83 +278,56 @@ on your mind. Have fun!
278@node Commands 278@node Commands
279@chapter Commands 279@chapter Commands
280 280
281In a command shell, everything is done by invoking commands. This
282chapter covers command invocations in Eshell, including the command
283history and invoking commands in a script file.
284
281@menu 285@menu
282* Invocation:: 286* Invocation::
283* Completion:: 287* Arguments::
288* Built-ins::
289* Variables::
284* Aliases:: 290* Aliases::
285* History:: 291* History::
292* Completion::
293* for loop::
286* Scripts:: 294* Scripts::
287* Built-ins::
288@end menu 295@end menu
289 296
290Essentially, a command shell is all about invoking commands---and
291everything that entails. So understanding how Eshell invokes commands
292is the key to comprehending how it all works.
293
294@node Invocation 297@node Invocation
295@section Invocation 298@section Invocation
296
297Unlike regular system shells, Eshell never invokes kernel functions 299Unlike regular system shells, Eshell never invokes kernel functions
298directly, such as @code{exec(3)}. Instead, it uses the Lisp functions 300directly, such as @code{exec(3)}. Instead, it uses the Lisp functions
299available in the Emacs Lisp library. It does this by transforming the 301available in the Emacs Lisp library. It does this by transforming the
300command you specify into a callable Lisp form.@footnote{To see the Lisp 302input line into a callable Lisp form.@footnote{To see the Lisp form that will be invoked, type: @samp{eshell-parse-command "echo hello"}}
301form that will be invoked, type: @samp{eshell-parse-command "echo 303
302hello"}} 304The command can be either an Elisp function or an external command.
303 305Eshell looks first for an @ref{Aliases, alias} with the same name as the
304This transformation, from the string of text typed at the command 306command, then a @ref{Built-ins, built-in command} or a function with the
305prompt, to the ultimate invocation of either a Lisp function or external 307same name; if there is no match, it then tries to execute it as an
306command, follows these steps: 308external command.
307 309
308@enumerate 310The semicolon (@code{;}) can be used to separate multiple command
309@item Parse the command string into separate arguments. 311invocations on a single line. A command invocation followed by an
310@item 312ampersand (@code{&}) will be run in the background. Eshell has no job
311@end enumerate 313control, so you can not suspend or background the current process, or
312 314bring a background process into the foreground. That said, background
313@node Completion 315processes invoked from Eshell can be controlled the same way as any
314@section Completion 316other background process in Emacs.
315
316@node Aliases
317@section Aliases
318
319@node History
320@section History
321
322Eshell knows a few built-in variables:
323
324@table @code
325
326@item $+
327@vindex $+
328This variable always contains the current working directory.
329
330@item $-
331@vindex $-
332This variable always contains the previous working directory (the
333current working directory from before the last @code{cd} command).
334
335@item $_
336@vindex $_
337It refers to the last argument of the last command.
338
339@item $$
340@vindex $$
341This is the result of the last command. In case of an external
342command, it is @code{t} or @code{nil}.
343
344@item $?
345@vindex $?
346This variable contains the exit code of the last command (0 or 1 for
347Lisp functions, based on successful completion).
348
349@end table
350
351@node Scripts
352@section Scripts
353 317
318@node Arguments
319@section Arguments
320Command arguments are passed to the functions as either strings or
321numbers, depending on what the parser thinks they look like. If you
322need to use a function that takes some other data type, you will need to
323call it in an Elisp expression (which can also be used with
324@ref{Expansion, expansions}). As with other shells, you can
325escape special characters and spaces with the backslash (@code{\}) and
326the single (@code{''}) and double (@code{""}) quotes.
354 327
355@node Built-ins 328@node Built-ins
356@section Built-in commands
357 329
330@section Built-in commands
358Several commands are built-in in Eshell. In order to call the 331Several commands are built-in in Eshell. In order to call the
359external variant of a built-in command @code{foo}, you could call 332external variant of a built-in command @code{foo}, you could call
360@code{*foo}. Usually, this should not be necessary. You can check 333@code{*foo}. Usually, this should not be necessary. You can check
@@ -368,7 +341,7 @@ eshell/ls is a compiled Lisp function in `em-ls.el'
368@end example 341@end example
369 342
370If you want to discard a given built-in command, you could declare an 343If you want to discard a given built-in command, you could declare an
371alias, @ref{Aliases}. Eample: 344alias, @ref{Aliases}. Example:
372 345
373@example 346@example
374~ $ which sudo 347~ $ which sudo
@@ -378,15 +351,96 @@ eshell/sudo is a compiled Lisp function in `em-unix.el'
378sudo is an alias, defined as "*sudo $*" 351sudo is an alias, defined as "*sudo $*"
379@end example 352@end example
380 353
381Some of the built-in commands have a special behavior in Eshell: 354@vindex eshell-prefer-lisp-functions
355If you would prefer to use the built-in commands instead of the external
356commands, set @var{eshell-prefer-lisp-functions} to @code{t}.
357
358Some of the built-in commands have different behaviour from their
359external counterparts, and some have no external counterpart. Most of
360these will print a usage message when given the @code{--help} option.
382 361
383@table @code 362@table @code
384 363
364@item addpath
365@cmindex addpath
366Adds a given path or set of paths to the PATH environment variable, or,
367with no arguments, prints the current paths in this variable.
368
369@item alias
370@cmindex alias
371Define an alias (@pxref{Aliases}). This does not add it to the aliases
372file.
373
374@item date
375@cmindex date
376Similar to, but slightly different from, the GNU Coreutils
377@command{date} command.
378
379@item define
380@cmindex define
381Define a varalias. @xref{Variable Aliases, , , elisp}.
382
383@item diff
384@cmindex diff
385Use Emacs's internal @code{diff} (not to be confused with
386@code{ediff}). @xref{Comparing Files, , , elisp}.
387
388@item grep
389@cmindex grep
390@itemx agrep
391@cmindex agrep
392@itemx egrep
393@cmindex egrep
394@itemx fgrep
395@cmindex fgrep
396@itemx glimpse
397@cmindex glimpse
398The @command{grep} commands are compatible with GNU @command{grep}, but
399use Emacs's internal @code{grep} instead.
400
401@item info
402@cmindex info
403Same as the external @command{info} command, but uses Emacs's internal
404Info reader.
405
406@item jobs
407@cmindex jobs
408List subprocesses of the Emacs process, if any, using the function
409@code{list-processes}.
410
411@item kill
412@cmindex kill
413Kill processes. Takes a PID or a process object and an optional
414signal specifier.
415
416@item listify
417@cmindex listify
418Eshell version of @code{list}. Allows you to create a list using Eshell
419syntax, rather than Elisp syntax. For example, @samp{listify foo bar}
420and @code{("foo" "bar")} both evaluate to @code{("foo" "bar")}.
421
422@item locate
423@cmindex locate
424Alias to Emacs's @code{locate} function, which simply runs the external
425@command{locate} command and parses the results. @xref{Dired and `find', , , elisp}.
426
427@item make
428@cmindex make
429Run @command{make} through @code{compile}. @xref{Running Compilations under Emacs, , , elisp}.
430
431@item occur
432@cmindex occur
433Alias to Emacs's @code{occur}. @xref{Other Search-and-Loop Commands, , , elisp}.
434
435@item printnl
436@cmindex printnl
437Print the arguments separated by newlines.
438
385@item cd 439@item cd
386@findex cd 440@cmindex cd
387This command changes the current working directory. Usually, it is 441This command changes the current working directory. Usually, it is
388invoked as @samp{cd foo} where @file{foo} is the new working 442invoked as @samp{cd foo} where @file{foo} is the new working directory.
389directory. But @code{cd} knows about a few special arguments: 443But @command{cd} knows about a few special arguments:
390 444
391When it receives no argument at all, it changes to the home directory. 445When it receives no argument at all, it changes to the home directory.
392 446
@@ -396,14 +450,73 @@ directory (this is the same as @samp{cd $-}).
396The command @samp{cd =} shows the directory stack. Each line is 450The command @samp{cd =} shows the directory stack. Each line is
397numbered. 451numbered.
398 452
399With @samp{cd =foo}, Eshell searches the directory stack for a 453With @samp{cd =foo}, Eshell searches the directory stack for a directory
400directory matching the regular expression @samp{foo} and changes to 454matching the regular expression @samp{foo} and changes to that
401that directory. 455directory.
402 456
403With @samp{cd -42}, you can access the directory stack by number. 457With @samp{cd -42}, you can access the directory stack by number.
404 458
405@item history 459@item su
406@findex history 460@cmindex su
461@itemx sudo
462@cmindex sudo
463Uses TRAMP's @command{su} or @command{sudo} method to run a command via
464@command{su} or @command{sudo}.
465
466@end table
467
468@subsection Built-in variables
469Eshell knows a few built-in variables:
470
471@table @code
472
473@item $+
474@vindex $+
475This variable always contains the current working directory.
476
477@item $-
478@vindex $-
479This variable always contains the previous working directory (the
480current working directory from before the last @code{cd} command).
481
482@item $_
483@vindex $_
484It refers to the last argument of the last command.
485
486@item $$
487@vindex $$
488This is the result of the last command. In case of an external
489command, it is @code{t} or @code{nil}.
490
491@item $?
492@vindex $?
493This variable contains the exit code of the last command (0 or 1 for
494Lisp functions, based on successful completion).
495
496@end table
497
498@node Variables
499@section Variables
500Since Eshell is just an Emacs REPL@footnote{Read-Eval-Print Loop}, it
501does not have its own scope, and simply stores variables the same you
502would in an Elisp program. Eshell provides a command version of
503@code{setq} for convenience.
504
505@node Aliases
506@section Aliases
507
508Aliases are commands that expand to a longer input line. For example,
509@command{ll} is a common alias for @code{ls -l}, and would be defined
510with the command invocation @samp{alias ll ls -l}; with this defined,
511running @samp{ll foo} in Eshell will actually run @samp{ls -l foo}.
512Aliases defined (or deleted) by the @command{alias} command are
513automatically written to the file named by @var{eshell-aliases-file},
514which you can also edit directly (although you will have to manually
515reload it).
516
517@node History
518@section History
519@cmindex history
407The @samp{history} command shows all commands kept in the history ring 520The @samp{history} command shows all commands kept in the history ring
408as numbered list. If the history ring contains 521as numbered list. If the history ring contains
409@code{eshell-history-size} commands, those numbers change after every 522@code{eshell-history-size} commands, those numbers change after every
@@ -419,70 +532,233 @@ of the history ring.
419argument of the last command beginning with @code{foo} is accessible 532argument of the last command beginning with @code{foo} is accessible
420by @code{!foo:n}. 533by @code{!foo:n}.
421 534
422@item su 535The history ring is loaded from a file at the start of every session,
423@findex su 536and written back to the file at the end of every session. The file path
424@itemx sudo 537is specified in @var{eshell-history-file-name}. Unlike other shells,
425@findex sudo 538such as Bash, Eshell can not be configured to keep a history ring of a
426@code{su} and @code{sudo} work as expected: they apply the following 539different size than that of the history file.
427commands (@code{su}), or the command being an argument (@code{sudo}) 540
428under the permissions of somebody else. 541Since the default buffer navigation and searching key-bindings are
429 542still present in the Eshell buffer, the commands for history
430This does not work only on 543navigation and searching are bound to different keys:
431the local host, but even on a remote one, when 544
432@code{default-directory} is a remote file name. The necessary 545@table @kbd
433proxy configuration of Tramp is performed 546@item M-r
434@ifinfo 547@itemx M-s
435automatically, @ref{Multi-hops, , , tramp}. 548History I-search.
436@end ifinfo 549
437@ifnotinfo 550@item M-p
438automatically. 551@itemx M-n
439@end ifnotinfo 552Previous and next history line. If there is anything on the input
440Example: 553line when you run these commands, they will instead jump to the
554precious or next line that begins with that string.
555@end table
556
557@node Completion
558@section Completion
559Eshell uses the pcomplete package for programmable completion, similar
560to that of other command shells. Argument completion differs depending
561on the preceding command: for example, possible completions for
562@command{rmdir} are only directories, while @command{rm} completions can
563be directories @emph{and} files. Eshell provides predefined completions
564for the built-in functions and some common external commands, and you
565can define your own for any command.
566
567Eshell completion also works for lisp forms and glob patterns. If the
568point is on a lisp form, then @key{TAB} will behave similarly to completion
569in @code{elisp-mode} and @code{lisp-interaction-mode}. For glob
570patterns, If there are few enough possible completions of the patterns,
571they will be cycled when @key{TAB} is pressed, otherwise it will be removed
572from the input line and the possible completions will be listed.
573
574If you want to see the entire list of possible completions when it's
575below the cycling threshold, press @kbd{M-?}.
576
577@subsection pcomplete
578Pcomplete, short for programmable completion, is the completion
579library originally written for Eshell, but usable for command
580completion@footnote{Command completion as opposed to code completion,
581which is a beyond the scope of pcomplete.} in other modes.
582
583Completions are defined as functions (with @code{defun}) named
584@code{pcomplete/COMMAND}, where @code{COMMAND} is the name of the
585command for which this function provides completions; you can also name
586the function @code{pcomplete/MAJOR-MODE/COMMAND} to define completions
587for a specific major mode.
588
589@node for loop
590@section @code{for} loop
591Because Eshell commands can not (easily) be combined with lisp forms,
592Eshell provides a command-oriented @command{for}-loop for convenience.
593The syntax is as follows:
441 594
442@example 595@example
443~ $ cd /ssh:otherhost:/etc 596@code{for VAR in TOKENS @{ command invocation(s) @}}
444/ssh:user@@otherhost:/etc $ sudo find-file shadow
445@end example 597@end example
446 598
447@end table 599where @samp{TOKENS} is a space-separated sequence of values of
448 600@var{VAR} for each iteration. This can even be the output of a
601command if @samp{TOKENS} is replaced with @samp{@{ command invocation @}}.
449 602
450@node Arguments 603@node Scripts
451@chapter Arguments 604@section Scripts
605@cmindex source
606@fnindex eshell-source-file
607You can run Eshell scripts much like scripts for other shells; the main
608difference is that since Eshell is not a system command, you have to run
609it from within Emacs. An Eshell script is simply a file containing a
610sequence of commands, as with almost any other shell script. Scripts
611are invoked from Eshell with @command{source}, or from anywhere in Emacs
612with @code{eshell-source-file}.
613
614@cmindex .
615If you wish to load a script into your @emph{current} environment,
616rather than in a subshell, use the @code{.} command.
617
618@node Expansion
619@chapter Expansion
620Expansion in a command shell is somewhat like macro expansion in macro
621parsers (such as @command{cpp} and @command{m4}), but in a command
622shell, they are less often used for constants, and usually for using
623variables and string manipulation.@footnote{Eshell has no
624string-manipulation expansions because the Elisp library already
625provides many functions for this.} For example, @code{$var} on a line
626expands to the value of the variable @code{var} when the line is
627executed. Expansions are usually passed as arguments, but may also be
628used as commands.@footnote{E.g., entering just @samp{$var} at the prompt
629is equivalent to entering the value of @code{var} at the prompt.}
452 630
453@menu 631@menu
454* The Parser:: 632* Dollars Expansion::
455* Variables::
456* Substitution::
457* Globbing:: 633* Globbing::
458* Predicates::
459@end menu 634@end menu
460 635
461@node The Parser 636@node Dollars Expansion
462@section The Parser 637@section Dollars Expansion
638Eshell has different @code{$} expansion syntax from other shells. There
639are some similarities, but don't let these lull you into a false sense
640of familiarity.
463 641
464@node Variables 642@table @code
465@section Variables
466 643
467@node Substitution 644@item $var
468@section Substitution 645Expands to the value bound to @code{var}. This is the main way to use
646variables in command invocations.
469 647
470@node Globbing 648@item $#var
471@section Globbing 649Expands to the length of the value bound to @code{var}. Raises an error
650if the value is not a sequence (@pxref{Sequences Arrays and Vectors, Sequences, , elisp}).
472 651
473@node Predicates 652@item $(lisp)
474@section Predicates 653Expands to the result of evaluating the S-expression @code{(lisp)}. On
654its own, this is identical to just @code{(lisp)}, but with the @code{$},
655it can be used in a string, such as @samp{/some/path/$(lisp).txt}.
475 656
657@item $@{command@}
658Returns the output of @command{command}, which can be any valid Eshell
659command invocation, and may even contain expansions.
476 660
477@node Input/Output 661@item $var[i]
478@chapter Input/Output 662Expands to the @code{i}th element of the value bound to @code{var}. If
663the value is a string, it will be split at whitespace to make it a list.
664Again, raises an error if the value is not a sequence.
665
666@item $var[: i]
667As above, but now splitting occurs at the colon character.
479 668
480@node Process control 669@item $var[: i j]
481@chapter Process control 670As above, but instead of returning just a string, it now returns a list
671of two strings. If the result is being interpolated into a larger
672string, this list will be flattened into one big string, with each
673element separated by a space.
482 674
675@item $var["\\\\" i]
676Separate on backslash characters. Actually, the first argument -- if it
677doesn't have the form of a number, or a plain variable name -- can be
678any regular expression. So to split on numbers, use @samp{$var["[0-9]+" 10 20]}.
679
680@item $var[hello]
681Calls @code{assoc} on @code{var} with @code{"hello"}, expecting it to be
682an alist (@pxref{Association List Type, Association Lists, , elisp}).
683
684@item $#var[hello]
685Returns the length of the cdr of the element of @code{var} who car is equal
686to @code{"hello"}.
687
688@end table
689
690@node Globbing
691@section Globbing
692Eshell's globbing syntax is very similar to that of Zsh. Users coming
693from Bash can still use Bash-style globbing, as there are no
694incompatibilities. Most globbing is pattern-based expansion, but there
695is also predicate-based expansion. See @ref{Filename Generation, , , zsh}
696for full syntax. To customize the syntax and behaviour of globbing in
697Eshell see the Customize@footnote{@xref{Customization Settings, Customize, , elisp}.}
698groups ``eshell-glob'' and ``eshell-pred''.
699
700@node Input/Output
701@chapter Input/Output
702Since Eshell does not communicate with a terminal like most command
703shells, IO is a little different. If you try to run programs from
704within Eshell that are not line-oriented, such as programs that use
705ncurses, you will just get garbage output, since the Eshell buffer is
706not a terminal emulator. Eshell solves this problem by running
707specified commands in Emacs's terminal emulator; to let Eshell know
708which commands need to be run in a terminal, add them to the list
709@var{eshell-visual-commands}.
710
711Redirection is mostly the same in Eshell as it is in other command
712shells. The output redirection operators @code{>} and @code{>>} as
713well as pipes are supported, but there is not yet any support for
714input redirection. Output can also be redirected to buffers, using
715the @code{>>>} redirection operator, and Elisp functions, using
716virtual devices.
717
718The buffer redirection operator, @code{>>>}, expects a buffer object
719on the right-hand side, into which it inserts the output of the
720left-hand side. e.g., @samp{echo hello >>> #<buffer *scratch*>}
721inserts the string @code{"hello"} into the @code{*scratch*} buffer.
722
723@var{eshell-virtual-targets} is a list of mappings of virtual device
724names to functions. Eshell comes with two virtual devices:
725@file{/dev/kill}, which sends the text to the kill ring, and
726@file{/dev/clip}, which sends text to the clipboard.
727
728You can, of course, define your own virtual targets. They are defined
729by adding a list of the form @code{("/dev/name" function mode)} to
730@var{eshell-virtual-targets}. The first element is the device name;
731@code{function} may be either a lambda or a function name. If
732@code{mode} is nil, then the function is the output function; if it is
733non-nil, then the function is passed the redirection mode as a
734symbol--@code{overwrite} for @code{>}, @code{append} for @code{>>}, or
735@code{insert} for @code{>>>}--and the function is expected to return
736the output function.
737
738The output function is called once on each line of output until
739@code{nil} is passed, indicating end of output.
483 740
484@node Extension modules 741@node Extension modules
485@chapter Extension modules 742@chapter Extension modules
743Eshell provides a facility for defining extension modules so that they
744can be disabled and enabled without having to unload and reload them,
745and to provide a common parent Customize group for the
746modules.@footnote{ERC provides a similar module facility.} An Eshell
747module is defined the same as any other library but one requirement: the
748module must define a Customize@footnote{@xref{Customization Settings, Customize, , elisp}.}
749group using @code{eshell-defgroup} (in place of @code{defgroup}) with
750@code{eshell-module} as the parent group.@footnote{If the module has
751no user-customizable options, then there is no need to define it as an
752Eshell module.} You also need to load the following as shown:
753
754@example
755(eval-when-compile
756 (require 'cl)
757 (require 'esh-mode)
758 (require 'eshell))
759
760(require 'esh-util)
761@end example
486 762
487@menu 763@menu
488* Writing a module:: 764* Writing a module::
@@ -491,7 +767,6 @@ Example:
491* Key rebinding:: 767* Key rebinding::
492* Smart scrolling:: 768* Smart scrolling::
493* Terminal emulation:: 769* Terminal emulation::
494* Built-in UNIX commands::
495@end menu 770@end menu
496 771
497@node Writing a module 772@node Writing a module
@@ -512,13 +787,6 @@ Example:
512@node Terminal emulation 787@node Terminal emulation
513@section Terminal emulation 788@section Terminal emulation
514 789
515@node Built-in UNIX commands
516@section Built-in UNIX commands
517
518
519@node Extras and Goodies
520@chapter Extras and Goodies
521
522@node Bugs and ideas 790@node Bugs and ideas
523@chapter Bugs and ideas 791@chapter Bugs and ideas
524@cindex reporting bugs and ideas 792@cindex reporting bugs and ideas
@@ -527,6 +795,8 @@ Example:
527@cindex email to the author 795@cindex email to the author
528@cindex FAQ 796@cindex FAQ
529@cindex problems, list of common 797@cindex problems, list of common
798@cindex known bugs
799@cindex bugs, known
530 800
531If you find a bug or misfeature, don't hesitate to let me know! Send 801If you find a bug or misfeature, don't hesitate to let me know! Send
532email to @email{johnw@@gnu.org}. Feature requests should also be sent 802email to @email{johnw@@gnu.org}. Feature requests should also be sent
@@ -537,16 +807,7 @@ If you have ideas for improvements, or if you have written some
537extensions to this package, I would like to hear from you. I hope you 807extensions to this package, I would like to hear from you. I hope you
538find this package useful! 808find this package useful!
539 809
540@menu 810Below is a complete list of known problems with Eshell version 2.4.2,
541* Known problems::
542@end menu
543
544@node Known problems
545@section Known problems
546@cindex known bugs
547@cindex bugs, known
548
549Below is complete list of known problems with Eshell version 2.4.2,
550which is the version included with Emacs 22. 811which is the version included with Emacs 22.
551 812
552@table @asis 813@table @asis
@@ -554,7 +815,7 @@ which is the version included with Emacs 22.
554 815
555@item Differentiate between aliases and functions 816@item Differentiate between aliases and functions
556 817
557Allow for a bash-compatible syntax, such as: 818Allow for a Bash-compatible syntax, such as:
558 819
559@example 820@example
560alias arg=blah 821alias arg=blah
@@ -838,7 +1099,7 @@ them; @code{min} would display the smallest figure, etc.
838It would provide syntax, abbrev, highlighting and indenting support like 1099It would provide syntax, abbrev, highlighting and indenting support like
839@code{emacs-lisp-mode} and @code{shell-mode}. 1100@code{emacs-lisp-mode} and @code{shell-mode}.
840 1101
841@item In the history mechanism, finish the @command{bash}-style support 1102@item In the history mechanism, finish the Bash-style support
842 1103
843This means @samp{!n}, @samp{!#}, @samp{!:%}, and @samp{!:1-} as separate 1104This means @samp{!n}, @samp{!#}, @samp{!:%}, and @samp{!:1-} as separate
844from @samp{!:1*}. 1105from @samp{!:1*}.
@@ -904,7 +1165,7 @@ it).
904@item Make the shell spawning commands be visual 1165@item Make the shell spawning commands be visual
905 1166
906That is, make (@command{su}, @command{bash}, @command{telnet}, 1167That is, make (@command{su}, @command{bash}, @command{telnet},
907@command{rlogin}, @command{rsh}, etc.) be part of 1168@command{rlogin}, @command{rsh}, etc.)@: be part of
908@code{eshell-visual-commands}. The only exception is if the shell is 1169@code{eshell-visual-commands}. The only exception is if the shell is
909being used to invoke a single command. Then, the behavior should be 1170being used to invoke a single command. Then, the behavior should be
910based on what that command is. 1171based on what that command is.
@@ -1008,6 +1269,11 @@ Since it keeps the cursor up where the command was invoked.
1008 1269
1009@printindex fn 1270@printindex fn
1010 1271
1272@node Command Index
1273@unnumbered Command Index
1274
1275@printindex cm
1276
1011@node Key Index 1277@node Key Index
1012@unnumbered Key Index 1278@unnumbered Key Index
1013 1279
diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi
index 8f3c0c2d623..18e3340a474 100644
--- a/doc/misc/faq.texi
+++ b/doc/misc/faq.texi
@@ -58,8 +58,7 @@ distribution.]
58@node Top, FAQ notation, (dir), (dir) 58@node Top, FAQ notation, (dir), (dir)
59@top The GNU Emacs FAQ 59@top The GNU Emacs FAQ
60 60
61@c FIXME @today is just the day we ran `makeinfo'. 61This is the GNU Emacs FAQ.
62This is the GNU Emacs FAQ, last updated on @today{}.
63 62
64This FAQ is maintained as a part of GNU Emacs. If you find any errors, 63This FAQ is maintained as a part of GNU Emacs. If you find any errors,
65or have any suggestions, please use @kbd{M-x report-emacs-bug} to report 64or have any suggestions, please use @kbd{M-x report-emacs-bug} to report
@@ -1909,7 +1908,7 @@ following line to your @file{.emacs}:
1909where @var{syntactic-symbol} is the name Emacs shows in the minibuffer 1908where @var{syntactic-symbol} is the name Emacs shows in the minibuffer
1910when you type @kbd{C-c C-o} at the beginning of the line, and 1909when you type @kbd{C-c C-o} at the beginning of the line, and
1911@var{offset} is one of the indentation symbols listed above (@code{+}, 1910@var{offset} is one of the indentation symbols listed above (@code{+},
1912@code{/}, @code{0}, etc.) that you've chosen during the interactive 1911@code{/}, @code{0}, etc.)@: that you've chosen during the interactive
1913procedure. 1912procedure.
1914 1913
1915@item 1914@item
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi
index 1807f108e3b..5dedda16ee1 100644
--- a/doc/misc/flymake.texi
+++ b/doc/misc/flymake.texi
@@ -64,7 +64,7 @@ modify this GNU manual.''
64 64
65Flymake is a universal on-the-fly syntax checker implemented as an 65Flymake is a universal on-the-fly syntax checker implemented as an
66Emacs minor mode. Flymake runs the pre-configured syntax check tool 66Emacs minor mode. Flymake runs the pre-configured syntax check tool
67(compiler for C++ files, @code{perl} for perl files, etc.) in the 67(compiler for C++ files, @code{perl} for perl files, etc.)@: in the
68background, passing it a temporary copy of the current buffer, and 68background, passing it a temporary copy of the current buffer, and
69parses the output for known error/warning message patterns. Flymake 69parses the output for known error/warning message patterns. Flymake
70then highlights erroneous lines (i.e., lines for which at least one 70then highlights erroneous lines (i.e., lines for which at least one
@@ -210,14 +210,14 @@ The following statuses are defined.
210@multitable @columnfractions 0.25 0.75 210@multitable @columnfractions 0.25 0.75
211@item Flymake* or Flymake:E/W* 211@item Flymake* or Flymake:E/W*
212@tab Flymake is currently running. For the second case, E/W contains the 212@tab Flymake is currently running. For the second case, E/W contains the
213 error and warning count for the previous run. 213error and warning count for the previous run.
214 214
215@item Flymake 215@item Flymake
216@tab Syntax check is not running. Usually this means syntax check was 216@tab Syntax check is not running. Usually this means syntax check was
217 successfully passed (no errors, no warnings). Other possibilities are: 217successfully passed (no errors, no warnings). Other possibilities are:
218 syntax check was killed as a result of executing 218syntax check was killed as a result of executing
219 @code{flymake-compile}, or syntax check cannot start as compilation 219@code{flymake-compile}, or syntax check cannot start as compilation
220 is currently in progress. 220is currently in progress.
221 221
222@item Flymake:E/W 222@item Flymake:E/W
223@tab Number of errors/warnings found by the syntax check process. 223@tab Number of errors/warnings found by the syntax check process.
@@ -232,9 +232,9 @@ OFF for the buffer.
232@multitable @columnfractions 0.25 0.75 232@multitable @columnfractions 0.25 0.75
233@item CFGERR 233@item CFGERR
234@tab Syntax check process returned nonzero exit code, but no 234@tab Syntax check process returned nonzero exit code, but no
235 errors/warnings were reported. This indicates a possible configuration 235errors/warnings were reported. This indicates a possible configuration
236 error (for example, no suitable error message patterns for the 236error (for example, no suitable error message patterns for the
237 syntax check tool). 237syntax check tool).
238 238
239@item NOMASTER 239@item NOMASTER
240@tab Flymake was unable to find master file for the current buffer. 240@tab Flymake was unable to find master file for the current buffer.
@@ -569,7 +569,7 @@ These modes are handled inside init/cleanup/getfname functions, see
569Flymake contains implementations of all functionality required to 569Flymake contains implementations of all functionality required to
570support different syntax check modes described above (making temporary 570support different syntax check modes described above (making temporary
571copies, finding master files, etc.), as well as some tool-specific 571copies, finding master files, etc.), as well as some tool-specific
572(routines for Make, Ant, etc.) code. 572(routines for Make, Ant, etc.)@: code.
573 573
574 574
575@node Making a temporary copy 575@node Making a temporary copy
diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi
index 43ffab26c9b..17b117be961 100644
--- a/doc/misc/forms.texi
+++ b/doc/misc/forms.texi
@@ -117,7 +117,7 @@ they make up a forms.
117 117
118The contents of the forms consist of the contents of the fields of the 118The contents of the forms consist of the contents of the fields of the
119record (e.g., @samp{root}, @samp{0}, @samp{1}, @samp{Super User}) 119record (e.g., @samp{root}, @samp{0}, @samp{1}, @samp{Super User})
120interspersed with normal text (e.g @samp{User : }, @samp{Uid: }). 120interspersed with normal text (e.g., @samp{User : }, @samp{Uid: }).
121 121
122If you modify the contents of the fields, Forms mode will analyze your 122If you modify the contents of the fields, Forms mode will analyze your
123changes and update the file appropriately. You cannot modify the 123changes and update the file appropriately. You cannot modify the
diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi
index 15393ad8032..4e5855627b8 100644
--- a/doc/misc/gnus-coding.texi
+++ b/doc/misc/gnus-coding.texi
@@ -387,5 +387,5 @@ changed.
387 387
388@c Local Variables: 388@c Local Variables:
389@c mode: texinfo 389@c mode: texinfo
390@c coding: iso-8859-1 390@c coding: utf-8
391@c End: 391@c End:
diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi
index 2a1f5ac2cc1..cb900626670 100644
--- a/doc/misc/gnus-faq.texi
+++ b/doc/misc/gnus-faq.texi
@@ -3,8 +3,8 @@
3@c %**start of header 3@c %**start of header
4@c Copyright (C) 1995, 2001-2013 Free Software Foundation, Inc. 4@c Copyright (C) 1995, 2001-2013 Free Software Foundation, Inc.
5@c 5@c
6@setfilename gnus-faq.info 6@c @setfilename gnus-faq.info
7@settitle Frequently Asked Questions 7@c @settitle Frequently Asked Questions
8@c %**end of header 8@c %**end of header
9@c 9@c
10 10
@@ -41,7 +41,7 @@ Please submit features and suggestions to the
41@email{ding@@gnus.org, ding list}. 41@email{ding@@gnus.org, ding list}.
42 42
43@node FAQ - Changes 43@node FAQ - Changes
44@subheading Changes 44@subsection Changes
45 45
46 46
47 47
@@ -57,7 +57,7 @@ reference to discontinued service.
57@end itemize 57@end itemize
58 58
59@node FAQ - Introduction 59@node FAQ - Introduction
60@subheading Introduction 60@subsection Introduction
61 61
62This is the Gnus Frequently Asked Questions list. 62This is the Gnus Frequently Asked Questions list.
63 63
@@ -705,32 +705,9 @@ retrieves via POP3?
705 705
706@subsubheading Answer 706@subsubheading Answer
707 707
708First of all, that's not the way POP3 is intended to work, 708Yes, if the POP3 server supports the UIDL control (maybe almost servers
709if you have the possibility, you should use the IMAP 709do it nowadays). To do that, add a @code{:leave VALUE} pair to each
710Protocol if you want your messages to stay on the 710POP3 mail source. See @pxref{Mail Source Specifiers} for VALUE.
711server. Nevertheless there might be situations where you
712need the feature, but sadly Gnus itself has no predefined
713functionality to do so.
714
715However this is Gnus county so there are possibilities to
716achieve what you want. The easiest way is to get an external
717program which retrieves copies of the mail and stores them
718on disk, so Gnus can read it from there. On Unix systems you
719could use, e.g., fetchmail for this, on MS Windows you can use
720Hamster, an excellent local news and mail server.
721
722The other solution would be, to replace the method Gnus
723uses to get mail from POP3 servers by one which is capable
724of leaving the mail on the server. If you use XEmacs, get
725the package mail-lib, it includes an enhanced pop3.el,
726look in the file, there's documentation on how to tell
727Gnus to use it and not to delete the retrieved mail. For
728GNU Emacs look for the file epop3.el which can do the same
729(If you know the home of this file, please send me an
730e-mail). You can also tell Gnus to use an external program
731(e.g., fetchmail) to fetch your mail, see the info node
732"Mail Source Specifiers" in the Gnus manual on how to do
733it.
734 711
735@node FAQ 4 - Reading messages 712@node FAQ 4 - Reading messages
736@subsection Reading messages 713@subsection Reading messages
@@ -1218,7 +1195,7 @@ from using them):
1218 messages? 1195 messages?
1219* FAQ 5-3:: How to set stuff like From, Organization, Reply-To, 1196* FAQ 5-3:: How to set stuff like From, Organization, Reply-To,
1220 signature...? 1197 signature...?
1221* FAQ 5-4:: Can I set things like From, Signature etc group based on 1198* FAQ 5-4:: Can I set things like From, Signature etc. group based on
1222 the group I post too? 1199 the group I post too?
1223* FAQ 5-5:: Is there a spell-checker? Perhaps even on-the-fly 1200* FAQ 5-5:: Is there a spell-checker? Perhaps even on-the-fly
1224 spell-checking? 1201 spell-checking?
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index b5029e5d6a8..983887d721d 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -2348,8 +2348,8 @@ Gnus considers groups from levels 1 to
2348unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead) 2348unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead)
2349(default 8) and @code{gnus-level-killed} to be killed (completely dead) 2349(default 8) and @code{gnus-level-killed} to be killed (completely dead)
2350(default 9). Gnus treats subscribed and unsubscribed groups exactly the 2350(default 9). Gnus treats subscribed and unsubscribed groups exactly the
2351same, but zombie and killed groups have no information on what articles 2351same, but zombie and killed groups store no information on what articles
2352you have read, etc, stored. This distinction between dead and living 2352you have read, etc. This distinction between dead and living
2353groups isn't done because it is nice or clever, it is done purely for 2353groups isn't done because it is nice or clever, it is done purely for
2354reasons of efficiency. 2354reasons of efficiency.
2355 2355
@@ -11140,7 +11140,7 @@ There will never be more than one dead summary buffer at any one time.
11140 11140
11141@vindex gnus-use-cross-reference 11141@vindex gnus-use-cross-reference
11142The data on the current group will be updated (which articles you have 11142The data on the current group will be updated (which articles you have
11143read, which articles you have replied to, etc.) when you exit the 11143read, which articles you have replied to, etc.)@: when you exit the
11144summary buffer. If the @code{gnus-use-cross-reference} variable is 11144summary buffer. If the @code{gnus-use-cross-reference} variable is
11145@code{t} (which is the default), articles that are cross-referenced to 11145@code{t} (which is the default), articles that are cross-referenced to
11146this group and are marked as read, will also be marked as read in the 11146this group and are marked as read, will also be marked as read in the
@@ -14022,7 +14022,7 @@ The address of the @acronym{NNTP} server.
14022Port number to connect to the @acronym{NNTP} server. The default is 14022Port number to connect to the @acronym{NNTP} server. The default is
14023@samp{nntp}. If you use @acronym{NNTP} over 14023@samp{nntp}. If you use @acronym{NNTP} over
14024@acronym{TLS}/@acronym{SSL}, you may want to use integer ports rather 14024@acronym{TLS}/@acronym{SSL}, you may want to use integer ports rather
14025than named ports (i.e, use @samp{563} instead of @samp{snews} or 14025than named ports (i.e., use @samp{563} instead of @samp{snews} or
14026@samp{nntps}), because external @acronym{TLS}/@acronym{SSL} tools may 14026@samp{nntps}), because external @acronym{TLS}/@acronym{SSL} tools may
14027not work with named ports. 14027not work with named ports.
14028 14028
@@ -14541,6 +14541,7 @@ maildir, for instance.
14541 14541
14542@menu 14542@menu
14543* Mail Source Specifiers:: How to specify what a mail source is. 14543* Mail Source Specifiers:: How to specify what a mail source is.
14544* Mail Source Functions::
14544* Mail Source Customization:: Some variables that influence things. 14545* Mail Source Customization:: Some variables that influence things.
14545* Fetching Mail:: Using the mail source specifiers. 14546* Fetching Mail:: Using the mail source specifiers.
14546@end menu 14547@end menu
@@ -15000,6 +15001,7 @@ useful when you use local mail and news.
15000@end table 15001@end table
15001@end table 15002@end table
15002 15003
15004@node Mail Source Functions
15003@subsubsection Function Interface 15005@subsubsection Function Interface
15004 15006
15005Some of the above keywords specify a Lisp function to be executed. 15007Some of the above keywords specify a Lisp function to be executed.
@@ -16068,6 +16070,10 @@ Spool}).
16068* Mail Spool:: Store your mail in a private spool? 16070* Mail Spool:: Store your mail in a private spool?
16069* MH Spool:: An mhspool-like back end. 16071* MH Spool:: An mhspool-like back end.
16070* Maildir:: Another one-file-per-message format. 16072* Maildir:: Another one-file-per-message format.
16073* nnmaildir Group Parameters::
16074* Article Identification::
16075* NOV Data::
16076* Article Marks::
16071* Mail Folders:: Having one file for each group. 16077* Mail Folders:: Having one file for each group.
16072* Comparing Mail Back Ends:: An in-depth looks at pros and cons. 16078* Comparing Mail Back Ends:: An in-depth looks at pros and cons.
16073@end menu 16079@end menu
@@ -16375,6 +16381,7 @@ different in the future. If your split rules create new groups,
16375remember to supply a @code{create-directory} server parameter. 16381remember to supply a @code{create-directory} server parameter.
16376@end table 16382@end table
16377 16383
16384@node nnmaildir Group Parameters
16378@subsubsection Group parameters 16385@subsubsection Group parameters
16379 16386
16380@code{nnmaildir} uses several group parameters. It's safe to ignore 16387@code{nnmaildir} uses several group parameters. It's safe to ignore
@@ -16485,6 +16492,7 @@ that are either marked with @code{tick} or not marked with
16485@code{read}, plus a little extra. 16492@code{read}, plus a little extra.
16486@end table 16493@end table
16487 16494
16495@node Article Identification
16488@subsubsection Article identification 16496@subsubsection Article identification
16489Articles are stored in the @file{cur/} subdirectory of each maildir. 16497Articles are stored in the @file{cur/} subdirectory of each maildir.
16490Each article file is named like @code{uniq:info}, where @code{uniq} 16498Each article file is named like @code{uniq:info}, where @code{uniq}
@@ -16497,6 +16505,7 @@ about the corresponding article. The full pathname of an article is
16497available in the variable @code{nnmaildir-article-file-name} after you 16505available in the variable @code{nnmaildir-article-file-name} after you
16498request the article in the summary buffer. 16506request the article in the summary buffer.
16499 16507
16508@node NOV Data
16500@subsubsection NOV data 16509@subsubsection NOV data
16501An article identified by @code{uniq} has its @acronym{NOV} data (used 16510An article identified by @code{uniq} has its @acronym{NOV} data (used
16502to generate lines in the summary buffer) stored in 16511to generate lines in the summary buffer) stored in
@@ -16510,6 +16519,7 @@ file, but @emph{beware}: this will also cause @code{nnmaildir} to
16510assign a new article number for this article, which may cause trouble 16519assign a new article number for this article, which may cause trouble
16511with @code{seen} marks, the Agent, and the cache. 16520with @code{seen} marks, the Agent, and the cache.
16512 16521
16522@node Article Marks
16513@subsubsection Article marks 16523@subsubsection Article marks
16514An article identified by @code{uniq} is considered to have the mark 16524An article identified by @code{uniq} is considered to have the mark
16515@code{flag} when the file @file{.nnmaildir/marks/flag/uniq} exists. 16525@code{flag} when the file @file{.nnmaildir/marks/flag/uniq} exists.
@@ -19019,7 +19029,7 @@ agent as unread.
19019@subsection Agent and flags 19029@subsection Agent and flags
19020 19030
19021The Agent works with any Gnus back end including those, such as 19031The Agent works with any Gnus back end including those, such as
19022nnimap, that store flags (read, ticked, etc) on the server. Sadly, 19032nnimap, that store flags (read, ticked, etc.)@: on the server. Sadly,
19023the Agent does not actually know which backends keep their flags in 19033the Agent does not actually know which backends keep their flags in
19024the backend server rather than in @file{.newsrc}. This means that the 19034the backend server rather than in @file{.newsrc}. This means that the
19025Agent, while unplugged or disconnected, will always record all changes 19035Agent, while unplugged or disconnected, will always record all changes
@@ -19995,7 +20005,7 @@ the article was posted from. Time zones are such wholesome fun for the
19995whole family, eh?) 20005whole family, eh?)
19996 20006
19997@item Head, Body, All 20007@item Head, Body, All
19998These three match keys use the same match types as the @code{From} (etc) 20008These three match keys use the same match types as the @code{From} (etc.)@:
19999header uses. 20009header uses.
20000 20010
20001@item Followup 20011@item Followup
@@ -23816,7 +23826,7 @@ from Bulgarian IPs.
23816 23826
23817This, unfortunately, is a great way to discard legitimate e-mail. The 23827This, unfortunately, is a great way to discard legitimate e-mail. The
23818risks of blocking a whole country (Bulgaria, Norway, Nigeria, China, 23828risks of blocking a whole country (Bulgaria, Norway, Nigeria, China,
23819etc.) or even a continent (Asia, Africa, Europe, etc.) from contacting 23829etc.)@: or even a continent (Asia, Africa, Europe, etc.)@: from contacting
23820you should be obvious, so don't do it if you have the choice. 23830you should be obvious, so don't do it if you have the choice.
23821 23831
23822In another instance, the very informative and useful RISKS digest has 23832In another instance, the very informative and useful RISKS digest has
@@ -25850,8 +25860,8 @@ of all messages matching a particular set of criteria.
25850 25860
25851@menu 25861@menu
25852* Gnus Registry Setup:: 25862* Gnus Registry Setup::
25853* Fancy splitting to parent::
25854* Registry Article Refer Method:: 25863* Registry Article Refer Method::
25864* Fancy splitting to parent::
25855* Store custom flags and keywords:: 25865* Store custom flags and keywords::
25856* Store arbitrary data:: 25866* Store arbitrary data::
25857@end menu 25867@end menu
@@ -25869,7 +25879,7 @@ Fortunately, setting up the Gnus registry is pretty easy:
25869 25879
25870This adds registry saves to Gnus newsrc saves (which happen on exit 25880This adds registry saves to Gnus newsrc saves (which happen on exit
25871and when you press @kbd{s} from the @code{*Group*} buffer. It also 25881and when you press @kbd{s} from the @code{*Group*} buffer. It also
25872adds registry calls to article actions in Gnus (copy, move, etc.) so 25882adds registry calls to article actions in Gnus (copy, move, etc.)@: so
25873it's not easy to undo the initialization. See 25883it's not easy to undo the initialization. See
25874@code{gnus-registry-initialize} for the gory details. 25884@code{gnus-registry-initialize} for the gory details.
25875 25885
@@ -27946,7 +27956,7 @@ consist of a little new content at the top with a long, untrimmed
27946message cited below. 27956message cited below.
27947 27957
27948@item 27958@item
27949Smileys (@samp{:-)}, @samp{;-)} etc) are now displayed graphically in 27959Smileys (@samp{:-)}, @samp{;-)} etc.)@: are now displayed graphically in
27950Emacs too. 27960Emacs too.
27951 27961
27952Put @code{(setq gnus-treat-display-smileys nil)} in @file{~/.gnus.el} to 27962Put @code{(setq gnus-treat-display-smileys nil)} in @file{~/.gnus.el} to
@@ -28552,7 +28562,7 @@ A mail message or news article
28552 28562
28553@item head 28563@item head
28554@cindex head 28564@cindex head
28555The top part of a message, where administrative information (etc.) is 28565The top part of a message, where administrative information (etc.)@: is
28556put. 28566put.
28557 28567
28558@item body 28568@item body
@@ -29501,7 +29511,7 @@ There should be no result data from this function.
29501@item (nnchoke-request-set-mark GROUP ACTION &optional SERVER) 29511@item (nnchoke-request-set-mark GROUP ACTION &optional SERVER)
29502 29512
29503Set/remove/add marks on articles. Normally Gnus handles the article 29513Set/remove/add marks on articles. Normally Gnus handles the article
29504marks (such as read, ticked, expired etc) internally, and store them in 29514marks (such as read, ticked, expired etc.)@: internally, and store them in
29505@file{~/.newsrc.eld}. Some back ends (such as @acronym{IMAP}) however carry 29515@file{~/.newsrc.eld}. Some back ends (such as @acronym{IMAP}) however carry
29506all information about the articles on the server, so Gnus need to 29516all information about the articles on the server, so Gnus need to
29507propagate the mark information to the server. 29517propagate the mark information to the server.
diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi
index 6cb8942bf15..e45234872e2 100644
--- a/doc/misc/htmlfontify.texi
+++ b/doc/misc/htmlfontify.texi
@@ -123,8 +123,8 @@ reproduces the look of the current Emacs buffer as closely as possible.
123entities, so you should even be able to do html-within-html fontified 123entities, so you should even be able to do html-within-html fontified
124display. 124display.
125 125
126You should, however, note that random control or eight-bit characters 126You should, however, note that random control or non-ASCII characters
127such as ^L (\x0c) or ¤ (\xa4) won't get mapped yet. 127such as ^L (\x0c) or ¤ (\xa4) won't get mapped yet.
128 128
129If the @var{srcdir} and @var{file} arguments are set, lookup etags 129If the @var{srcdir} and @var{file} arguments are set, lookup etags
130derived entries in the @ref{hfy-tags-cache} and add html anchors 130derived entries in the @ref{hfy-tags-cache} and add html anchors
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi
index a756cc6b6c6..a432d4dc14a 100644
--- a/doc/misc/idlwave.texi
+++ b/doc/misc/idlwave.texi
@@ -2182,8 +2182,8 @@ operators (outside of strings and comments, of course), try this in
2182@end lisp 2182@end lisp
2183 2183
2184Note that the modified assignment operators which begin with a word 2184Note that the modified assignment operators which begin with a word
2185(@samp{AND=}, @samp{OR=}, @samp{NOT=}, etc.) require a leading space to 2185(@samp{AND=}, @samp{OR=}, @samp{NOT=}, etc.)@: require a leading space to
2186be recognized (e.g @code{vAND=4} would be interpreted as a variable 2186be recognized (e.g., @code{vAND=4} would be interpreted as a variable
2187@code{vAND}). Also note that since, e.g., @code{>} and @code{>=} are 2187@code{vAND}). Also note that since, e.g., @code{>} and @code{>=} are
2188both valid operators, it is impossible to surround both by blanks while 2188both valid operators, it is impossible to surround both by blanks while
2189they are being typed. Similarly with @code{&} and @code{&&}. For 2189they are being typed. Similarly with @code{&} and @code{&&}. For
@@ -2195,7 +2195,7 @@ repad everything if @code{idlwave-do-actions} is on).
2195@defopt idlwave-surround-by-blank (@code{nil}) 2195@defopt idlwave-surround-by-blank (@code{nil})
2196Non-@code{nil} means enable @code{idlwave-surround}. If non-@code{nil}, 2196Non-@code{nil} means enable @code{idlwave-surround}. If non-@code{nil},
2197@samp{=}, @samp{<}, @samp{>}, @samp{&}, @samp{,}, @samp{->}, and the 2197@samp{=}, @samp{<}, @samp{>}, @samp{&}, @samp{,}, @samp{->}, and the
2198modified assignment operators (@samp{AND=}, @samp{OR=}, etc.) are 2198modified assignment operators (@samp{AND=}, @samp{OR=}, etc.)@: are
2199surrounded with spaces by @code{idlwave-surround}. 2199surrounded with spaces by @code{idlwave-surround}.
2200@end defopt 2200@end defopt
2201 2201
diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi
index ff5b2ca6748..73a1294d28d 100644
--- a/doc/misc/mairix-el.texi
+++ b/doc/misc/mairix-el.texi
@@ -3,7 +3,7 @@
3@setfilename ../../info/mairix-el 3@setfilename ../../info/mairix-el
4@settitle Emacs Interface for Mairix 4@settitle Emacs Interface for Mairix
5 5
6@documentencoding ISO-8859-1 6@documentencoding UTF-8
7 7
8@copying 8@copying
9Copyright @copyright{} 2008--2013 Free Software Foundation, Inc. 9Copyright @copyright{} 2008--2013 Free Software Foundation, Inc.
diff --git a/doc/misc/message.texi b/doc/misc/message.texi
index 0e0bd115bb2..a98c7e48e53 100644
--- a/doc/misc/message.texi
+++ b/doc/misc/message.texi
@@ -1817,17 +1817,14 @@ a string nor @code{nil}, use the user name only. However, it is highly
1817unlikely that you should need to fiddle with this variable at all. 1817unlikely that you should need to fiddle with this variable at all.
1818@end table 1818@end table
1819 1819
1820@findex yow
1821@cindex Mime-Version 1820@cindex Mime-Version
1822In addition, you can enter conses into this list. The @sc{car} of this cons 1821In addition, you can enter conses into this list. The @sc{car} of this cons
1823should be a symbol. This symbol's name is the name of the header, and 1822should be a symbol. This symbol's name is the name of the header, and
1824the @sc{cdr} can either be a string to be entered verbatim as the value of 1823the @sc{cdr} can either be a string to be entered verbatim as the value of
1825this header, or it can be a function to be called. This function should 1824this header, or it can be a function to be called. This function should
1826return a string to be inserted. For instance, if you want to insert 1825take no arguments, and return a string to be inserted. For
1827@code{Mime-Version: 1.0}, you should enter @code{(Mime-Version . "1.0")} 1826instance, if you want to insert @code{Mime-Version: 1.0}, you should
1828into the list. If you want to insert a funny quote, you could enter 1827enter @code{(Mime-Version . "1.0")} into the list.
1829something like @code{(X-Yow . yow)} into the list. The function
1830@code{yow} will then be called without any arguments.
1831 1828
1832If the list contains a cons where the @sc{car} of the cons is 1829If the list contains a cons where the @sc{car} of the cons is
1833@code{optional}, the @sc{cdr} of this cons will only be inserted if it is 1830@code{optional}, the @sc{cdr} of this cons will only be inserted if it is
@@ -2344,7 +2341,7 @@ Valid values include:
2344@table @code 2341@table @code
2345@item nil 2342@item nil
2346Generate the buffer name in the Message way (e.g., *mail*, *news*, *mail 2343Generate the buffer name in the Message way (e.g., *mail*, *news*, *mail
2347to whom*, *news on group*, etc.) and continue editing in the existing 2344to whom*, *news on group*, etc.)@: and continue editing in the existing
2348buffer of that name. If there is no such buffer, it will be newly 2345buffer of that name. If there is no such buffer, it will be newly
2349created. 2346created.
2350 2347
diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi
index 756d5d52996..154120f2e3b 100644
--- a/doc/misc/mh-e.texi
+++ b/doc/misc/mh-e.texi
@@ -1,4 +1,4 @@
1\input texinfo @c -*-texinfo-*- 1\input texinfo @c -*- mode: texinfo; coding: utf-8; -*-
2@c 2@c
3@c Note: This document requires makeinfo version 4.6 or greater to build. 3@c Note: This document requires makeinfo version 4.6 or greater to build.
4@c 4@c
@@ -8,12 +8,12 @@
8@c %**end of header 8@c %**end of header
9 9
10@c Version of the software and manual. 10@c Version of the software and manual.
11@set VERSION 8.4 11@set VERSION 8.5
12@c Edition of the manual. It is either empty for the first edition or 12@c Edition of the manual. It is either empty for the first edition or
13@c has the form ", nth Edition" (without the quotes). 13@c has the form ", nth Edition" (without the quotes).
14@set EDITION 14@set EDITION
15@set UPDATED 2012-11-25 15@set UPDATED 2013-03-02
16@set UPDATE-MONTH November, 2012 16@set UPDATE-MONTH March, 2013
17 17
18@c Other variables. 18@c Other variables.
19@set MH-BOOK-HOME http://rand-mh.sourceforge.net/book/mh 19@set MH-BOOK-HOME http://rand-mh.sourceforge.net/book/mh
@@ -236,7 +236,7 @@ read an online tutorial by starting GNU Emacs and typing @kbd{C-h t}
236@ref{top, , GNU Emacs Manual, emacs, GNU Emacs Manual}, 236@ref{top, , GNU Emacs Manual, emacs, GNU Emacs Manual},
237@end ifinfo 237@end ifinfo
238@ifhtml 238@ifhtml
239@uref{http://www.gnu.org/software/emacs/manual/html_node/, 239@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/,
240@cite{GNU Emacs Manual}}, 240@cite{GNU Emacs Manual}},
241@end ifhtml 241@end ifhtml
242from the Free Software Foundation. 242from the Free Software Foundation.
@@ -255,9 +255,9 @@ version is distributed with Emacs and can be accessed with the
255@command{info} command (@samp{info mh-e}) or within Emacs (@kbd{C-h i 255@command{info} command (@samp{info mh-e}) or within Emacs (@kbd{C-h i
256m mh-e @key{RET}}). The online version is available at 256m mh-e @key{RET}}). The online version is available at
257@uref{http://mh-e.sourceforge.net/manual/, SourceForge}. Another great 257@uref{http://mh-e.sourceforge.net/manual/, SourceForge}. Another great
258online resource is the book @uref{http://www.ics.uci.edu/~mh/book/, 258online resource is the book
259@cite{MH & nmh: Email for Users & Programmers}} (also known as 259@uref{http://rand-mh.sourceforge.net/book/, @cite{MH & nmh: Email for
260@dfn{the MH book}). 260Users & Programmers}} (also known as @dfn{the MH book}).
261 261
262I hope you enjoy this manual! If you have any comments, or suggestions 262I hope you enjoy this manual! If you have any comments, or suggestions
263for this document, please let me know. 263for this document, please let me know.
@@ -384,7 +384,7 @@ GNU Emacs Manual}.
384@end ifnothtml 384@end ifnothtml
385@ifhtml 385@ifhtml
386See section 386See section
387@uref{http://www.gnu.org/software/emacs/manual/html_node/Easy-Customization.html, 387@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Easy-Customization.html,
388Easy Customization} in @cite{The GNU Emacs Manual}. 388Easy Customization} in @cite{The GNU Emacs Manual}.
389@end ifhtml 389@end ifhtml
390@xref{Options}. 390@xref{Options}.
@@ -404,7 +404,7 @@ GNU Emacs Manual}.
404@end ifnothtml 404@end ifnothtml
405@ifhtml 405@ifhtml
406See section 406See section
407@uref{http://www.gnu.org/software/emacs/manual/html_node/Face-Customization.html, 407@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Face-Customization.html,
408Face Customization} in @cite{The GNU Emacs Manual}. 408Face Customization} in @cite{The GNU Emacs Manual}.
409@end ifhtml 409@end ifhtml
410 410
@@ -422,7 +422,7 @@ Emacs Manual}
422@end ifnothtml 422@end ifnothtml
423@ifhtml 423@ifhtml
424See section 424See section
425@uref{http://www.gnu.org/software/emacs/manual/html_node/Hooks.html, 425@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Hooks.html,
426Hooks} in @cite{The GNU Emacs Manual} 426Hooks} in @cite{The GNU Emacs Manual}
427@end ifhtml 427@end ifhtml
428for a description about @dfn{normal hooks} and @dfn{abnormal hooks}. 428for a description about @dfn{normal hooks} and @dfn{abnormal hooks}.
@@ -473,7 +473,7 @@ point.
473@end ifnothtml 473@end ifnothtml
474@ifhtml 474@ifhtml
475See the section 475See the section
476@uref{http://www.gnu.org/software/emacs/manual/html_node/Completion.html, 476@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion.html,
477Completion} in @cite{The GNU Emacs Manual}. 477Completion} in @cite{The GNU Emacs Manual}.
478@end ifhtml 478@end ifhtml
479Note that @key{SPC} cannot be used for completing filenames and 479Note that @key{SPC} cannot be used for completing filenames and
@@ -550,12 +550,12 @@ to install MH or tell MH-E where to find MH.
550@cindex GNU mailutils MH 550@cindex GNU mailutils MH
551 551
552If you don't have MH on your system already, you must install a 552If you don't have MH on your system already, you must install a
553variant of MH@. The Debian mh-e package does this for you automatically 553variant of MH@. The Debian mh-e package does this for you
554(@pxref{Getting MH-E}). Most people use 554automatically (@pxref{Getting MH-E}). Most people use
555@uref{http://www.nongnu.org/nmh/, nmh}, but you may be interested in 555@uref{http://www.nongnu.org/nmh/, nmh}, but you may be interested in
556trying out @uref{http://www.gnu.org/software/mailutils/, GNU mailutils 556trying out @uref{http://mailutils.org/, GNU mailutils MH}, which
557MH}, which supports IMAP@. Your GNU/Linux distribution probably has 557supports IMAP@. Your GNU/Linux distribution probably has packages for
558packages for both of these. 558both of these.
559 559
560@cindex @command{install-mh} 560@cindex @command{install-mh}
561@cindex MH commands, @command{install-mh} 561@cindex MH commands, @command{install-mh}
@@ -1121,27 +1121,27 @@ exist,
1121@footnote{The @cite{GNU Emacs Lisp Reference Manual} may be available 1121@footnote{The @cite{GNU Emacs Lisp Reference Manual} may be available
1122online in the Info system by typing @kbd{C-h i m Emacs Lisp 1122online in the Info system by typing @kbd{C-h i m Emacs Lisp
1123@key{RET}}. It is also available online at @* 1123@key{RET}}. It is also available online at @*
1124@uref{http://www.gnu.org/software/emacs/elisp-manual/html_node/}. You 1124@uref{http://www.gnu.org/savannah-checkouts/gnu/emacs/manual/html_node/elisp/}.
1125can also order a printed manual, which has the desirable side-effect 1125You can also order a printed manual, which has the desirable
1126of helping to support the Free Software Foundation which made all this 1126side-effect of helping to support the Free Software Foundation which
1127great software available. You can find an order form by running 1127made all this great software available. You can find an order form by
1128@kbd{C-h C-d}, or you can request an order form from @i{gnu at 1128running @kbd{C-h C-d}, or you can request an order form from @i{gnu at
1129gnu.org}.} 1129gnu.org}.}
1130@end iftex 1130@end iftex
1131@ifinfo 1131@ifinfo
1132@footnote{@xref{Top, The GNU Emacs Lisp Reference Manual, , elisp, GNU 1132@footnote{@xref{Top, The GNU Emacs Lisp Reference Manual, , elisp, GNU
1133Emacs Lisp Reference Manual}, which may be available online in the 1133Emacs Lisp Reference Manual}, which may be available online in the
1134Info system. It is also available online at 1134Info system. It is also available online at
1135@uref{http://www.gnu.org/software/emacs/elisp-manual/html_node/}. You 1135@uref{http://www.gnu.org/savannah-checkouts/gnu/emacs/manual/html_node/elisp/}.
1136can also order a printed manual, which has the desirable side-effect 1136You can also order a printed manual, which has the desirable
1137of helping to support the Free Software Foundation which made all this 1137side-effect of helping to support the Free Software Foundation which
1138great software available. You can find an order form by running 1138made all this great software available. You can find an order form by
1139@kbd{C-h C-d}, or you can request an order form from @i{gnu at 1139running @kbd{C-h C-d}, or you can request an order form from @i{gnu at
1140gnu.org}.} 1140gnu.org}.}
1141@end ifinfo 1141@end ifinfo
1142@ifhtml 1142@ifhtml
1143@footnote{The 1143@footnote{The
1144@uref{http://www.gnu.org/software/emacs/elisp-manual/html_node/, 1144@uref{http://www.gnu.org/savannah-checkouts/gnu/emacs/manual/html_node/elisp/,
1145The GNU Emacs Lisp Reference Manual} may also be available online in 1145The GNU Emacs Lisp Reference Manual} may also be available online in
1146the Info system by typing @kbd{C-h i m Emacs Lisp @key{RET}}. You can 1146the Info system by typing @kbd{C-h i m Emacs Lisp @key{RET}}. You can
1147also order a printed manual, which has the desirable side-effect of 1147also order a printed manual, which has the desirable side-effect of
@@ -1311,7 +1311,7 @@ When you choose a folder in MH-E via a command such as @kbd{o}
1311@end ifnothtml 1311@end ifnothtml
1312@ifhtml 1312@ifhtml
1313(see the section 1313(see the section
1314@uref{http://www.gnu.org/software/emacs/manual/html_node/Completion.html, 1314@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion.html,
1315Completion} in @cite{The GNU Emacs Manual}). 1315Completion} in @cite{The GNU Emacs Manual}).
1316@end ifhtml 1316@end ifhtml
1317In addition, MH-E has several ways of choosing a suitable default so 1317In addition, MH-E has several ways of choosing a suitable default so
@@ -2089,8 +2089,7 @@ expressions are not allowed. Unique fields should have a @samp{:}
2089suffix; otherwise, the element can be used to render invisible an 2089suffix; otherwise, the element can be used to render invisible an
2090entire class of fields that start with the same prefix. If you think a 2090entire class of fields that start with the same prefix. If you think a
2091header field should be generally ignored, please update 2091header field should be generally ignored, please update
2092@uref{https://sourceforge.net/tracker/index.php?func=detail&aid=1916032&group_id=13357&atid=113357, 2092@uref{https://sourceforge.net/p/mh-e/bugs/245/, SF #245}.
2093SF #1916032}.
2094 2093
2095@cindex header field, @samp{Face:} 2094@cindex header field, @samp{Face:}
2096@cindex header field, @samp{X-Face:} 2095@cindex header field, @samp{X-Face:}
@@ -2142,12 +2141,12 @@ Finally, MH-E will display images referenced by the
2142@samp{X-Face:} fields are present@footnote{The display of the images 2141@samp{X-Face:} fields are present@footnote{The display of the images
2143requires the @uref{http://www.gnu.org/software/wget/wget.html, 2142requires the @uref{http://www.gnu.org/software/wget/wget.html,
2144@command{wget} program} to fetch the image and the @command{convert} 2143@command{wget} program} to fetch the image and the @command{convert}
2145program from the @uref{http://www.imagemagick.org/, ImageMagick 2144program from the @uref{http://www.imagemagick.org/script/index.php,
2146suite}.}. Of the three header fields this is the most efficient in 2145ImageMagick suite}.}. Of the three header fields this is the most
2147terms of network usage since the image doesn't need to be transmitted 2146efficient in terms of network usage since the image doesn't need to be
2148with every single mail. The option @code{mh-fetch-x-image-url} 2147transmitted with every single mail. The option
2149controls the fetching of the @samp{X-Image-URL:} header field image 2148@code{mh-fetch-x-image-url} controls the fetching of the
2150with the following values: 2149@samp{X-Image-URL:} header field image with the following values:
2151 2150
2152@table @samp 2151@table @samp
2153@item Ask Before Fetching 2152@item Ask Before Fetching
@@ -4969,7 +4968,7 @@ Michael W Thelen <thelenm@@stop.mail-abuse.org> wrote:
4969The attribution consists of the sender's name and email address 4968The attribution consists of the sender's name and email address
4970followed by the content of the option 4969followed by the content of the option
4971@code{mh-extract-from-attribution-verb}. This option can be set to 4970@code{mh-extract-from-attribution-verb}. This option can be set to
4972@samp{wrote:}, @samp{a écrit:}, and @samp{schrieb:}. You can also use 4971@samp{wrote:}, @samp{a écrit:}, and @samp{schrieb:}. You can also use
4973the @samp{Custom String} menu item to enter your own verb. 4972the @samp{Custom String} menu item to enter your own verb.
4974 4973
4975@vindex mail-citation-hook 4974@vindex mail-citation-hook
@@ -6025,7 +6024,7 @@ GNU Emacs Manual}).
6025@end ifnothtml 6024@end ifnothtml
6026@ifhtml 6025@ifhtml
6027(see the section 6026(see the section
6028@uref{http://www.gnu.org/software/emacs/manual/html_node/Regexps.html, 6027@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexps.html,
6029Syntax of Regular Expressions} in 6028Syntax of Regular Expressions} in
6030@cite{The GNU Emacs Manual}). 6029@cite{The GNU Emacs Manual}).
6031@end ifhtml 6030@end ifhtml
@@ -6175,7 +6174,7 @@ GNU Emacs Manual}).
6175@end ifnothtml 6174@end ifnothtml
6176@ifhtml 6175@ifhtml
6177(see the section 6176(see the section
6178@uref{http://www.gnu.org/software/emacs/manual/html_node/Regexps.html, 6177@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexps.html,
6179Syntax of Regular Expressions} in 6178Syntax of Regular Expressions} in
6180@cite{The GNU Emacs Manual}). 6179@cite{The GNU Emacs Manual}).
6181@end ifhtml 6180@end ifhtml
@@ -6283,7 +6282,7 @@ You can also use the speedbar
6283@end ifnothtml 6282@end ifnothtml
6284@ifhtml 6283@ifhtml
6285(see the section 6284(see the section
6286@uref{http://www.gnu.org/software/emacs/manual/html_node/Speedbar.html, 6285@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Speedbar.html,
6287Speedbar Frames} in @cite{The GNU Emacs Manual}) 6286Speedbar Frames} in @cite{The GNU Emacs Manual})
6288@end ifhtml 6287@end ifhtml
6289to view your folders. To bring up the speedbar, run @kbd{M-x speedbar 6288to view your folders. To bring up the speedbar, run @kbd{M-x speedbar
@@ -6415,7 +6414,7 @@ For a description of the menu bar, please
6415@end ifnothtml 6414@end ifnothtml
6416@ifhtml 6415@ifhtml
6417see the section 6416see the section
6418@uref{http://www.gnu.org/software/emacs/manual/html_node/Menu-Bar.html, 6417@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Menu-Bar.html,
6419The Menu Bar} in @cite{The GNU Emacs Manual}. 6418The Menu Bar} in @cite{The GNU Emacs Manual}.
6420@end ifhtml 6419@end ifhtml
6421 6420
@@ -6437,7 +6436,7 @@ tool bar, please
6437@end ifnothtml 6436@end ifnothtml
6438@ifhtml 6437@ifhtml
6439see the section 6438see the section
6440@uref{http://www.gnu.org/software/emacs/manual/html_node/Tool-Bars.html, 6439@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Tool-Bars.html,
6441Tool Bars} in @cite{The GNU Emacs Manual}. 6440Tool Bars} in @cite{The GNU Emacs Manual}.
6442@end ifhtml 6441@end ifhtml
6443 6442
@@ -8219,7 +8218,7 @@ GNU Emacs Manual}.
8219@end ifnothtml 8218@end ifnothtml
8220@ifhtml 8219@ifhtml
8221section 8220section
8222@uref{http://www.gnu.org/software/emacs/manual/html_node/Regexps.html, 8221@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexps.html,
8223Syntax of Regular Expressions} in @cite{The GNU Emacs Manual}. 8222Syntax of Regular Expressions} in @cite{The GNU Emacs Manual}.
8224@end ifhtml 8223@end ifhtml
8225 8224
@@ -8712,12 +8711,11 @@ I also point out some additional sources of information.
8712@kindex M-x mh-version 8711@kindex M-x mh-version
8713 8712
8714Bug reports should be filed at 8713Bug reports should be filed at
8715@uref{https://sourceforge.net/tracker/?group_id=13357&atid=113357, 8714@uref{https://sourceforge.net/p/mh-e/bugs/, SourceForge}. You need to
8716SourceForge}. You need to be a SourceForge user to submit bug reports, 8715be a SourceForge user to submit bug reports, but this is easy enough
8717but this is easy enough to do that it shouldn't be a restriction for 8716to do that it shouldn't be a restriction for you. Please include the
8718you. Please include the output of @kbd{M-x mh-version} 8717output of @kbd{M-x mh-version} (@pxref{Miscellaneous}) in any bug
8719(@pxref{Miscellaneous}) in any bug report you send unless you're 110% 8718report you send unless you're 110% positive we won't ask for it.
8720positive we won't ask for it.
8721 8719
8722@node Mailing Lists, MH FAQ and Support, Bug Reports, Odds and Ends 8720@node Mailing Lists, MH FAQ and Support, Bug Reports, Odds and Ends
8723@appendixsec MH-E Mailing Lists 8721@appendixsec MH-E Mailing Lists
@@ -8728,7 +8726,7 @@ positive we won't ask for it.
8728There are several mailing lists for MH-E@. They are @i{mh-e-users at 8726There are several mailing lists for MH-E@. They are @i{mh-e-users at
8729lists.sourceforge.net}, @i{mh-e-announce at lists.sourceforge.net}, 8727lists.sourceforge.net}, @i{mh-e-announce at lists.sourceforge.net},
8730and @i{mh-e-devel at lists.sourceforge.net}. You can subscribe or view 8728and @i{mh-e-devel at lists.sourceforge.net}. You can subscribe or view
8731the archives at @uref{https://sourceforge.net/mail/?group_id=13357, 8729the archives at @uref{https://sourceforge.net/p/mh-e/mailman/,
8732SourceForge}. Do not report bugs on these lists; please submit them 8730SourceForge}. Do not report bugs on these lists; please submit them
8733via SourceForge (@pxref{Bug Reports}). 8731via SourceForge (@pxref{Bug Reports}).
8734 8732
@@ -8746,11 +8744,10 @@ itself which you will find useful.
8746 8744
8747@cindex support 8745@cindex support
8748 8746
8749You can find FAQs on MH-E at the 8747You can find FAQs on MH-E by searching for @i{labels:support} on the
8750@uref{https://sourceforge.net/tracker/?group_id=13357&atid=213357, 8748@uref{https://sourceforge.net/p/mh-e/bugs/search/?q=labels%3Asupport,
8751Support Requests} page on SourceForge. If you don't find the answer to 8749Tickets} page on SourceForge. If you don't find the answer to your
8752your question, file a support request and your question will become a 8750question, file a ticket and your question will become a new FAQ!
8753new FAQ!
8754 8751
8755@node Getting MH-E, , MH FAQ and Support, Odds and Ends 8752@node Getting MH-E, , MH FAQ and Support, Odds and Ends
8756@appendixsec Getting MH-E 8753@appendixsec Getting MH-E
@@ -8768,13 +8765,13 @@ distribution in @file{miscellany/mh-e}.
8768@cindex release notes 8765@cindex release notes
8769 8766
8770New MH-E releases are always available for downloading at 8767New MH-E releases are always available for downloading at
8771@uref{https://sourceforge.net/project/showfiles.php?group_id=13357, 8768@uref{https://sourceforge.net/projects/mh-e/files/, SourceForge}
8772SourceForge} before they appear in an Emacs release. You can read the 8769before they appear in an Emacs release. You can read the release notes
8773release notes on that page to determine if the given release of MH-E 8770on that page to determine if the given release of MH-E is already
8774is already installed in your version of Emacs. You can also read the 8771installed in your version of Emacs. You can also read the change log
8775change log to see if you are interested in what the given release of 8772to see if you are interested in what the given release of MH-E has to
8776MH-E has to offer (although we have no doubt that you will be 8773offer (although we have no doubt that you will be extremely interested
8777extremely interested in all new releases). 8774in all new releases).
8778 8775
8779@cindex Debian 8776@cindex Debian
8780 8777
@@ -8802,10 +8799,10 @@ MH-E@. Check that you're running the new version with the command
8802@cindex documentation 8799@cindex documentation
8803 8800
8804In addition to the mh-e package, the 8801In addition to the mh-e package, the
8805@uref{https://sourceforge.net/project/showfiles.php?group_id=13357, 8802@uref{https://sourceforge.net/projects/mh-e/files/, SourceForge} site
8806SourceForge} site also contains doc and contrib packages. The former 8803also contains doc and contrib packages. The former is the latest
8807is the latest release of this manual, and the latter contains a few 8804release of this manual, and the latter contains a few contributed
8808contributed packages you might find useful. 8805packages you might find useful.
8809 8806
8810@node History, GFDL, Odds and Ends, Top 8807@node History, GFDL, Odds and Ends, Top
8811@appendix History of MH-E 8808@appendix History of MH-E
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index d41d2848cc6..1d7de18ada6 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -2,7 +2,7 @@
2@c %**start of header 2@c %**start of header
3@setfilename ../../info/org 3@setfilename ../../info/org
4@settitle The Org Manual 4@settitle The Org Manual
5@set VERSION 7.9.3d (GNU Emacs 24.3) 5@set VERSION 7.9.3f (GNU Emacs 24.3)
6 6
7@c Use proper quote and backtick for code sections in PDF output 7@c Use proper quote and backtick for code sections in PDF output
8@c Cf. Texinfo manual 14.2 8@c Cf. Texinfo manual 14.2
@@ -903,17 +903,20 @@ $ git clone git://orgmode.org/org-mode.git
903$ make autoloads 903$ make autoloads
904@end example 904@end example
905 905
906Note that @code{make autoloads} is mandatory: it defines Org's version and 906Note that in this case, @code{make autoloads} is mandatory: it defines Org's
907Org's autoloaded functions, respectively in @file{org-version.el} and in 907version in @file{org-version.el} and Org's autoloads in
908@file{org-loaddefs.el}. 908@file{org-loaddefs.el}.
909 909
910Remember to add the correct load-path as described in the method above. 910Remember to add the correct load-path as described in the method above.
911 911
912You can also compile and install Org from this git repository: check 912You can also compile with @code{make}, generate the documentation with
913@code{make help} to get the list of compilation/installation options. 913@code{make doc}, create a local configuration with @code{make config} and
914install Org with @code{make install}. Please run @code{make help} to get
915the list of compilation/installation options.
914 916
915For more detailed explanations on Org's build system, please check the Org 917For more detailed explanations on Org's build system, please check the Org
916Build System page on @uref{http://orgmode.org/worg/dev/org-build-system.html, Worg}. 918Build System page on @uref{http://orgmode.org/worg/dev/org-build-system.html,
919Worg}.
917 920
918@node Activation, Feedback, Installation, Introduction 921@node Activation, Feedback, Installation, Introduction
919@section Activation 922@section Activation
@@ -1293,6 +1296,7 @@ Copy the @i{visible} text in the region into the kill ring.
1293@end table 1296@end table
1294 1297
1295@vindex org-startup-folded 1298@vindex org-startup-folded
1299@vindex org-agenda-inhibit-startup
1296@cindex @code{overview}, STARTUP keyword 1300@cindex @code{overview}, STARTUP keyword
1297@cindex @code{content}, STARTUP keyword 1301@cindex @code{content}, STARTUP keyword
1298@cindex @code{showall}, STARTUP keyword 1302@cindex @code{showall}, STARTUP keyword
@@ -1311,6 +1315,10 @@ buffer:
1311#+STARTUP: showeverything 1315#+STARTUP: showeverything
1312@end example 1316@end example
1313 1317
1318The startup visibility options are ignored when the file is open for the
1319first time during the agenda generation: if you want the agenda to honor
1320the startup visibility, set @code{org-agenda-inhibit-startup} to nil.
1321
1314@cindex property, VISIBILITY 1322@cindex property, VISIBILITY
1315@noindent 1323@noindent
1316Furthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties 1324Furthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties
@@ -1423,7 +1431,7 @@ level).
1423Move subtree down (swap with next subtree of same level). 1431Move subtree down (swap with next subtree of same level).
1424@orgcmd{M-h,org-mark-element} 1432@orgcmd{M-h,org-mark-element}
1425Mark the element at point. Hitting repeatedly will mark subsequent elements 1433Mark the element at point. Hitting repeatedly will mark subsequent elements
1426of the one just marked. E.g. hitting @key{M-h} on a paragraph will mark it, 1434of the one just marked. E.g., hitting @key{M-h} on a paragraph will mark it,
1427hitting @key{M-h} immediately again will mark the next one. 1435hitting @key{M-h} immediately again will mark the next one.
1428@orgcmd{C-c @@,org-mark-subtree} 1436@orgcmd{C-c @@,org-mark-subtree}
1429Mark the subtree at point. Hitting repeatedly will mark subsequent subtrees 1437Mark the subtree at point. Hitting repeatedly will mark subsequent subtrees
@@ -2444,7 +2452,7 @@ $1..$3 @r{first three fields in the current row}
2444$P..$Q @r{range, using column names (see under Advanced)} 2452$P..$Q @r{range, using column names (see under Advanced)}
2445$<<<..$>> @r{start in third column, continue to the one but last} 2453$<<<..$>> @r{start in third column, continue to the one but last}
2446@@2$1..@@4$3 @r{6 fields between these two fields (same as @code{A2..C4})} 2454@@2$1..@@4$3 @r{6 fields between these two fields (same as @code{A2..C4})}
2447@@-1$-2..@@-1 @r{3 numbers from the column to the left, 2 up to current row} 2455@@-1$-2..@@-1 @r{in the first row up, 3 fields from 2 columns on the left}
2448@@I..II @r{between first and second hline, short for @code{@@I..@@II}} 2456@@I..II @r{between first and second hline, short for @code{@@I..@@II}}
2449@end example 2457@end example
2450 2458
@@ -3023,9 +3031,9 @@ functions.
3023 3031
3024Org-Plot can produce 2D and 3D graphs of information stored in org tables 3032Org-Plot can produce 2D and 3D graphs of information stored in org tables
3025using @file{Gnuplot} @uref{http://www.gnuplot.info/} and @file{gnuplot-mode} 3033using @file{Gnuplot} @uref{http://www.gnuplot.info/} and @file{gnuplot-mode}
3026@uref{http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html}. To see 3034@uref{http://xafs.org/BruceRavel/GnuplotMode}. To see this in action, ensure
3027this in action, ensure that you have both Gnuplot and Gnuplot mode installed 3035that you have both Gnuplot and Gnuplot mode installed on your system, then
3028on your system, then call @code{org-plot/gnuplot} on the following table. 3036call @code{org-plot/gnuplot} on the following table.
3029 3037
3030@example 3038@example
3031@group 3039@group
@@ -4072,7 +4080,7 @@ module @file{org-depend.el}.
4072 4080
4073Org mode can automatically record a timestamp and possibly a note when 4081Org mode can automatically record a timestamp and possibly a note when
4074you mark a TODO item as DONE, or even each time you change the state of 4082you mark a TODO item as DONE, or even each time you change the state of
4075a TODO item. This system is highly configurable, settings can be on a 4083a TODO item. This system is highly configurable; settings can be on a
4076per-keyword basis and can be localized to a file or even a subtree. For 4084per-keyword basis and can be localized to a file or even a subtree. For
4077information on how to clock working time for a task, see @ref{Clocking 4085information on how to clock working time for a task, see @ref{Clocking
4078work time}. 4086work time}.
@@ -4428,7 +4436,7 @@ lists. But you can allow it by modifying @code{org-list-automatic-rules}
4428accordingly.} (@pxref{Plain lists}) can be made into a checkbox by starting 4436accordingly.} (@pxref{Plain lists}) can be made into a checkbox by starting
4429it with the string @samp{[ ]}. This feature is similar to TODO items 4437it with the string @samp{[ ]}. This feature is similar to TODO items
4430(@pxref{TODO Items}), but is more lightweight. Checkboxes are not included 4438(@pxref{TODO Items}), but is more lightweight. Checkboxes are not included
4431into the global TODO list, so they are often great to split a task into a 4439in the global TODO list, so they are often great to split a task into a
4432number of simple steps. Or you can use them in a shopping list. To toggle a 4440number of simple steps. Or you can use them in a shopping list. To toggle a
4433checkbox, use @kbd{C-c C-c}, or use the mouse (thanks to Piotr Zielinski's 4441checkbox, use @kbd{C-c C-c}, or use the mouse (thanks to Piotr Zielinski's
4434@file{org-mouse.el}). 4442@file{org-mouse.el}).
@@ -4486,7 +4494,7 @@ off a box while there are unchecked boxes above it.
4486@orgcmd{C-c C-c,org-toggle-checkbox} 4494@orgcmd{C-c C-c,org-toggle-checkbox}
4487Toggle checkbox status or (with prefix arg) checkbox presence at point. 4495Toggle checkbox status or (with prefix arg) checkbox presence at point.
4488With a single prefix argument, add an empty checkbox or remove the current 4496With a single prefix argument, add an empty checkbox or remove the current
4489one@footnote{`C-u C-c C-c' on the @emph{first} item of a list with no checkbox 4497one@footnote{@kbd{C-u C-c C-c} on the @emph{first} item of a list with no checkbox
4490will add checkboxes to the rest of the list.}. With a double prefix argument, set it to @samp{[-]}, which is 4498will add checkboxes to the rest of the list.}. With a double prefix argument, set it to @samp{[-]}, which is
4491considered to be an intermediate state. 4499considered to be an intermediate state.
4492@orgcmd{C-c C-x C-b,org-toggle-checkbox} 4500@orgcmd{C-c C-x C-b,org-toggle-checkbox}
@@ -11987,7 +11995,7 @@ resource or resource node which is known to TaskJuggler, such as
11987@samp{efficiency}, @samp{journalentry}, @samp{rate} for resources or 11995@samp{efficiency}, @samp{journalentry}, @samp{rate} for resources or
11988@samp{account}, @samp{start}, @samp{note}, @samp{duration}, @samp{end}, 11996@samp{account}, @samp{start}, @samp{note}, @samp{duration}, @samp{end},
11989@samp{journalentry}, @samp{milestone}, @samp{reference}, @samp{responsible}, 11997@samp{journalentry}, @samp{milestone}, @samp{reference}, @samp{responsible},
11990@samp{scheduling}, etc for tasks. 11998@samp{scheduling}, etc.@: for tasks.
11991 11999
11992@subsection Dependencies 12000@subsection Dependencies
11993 12001
@@ -15987,7 +15995,7 @@ Here is a @LaTeX{} example. Let's say that you have this in your
15987\end@{comment@} 15995\end@{comment@}
15988@end example 15996@end example
15989 15997
15990Pressing `C-c C-c' on @code{a new house} and will insert the converted 15998Pressing @kbd{C-c C-c} on @code{a new house} and will insert the converted
15991@LaTeX{} list between the two marker lines. 15999@LaTeX{} list between the two marker lines.
15992 16000
15993@node Dynamic blocks, Special agenda views, Tables in arbitrary syntax, Hacking 16001@node Dynamic blocks, Special agenda views, Tables in arbitrary syntax, Hacking
diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi
index 0ee206b1a4d..312b84146fa 100644
--- a/doc/misc/reftex.texi
+++ b/doc/misc/reftex.texi
@@ -647,7 +647,7 @@ buffer.
647@vindex reftex-toc-max-level 647@vindex reftex-toc-max-level
648Change the maximum level of toc entries displayed in the @file{*toc*} 648Change the maximum level of toc entries displayed in the @file{*toc*}
649buffer. Without prefix arg, all levels will be included. With prefix 649buffer. Without prefix arg, all levels will be included. With prefix
650arg (e.g @kbd{3 t}), ignore all toc entries with level greater than 650arg (e.g., @kbd{3 t}), ignore all toc entries with level greater than
651@var{arg} (3 in this case). Chapters are level 1, sections are level 2. 651@var{arg} (3 in this case). Chapters are level 1, sections are level 2.
652The mode line @samp{T<>} indicator shows the current value. The default 652The mode line @samp{T<>} indicator shows the current value. The default
653depth can be configured with the variable 653depth can be configured with the variable
@@ -3501,7 +3501,7 @@ make use of this feature, try
3501@item 3501@item
3502@b{@LaTeX{} commands}@* 3502@b{@LaTeX{} commands}@*
3503@cindex LaTeX commands, not found 3503@cindex LaTeX commands, not found
3504@code{\input}, @code{\include}, and @code{\section} (etc.) statements 3504@code{\input}, @code{\include}, and @code{\section} (etc.)@: statements
3505have to be first on a line (except for white space). 3505have to be first on a line (except for white space).
3506 3506
3507@item 3507@item
diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi
index c70b6212268..290c18a7b47 100644
--- a/doc/misc/remember.texi
+++ b/doc/misc/remember.texi
@@ -169,7 +169,7 @@ typing it into a buffer, or using the contents of the selected region,
169it will store that data---unindexed, uninterpreted---in a data pool. 169it will store that data---unindexed, uninterpreted---in a data pool.
170It will also try to remember as much context information as possible 170It will also try to remember as much context information as possible
171(any text properties that were set, where you copied it from, when, 171(any text properties that were set, where you copied it from, when,
172how, etc). Later, you can walk through your accumulated set of data 172how, etc.). Later, you can walk through your accumulated set of data
173(both organized, and unorganized) and easily begin moving things 173(both organized, and unorganized) and easily begin moving things
174around, and making annotations that will express the full meaning of 174around, and making annotations that will express the full meaning of
175that data, as far as you know it. 175that data, as far as you know it.
diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi
index de5019ee897..f43316f5012 100644
--- a/doc/misc/semantic.texi
+++ b/doc/misc/semantic.texi
@@ -520,7 +520,7 @@ Regression tests from the older Semantic 1.x API.
520@node Glossary 520@node Glossary
521@appendix Glossary 521@appendix Glossary
522 522
523@table @keyword 523@table @asis
524@item BNF 524@item BNF
525In semantic 1.4, a BNF file represented ``Bovine Normal Form'', the 525In semantic 1.4, a BNF file represented ``Bovine Normal Form'', the
526grammar file used for the 1.4 parser generator. This was a play on 526grammar file used for the 1.4 parser generator. This was a play on
diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi
index ce75f2ef91e..2c84d04c666 100644
--- a/doc/misc/ses.texi
+++ b/doc/misc/ses.texi
@@ -1,4 +1,4 @@
1\input texinfo @c -*-texinfo-*- 1\input texinfo @c -*- mode: texinfo; coding: utf-8; -*-
2@c %**start of header 2@c %**start of header
3@setfilename ../../info/ses 3@setfilename ../../info/ses
4@settitle @acronym{SES}: Simple Emacs Spreadsheet 4@settitle @acronym{SES}: Simple Emacs Spreadsheet
@@ -901,7 +901,7 @@ Begins with an 014 character, followed by sets of cell-definition
901macros for each row, followed by column-widths, column-printers, 901macros for each row, followed by column-widths, column-printers,
902default-printer, and header-row. Then there's the global parameters 902default-printer, and header-row. Then there's the global parameters
903(file-format ID, numrows, numcols) and the local variables (specifying 903(file-format ID, numrows, numcols) and the local variables (specifying
904@acronym{SES} mode for the buffer, etc.) 904@acronym{SES} mode for the buffer, etc.).
905 905
906When a @acronym{SES} file is loaded, first the numrows and numcols values are 906When a @acronym{SES} file is loaded, first the numrows and numcols values are
907loaded, then the entire data area is @code{eval}ed, and finally the local 907loaded, then the entire data area is @code{eval}ed, and finally the local
@@ -1022,9 +1022,9 @@ Yusong Li @email{lyusong@@hotmail.com}@*
1022Juri Linkov @email{juri@@jurta.org}@* 1022Juri Linkov @email{juri@@jurta.org}@*
1023Harald Maier @email{maierh@@myself.com}@* 1023Harald Maier @email{maierh@@myself.com}@*
1024Alan Nash @email{anash@@san.rr.com}@* 1024Alan Nash @email{anash@@san.rr.com}@*
1025François Pinard @email{pinard@@iro.umontreal.ca}@* 1025François Pinard @email{pinard@@iro.umontreal.ca}@*
1026Pedro Pinto @email{ppinto@@cs.cmu.edu}@* 1026Pedro Pinto @email{ppinto@@cs.cmu.edu}@*
1027Stefan Reichör @email{xsteve@@riic.at}@* 1027Stefan Reichör @email{xsteve@@riic.at}@*
1028Oliver Scholz @email{epameinondas@@gmx.de}@* 1028Oliver Scholz @email{epameinondas@@gmx.de}@*
1029Richard M. Stallman @email{rms@@gnu.org}@* 1029Richard M. Stallman @email{rms@@gnu.org}@*
1030Luc Teirlinck @email{teirllm@@dms.auburn.edu}@* 1030Luc Teirlinck @email{teirllm@@dms.auburn.edu}@*
diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi
index cbcd6a61f39..b84c3047ec1 100644
--- a/doc/misc/sieve.texi
+++ b/doc/misc/sieve.texi
@@ -159,7 +159,7 @@ press RET on <new script> to create a new script.
159@end example 159@end example
160 160
161One of the scripts are highlighted, and standard point navigation 161One of the scripts are highlighted, and standard point navigation
162commands (@kbd{<up>}, @kbd{<down>} etc) can be used to navigate the 162commands (@kbd{<up>}, @kbd{<down>} etc.)@: can be used to navigate the
163list. 163list.
164 164
165The following commands are available in the Manage Sieve buffer: 165The following commands are available in the Manage Sieve buffer:
diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi
index c017490d4aa..3cb0ec3aed8 100644
--- a/doc/misc/speedbar.texi
+++ b/doc/misc/speedbar.texi
@@ -223,7 +223,7 @@ Text in speedbar consists of four different types of data. Knowing how
223to read these textual elements will make it easier to navigate by 223to read these textual elements will make it easier to navigate by
224identifying the types of data available. 224identifying the types of data available.
225 225
226@subsubsection Groups 226@subsection Groups
227@cindex groups 227@cindex groups
228 228
229Groups summarize information in a single line, and provide a high level 229Groups summarize information in a single line, and provide a high level
@@ -1158,7 +1158,7 @@ the next line.
1158Create a tag line with @var{exp-button-type} for the small expansion 1158Create a tag line with @var{exp-button-type} for the small expansion
1159button. This is the button that expands or contracts a node (if 1159button. This is the button that expands or contracts a node (if
1160applicable), and @var{exp-button-char} the character in it (@samp{+}, 1160applicable), and @var{exp-button-char} the character in it (@samp{+},
1161@samp{-}, @samp{?}, etc). @var{exp-button-function} is the function 1161@samp{-}, @samp{?}, etc.). @var{exp-button-function} is the function
1162to call if it's clicked on. Button types are @code{bracket}, 1162to call if it's clicked on. Button types are @code{bracket},
1163@code{angle}, @code{curly}, @code{expandtag}, @code{statictag}, and 1163@code{angle}, @code{curly}, @code{expandtag}, @code{statictag}, and
1164@code{nil}. @var{exp-button-data} is extra data attached to the text 1164@code{nil}. @var{exp-button-data} is extra data attached to the text
@@ -1167,7 +1167,7 @@ forming the expansion button.
1167Next, @var{tag-button} is the text of the tag. 1167Next, @var{tag-button} is the text of the tag.
1168@var{tag-button-function} is the function to call if clicked on, and 1168@var{tag-button-function} is the function to call if clicked on, and
1169@var{tag-button-data} is the data to attach to the text field (such a 1169@var{tag-button-data} is the data to attach to the text field (such a
1170tag positioning, etc). @var{tag-button-face} is a face used for this 1170tag positioning, etc.). @var{tag-button-face} is a face used for this
1171type of tag. 1171type of tag.
1172 1172
1173Lastly, @var{depth} shows the depth of expansion. 1173Lastly, @var{depth} shows the depth of expansion.
diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex
index d64f45bbee9..85f184cc4cb 100644
--- a/doc/misc/texinfo.tex
+++ b/doc/misc/texinfo.tex
@@ -3,7 +3,7 @@
3% Load plain if necessary, i.e., if running under initex. 3% Load plain if necessary, i.e., if running under initex.
4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5% 5%
6\def\texinfoversion{2013-01-01.15} 6\def\texinfoversion{2013-02-01.11}
7% 7%
8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -2496,7 +2496,7 @@ end
2496 \let-\codedash 2496 \let-\codedash
2497 \let_\codeunder 2497 \let_\codeunder
2498 \else 2498 \else
2499 \let-\realdash 2499 \let-\normaldash
2500 \let_\realunder 2500 \let_\realunder
2501 \fi 2501 \fi
2502 \codex 2502 \codex
@@ -2505,7 +2505,7 @@ end
2505 2505
2506\def\codex #1{\tclose{#1}\endgroup} 2506\def\codex #1{\tclose{#1}\endgroup}
2507 2507
2508\def\realdash{-} 2508\def\normaldash{-}
2509\def\codedash{-\discretionary{}{}{}} 2509\def\codedash{-\discretionary{}{}{}}
2510\def\codeunder{% 2510\def\codeunder{%
2511 % this is all so @math{@code{var_name}+1} can work. In math mode, _ 2511 % this is all so @math{@code{var_name}+1} can work. In math mode, _
@@ -2520,9 +2520,9 @@ end
2520} 2520}
2521 2521
2522% An additional complication: the above will allow breaks after, e.g., 2522% An additional complication: the above will allow breaks after, e.g.,
2523% each of the four underscores in __typeof__. This is undesirable in 2523% each of the four underscores in __typeof__. This is bad.
2524% some manuals, especially if they don't have long identifiers in 2524% @allowcodebreaks provides a document-level way to turn breaking at -
2525% general. @allowcodebreaks provides a way to control this. 2525% and _ on and off.
2526% 2526%
2527\newif\ifallowcodebreaks \allowcodebreakstrue 2527\newif\ifallowcodebreaks \allowcodebreakstrue
2528 2528
@@ -4188,7 +4188,7 @@ end
4188 % ..., but we might end up with active ones in the argument if 4188 % ..., but we might end up with active ones in the argument if
4189 % we're called from @code, as @code{@value{foo-bar_}}, though. 4189 % we're called from @code, as @code{@value{foo-bar_}}, though.
4190 % So \let them to their normal equivalents. 4190 % So \let them to their normal equivalents.
4191 \let-\realdash \let_\normalunderscore 4191 \let-\normaldash \let_\normalunderscore
4192 } 4192 }
4193} 4193}
4194 4194
@@ -9993,22 +9993,26 @@ directory should work if nowhere else does.}
9993@gdef@otherbackslash{@let\=@realbackslash} 9993@gdef@otherbackslash{@let\=@realbackslash}
9994 9994
9995% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of 9995% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
9996% the literal character `\'. 9996% the literal character `\'. Also revert - to its normal character, in
9997% 9997% case the active - from code has slipped in.
9998@def@normalturnoffactive{% 9998%
9999 @let"=@normaldoublequote 9999{@catcode`- = @active
10000 @let$=@normaldollar %$ font-lock fix 10000 @gdef@normalturnoffactive{%
10001 @let+=@normalplus 10001 @let-=@normaldash
10002 @let<=@normalless 10002 @let"=@normaldoublequote
10003 @let>=@normalgreater 10003 @let$=@normaldollar %$ font-lock fix
10004 @let\=@normalbackslash 10004 @let+=@normalplus
10005 @let^=@normalcaret 10005 @let<=@normalless
10006 @let_=@normalunderscore 10006 @let>=@normalgreater
10007 @let|=@normalverticalbar 10007 @let\=@normalbackslash
10008 @let~=@normaltilde 10008 @let^=@normalcaret
10009 @markupsetuplqdefault 10009 @let_=@normalunderscore
10010 @markupsetuprqdefault 10010 @let|=@normalverticalbar
10011 @unsepspaces 10011 @let~=@normaltilde
10012 @markupsetuplqdefault
10013 @markupsetuprqdefault
10014 @unsepspaces
10015 }
10012} 10016}
10013 10017
10014% Make _ and + \other characters, temporarily. 10018% Make _ and + \other characters, temporarily.
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 3a859c62728..4a3e0ebc33c 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -20,6 +20,33 @@
20@c xxx and yyy are auxiliary macros in order to omit leading and 20@c xxx and yyy are auxiliary macros in order to omit leading and
21@c trailing whitespace. Not very elegant, but I don't know it better. 21@c trailing whitespace. Not very elegant, but I don't know it better.
22 22
23@c There are subtle differences between texinfo 4.13 and 5.0. We must
24@c declare two versions of the macro. This will be improved, hopefully.
25
26@c Texinfo 5.0.
27@ifset txicommandconditionals
28@macro xxx {one}
29@set \one\
30@end macro
31
32@macro yyy {one, two}
33@xxx{x\one\}@c
34@ifclear x
35\one\@w{}\two\@c
36@end ifclear
37@clear x\one\
38@end macro
39
40@macro trampfn {method, user, host, localname}
41@value{prefix}@c
42@yyy{\method\,@value{postfixhop}}@c
43@yyy{\user\,@@}@c
44\host\@value{postfix}\localname\
45@end macro
46@end ifset
47
48@c Texinfo 4.13.
49@ifclear txicommandconditionals
23@macro xxx {one}@c 50@macro xxx {one}@c
24@set \one\@c 51@set \one\@c
25@end macro 52@end macro
@@ -35,6 +62,7 @@
35@macro trampfn {method, user, host, localname}@c 62@macro trampfn {method, user, host, localname}@c
36@value{prefix}@yyy{\method\,@value{postfixhop}}@yyy{\user\,@@}\host\@value{postfix}\localname\@c 63@value{prefix}@yyy{\method\,@value{postfixhop}}@yyy{\user\,@@}\host\@value{postfix}\localname\@c
37@end macro 64@end macro
65@end ifclear
38 66
39@copying 67@copying
40Copyright @copyright{} 1999--2013 Free Software Foundation, Inc. 68Copyright @copyright{} 1999--2013 Free Software Foundation, Inc.
@@ -144,9 +172,6 @@ For the end user:
144* Usage:: An overview of the operation of @value{tramp}. 172* Usage:: An overview of the operation of @value{tramp}.
145* Bug Reports:: Reporting Bugs and Problems. 173* Bug Reports:: Reporting Bugs and Problems.
146* Frequently Asked Questions:: Questions and answers from the mailing list. 174* Frequently Asked Questions:: Questions and answers from the mailing list.
147* Function Index:: @value{tramp} functions.
148* Variable Index:: User options and variables.
149* Concept Index:: An item for each concept.
150 175
151For the developer: 176For the developer:
152 177
@@ -155,6 +180,9 @@ For the developer:
155* Issues:: Debatable Issues and What Was Decided. 180* Issues:: Debatable Issues and What Was Decided.
156 181
157* GNU Free Documentation License:: The license for this documentation. 182* GNU Free Documentation License:: The license for this documentation.
183* Function Index:: @value{tramp} functions.
184* Variable Index:: User options and variables.
185* Concept Index:: An item for each concept.
158 186
159@detailmenu 187@detailmenu
160 --- The Detailed Node Listing --- 188 --- The Detailed Node Listing ---
@@ -188,8 +216,9 @@ Configuring @value{tramp} for use
188* Connection caching:: Reusing connection related information. 216* Connection caching:: Reusing connection related information.
189* Remote Programs:: How @value{tramp} finds and uses programs on the remote machine. 217* Remote Programs:: How @value{tramp} finds and uses programs on the remote machine.
190* Remote shell setup:: Remote shell setup hints. 218* Remote shell setup:: Remote shell setup hints.
191* Windows setup hints:: Issues with Cygwin ssh. 219* Android shell setup:: Android shell setup hints.
192* Auto-save and Backup:: Auto-save and Backup. 220* Auto-save and Backup:: Auto-save and Backup.
221* Windows setup hints:: Issues with Cygwin ssh.
193 222
194Using @value{tramp} 223Using @value{tramp}
195 224
@@ -515,6 +544,7 @@ Method}.
515* Connection caching:: Reusing connection related information. 544* Connection caching:: Reusing connection related information.
516* Remote Programs:: How @value{tramp} finds and uses programs on the remote machine. 545* Remote Programs:: How @value{tramp} finds and uses programs on the remote machine.
517* Remote shell setup:: Remote shell setup hints. 546* Remote shell setup:: Remote shell setup hints.
547* Android shell setup:: Android shell setup hints.
518* Auto-save and Backup:: Auto-save and Backup. 548* Auto-save and Backup:: Auto-save and Backup.
519* Windows setup hints:: Issues with Cygwin ssh. 549* Windows setup hints:: Issues with Cygwin ssh.
520@end menu 550@end menu
@@ -557,9 +587,10 @@ startup may drown out the improvement in file transfer times.
557External methods should be configured such a way that they don't 587External methods should be configured such a way that they don't
558require a password (with @command{ssh-agent}, or such alike). Modern 588require a password (with @command{ssh-agent}, or such alike). Modern
559@command{scp} implementations offer options to reuse existing 589@command{scp} implementations offer options to reuse existing
560@command{ssh} connections, see method @command{scpc}. If it isn't 590@command{ssh} connections, which will be enabled by default if
561possible, you should consider @ref{Password handling}, otherwise you 591available. If it isn't possible, you should consider @ref{Password
562will be prompted for a password every copy action. 592handling}, otherwise you will be prompted for a password every copy
593action.
563 594
564 595
565@node Inline methods 596@node Inline methods
@@ -618,13 +649,6 @@ Connect to the remote host with @command{ssh}. This is identical to
618the previous option except that the @command{ssh} package is used, 649the previous option except that the @command{ssh} package is used,
619making the connection more secure. 650making the connection more secure.
620 651
621There are also two variants, @option{ssh1} and @option{ssh2}, that
622call @samp{ssh -1} and @samp{ssh -2}, respectively. This way, you can
623explicitly select whether you want to use the SSH protocol version 1
624or 2 to connect to the remote host. (You can also specify in
625@file{~/.ssh/config}, the SSH configuration file, which protocol
626should be used, and use the regular @option{ssh} method.)
627
628All the methods based on @command{ssh} have an additional feature: you 652All the methods based on @command{ssh} have an additional feature: you
629can specify a host name which looks like @file{host#42} (the real host 653can specify a host name which looks like @file{host#42} (the real host
630name, then a hash sign, then a port number). This means to connect to 654name, then a hash sign, then a port number). This means to connect to
@@ -720,16 +744,6 @@ remote host.
720 744
721This supports the @samp{-P} argument. 745This supports the @samp{-P} argument.
722 746
723Additionally, the methods @option{plink1} and @option{plink2} are
724provided, which call @samp{plink -1 -ssh} or @samp{plink -2 -ssh} in
725order to use SSH protocol version 1 or 2 explicitly.
726
727CCC: Do we have to connect to the remote host once from the command
728line to accept the SSH key? Maybe this can be made automatic?
729
730CCC: Say something about the first shell command failing. This might
731be due to a wrong setting of @code{tramp-rsh-end-of-line}.
732
733 747
734@item @option{plinkx} 748@item @option{plinkx}
735@cindex method plinkx 749@cindex method plinkx
@@ -793,13 +807,6 @@ The cost of the cryptographic handshake at the start of an @command{scp}
793session can begin to absorb the advantage that the lack of encoding and 807session can begin to absorb the advantage that the lack of encoding and
794decoding presents. 808decoding presents.
795 809
796There are also two variants, @option{scp1} and @option{scp2}, that
797call @samp{ssh -1} and @samp{ssh -2}, respectively. This way, you can
798explicitly select whether you want to use the SSH protocol version 1
799or 2 to connect to the remote host. (You can also specify in
800@file{~/.ssh/config}, the SSH configuration file, which protocol
801should be used, and use the regular @option{scp} method.)
802
803All the @command{ssh} based methods support the @samp{-p} feature 810All the @command{ssh} based methods support the @samp{-p} feature
804where you can specify a port number to connect to in the host name. 811where you can specify a port number to connect to in the host name.
805For example, the host name @file{host#42} tells @value{tramp} to 812For example, the host name @file{host#42} tells @value{tramp} to
@@ -867,51 +874,6 @@ to not print any shell prompt, which confuses @value{tramp} mightily.
867This method supports the @samp{-p} argument. 874This method supports the @samp{-p} argument.
868 875
869 876
870@item @option{scpc}---@command{ssh} and @command{scp}
871@cindex method scpc
872@cindex scpc method
873@cindex scp (with scpc method)
874@cindex ssh (with scpc method)
875
876Newer versions of @option{ssh} (for example OpenSSH 4) offer an option
877@option{ControlMaster}. This allows @option{scp} to reuse an existing
878@option{ssh} channel, which increases performance.
879
880Before you use this method, you should check whether your @option{ssh}
881implementation supports this option. Try from the command line
882
883@example
884ssh localhost -o ControlMaster=yes /bin/true
885@end example
886
887If that command succeeds silently, then you can use @option{scpc}; but
888if it fails like
889
890@example
891command-line: line 0: Bad configuration option: ControlMaster
892@end example
893
894then you cannot use it. Note, that the option
895@option{ControlPersist}, if it is supported by your @option{ssh}
896version, must be set to @option{no}.
897
898This method supports the @samp{-p} argument.
899
900
901@item @option{rsyncc}---@command{ssh} and @command{rsync}
902@cindex method rsyncc
903@cindex rsyncc method
904@cindex rsync (with rsyncc method)
905@cindex ssh (with rsyncc method)
906
907Like the @option{scpc} method, @option{rsyncc} improves the underlying
908@command{ssh} connection by the option @option{ControlMaster}. This
909allows @command{rsync} to reuse an existing @command{ssh} channel,
910which increases performance.
911
912This method supports the @samp{-p} argument.
913
914
915@item @option{pscp}---@command{plink} and @command{pscp} 877@item @option{pscp}---@command{plink} and @command{pscp}
916@cindex method pscp 878@cindex method pscp
917@cindex pscp method 879@cindex pscp method
@@ -1036,10 +998,26 @@ name.
1036@cindex method adb 998@cindex method adb
1037@cindex adb method 999@cindex adb method
1038 1000
1039This special method uses the Android Debug Bridge for connecting 1001This special method uses the Android Debug Bridge for accessing
1040Android devices. The Android Debug Bridge, part of the Android SDK, 1002Android devices. The Android Debug Bridge must be installed locally.
1041must be installed locally. The variable @var{tramp-adb-sdk-dir} must 1003Some GNU/Linux distributions offer it for installation, otherwise it
1042be set to its installation directory. 1004can be installed as part of the Android SDK. If the @command{adb}
1005program is not found via the @code{$PATH} environment variable, the
1006variable @var{tramp-adb-program} must point to its absolute path.
1007
1008Tramp does not connect Android devices to @command{adb}. This must be
1009performed outside @value{emacsname}. If there is exactly one Android
1010device connected to @command{adb}, a host name is not needed in the
1011remote file name. The default @value{tramp} name to be used is
1012@file{@trampfn{adb, , ,}} therefore. Otherwise, one could find
1013potential host names with the command @command{adb devices}.
1014
1015Usually, the @command{adb} method does not need any user name. It
1016runs under the permissions of the @command{adbd} process on the
1017Android device. If a user name is specified, @value{tramp} applies an
1018@command{su} on the device. This does not work with all Android
1019devices, especially with unrooted ones. In that case, an error
1020message is displayed.
1043 1021
1044@end table 1022@end table
1045 1023
@@ -1240,7 +1218,7 @@ user, see the @option{su} or @option{sudo} methods. They offer
1240shortened syntax for the @samp{root} account, like 1218shortened syntax for the @samp{root} account, like
1241@file{@trampfn{su, , , /etc/motd}}. 1219@file{@trampfn{su, , , /etc/motd}}.
1242 1220
1243People who edit large files may want to consider @option{scpc} instead 1221People who edit large files may want to consider @option{scp} instead
1244of @option{ssh}, or @option{pscp} instead of @option{plink}. These 1222of @option{ssh}, or @option{pscp} instead of @option{plink}. These
1245external methods are faster than inline methods for large files. 1223external methods are faster than inline methods for large files.
1246Note, however, that external methods suffer from some limitations. 1224Note, however, that external methods suffer from some limitations.
@@ -1343,7 +1321,7 @@ Like with methods and users, you can also specify different default
1343hosts for certain method/user combinations via the variable 1321hosts for certain method/user combinations via the variable
1344@code{tramp-default-host-alist}. Usually, this isn't necessary, 1322@code{tramp-default-host-alist}. Usually, this isn't necessary,
1345because @code{tramp-default-host} should be sufficient. For some 1323because @code{tramp-default-host} should be sufficient. For some
1346methods, like @code{adb}, that default value must be overwritten, 1324methods, like @option{adb}, that default value must be overwritten,
1347which is already the initial value of @code{tramp-default-host-alist}. 1325which is already the initial value of @code{tramp-default-host-alist}.
1348 1326
1349@noindent 1327@noindent
@@ -2047,6 +2025,77 @@ fi
2047@end table 2025@end table
2048 2026
2049 2027
2028@node Android shell setup
2029@section Android shell setup hints
2030@cindex android shell setup
2031
2032Android devices use a restricted shell. They can be accessed via the
2033@option{adb} method. However, this restricts the access to a USB
2034connection, and it requires the installation of the Android SDK on the
2035local machine.
2036
2037When an @command{sshd} process runs on the Android device, like
2038provided by the @code{SSHDroid} app, any @option{ssh}-based method can
2039be used. This requires some special settings.
2040
2041The default shell @code{/bin/sh} does not exist. Instead, you shall
2042use just @code{sh}, which invokes the shell installed on the device.
2043You can instruct @value{tramp} by this form:
2044
2045@lisp
2046(add-to-list 'tramp-connection-properties
2047 (list (regexp-quote "192.168.0.26") "remote-shell" "sh"))
2048@end lisp
2049
2050@noindent
2051with @samp{192.168.0.26} being the IP address of your Android device.
2052
2053The user settings for the @code{$PATH} environment variable must be
2054preserved. It has also been reported, that the commands in
2055@file{/system/xbin} are better suited than the ones in
2056@file{/system/bin}. Add these setting:
2057
2058@lisp
2059(add-to-list 'tramp-remote-path 'tramp-own-remote-path)
2060(add-to-list 'tramp-remote-path "/system/xbin")
2061@end lisp
2062
2063@noindent
2064If the Android device is not @samp{rooted}, you must give the shell a
2065writable directory for temporary files:
2066
2067@lisp
2068(add-to-list 'tramp-remote-process-environment "TMPDIR=$HOME")
2069@end lisp
2070
2071@noindent
2072Now you shall be able to open a remote connection with @kbd{C-x C-f
2073@trampfn{ssh, , 192.168.0.26#2222, }}, given that @command{sshd}
2074listens on port @samp{2222}.
2075
2076It is also recommended to add a corresponding entry to your
2077@file{~/.ssh/config} for that connection, like
2078
2079@example
2080Host android
2081 HostName 192.168.0.26
2082 User root
2083 Port 2222
2084@end example
2085
2086@noindent
2087In this case, you must change the setting for the remote shell to
2088
2089@lisp
2090(add-to-list 'tramp-connection-properties
2091 (list (regexp-quote "android") "remote-shell" "sh"))
2092@end lisp
2093
2094@noindent
2095You would open the connection with @kbd{C-x C-f @trampfn{ssh, ,
2096android, }} then.
2097
2098
2050@node Auto-save and Backup 2099@node Auto-save and Backup
2051@section Auto-save and Backup configuration 2100@section Auto-save and Backup configuration
2052@cindex auto-save 2101@cindex auto-save
@@ -2294,25 +2343,25 @@ using the default method. @xref{Default Method}.
2294Some examples of @value{tramp} filenames are shown below. 2343Some examples of @value{tramp} filenames are shown below.
2295 2344
2296@table @file 2345@table @file
2297@item @trampfn{, , melancholia, .emacs} 2346@item @value{prefix}melancholia@value{postfix}.emacs
2298Edit the file @file{.emacs} in your home directory on the machine 2347Edit the file @file{.emacs} in your home directory on the machine
2299@code{melancholia}. 2348@code{melancholia}.
2300 2349
2301@item @trampfn{, , melancholia.danann.net, .emacs} 2350@item @value{prefix}melancholia.danann.net@value{postfix}.emacs
2302This edits the same file, using the fully qualified domain name of 2351This edits the same file, using the fully qualified domain name of
2303the machine. 2352the machine.
2304 2353
2305@item @trampfn{, , melancholia, ~/.emacs} 2354@item @value{prefix}melancholia@value{postfix}~/.emacs
2306This also edits the same file; the @file{~} is expanded to your 2355This also edits the same file; the @file{~} is expanded to your
2307home directory on the remote machine, just like it is locally. 2356home directory on the remote machine, just like it is locally.
2308 2357
2309@item @trampfn{, , melancholia, ~daniel/.emacs} 2358@item @value{prefix}melancholia@value{postfix}~daniel/.emacs
2310This edits the file @file{.emacs} in the home directory of the user 2359This edits the file @file{.emacs} in the home directory of the user
2311@code{daniel} on the machine @code{melancholia}. The @file{~<user>} 2360@code{daniel} on the machine @code{melancholia}. The @file{~<user>}
2312construct is expanded to the home directory of that user on the remote 2361construct is expanded to the home directory of that user on the remote
2313machine. 2362machine.
2314 2363
2315@item @trampfn{, , melancholia, /etc/squid.conf} 2364@item @value{prefix}melancholia@value{postfix}/etc/squid.conf
2316This edits the file @file{/etc/squid.conf} on the machine 2365This edits the file @file{/etc/squid.conf} on the machine
2317@code{melancholia}. 2366@code{melancholia}.
2318 2367
@@ -2362,6 +2411,8 @@ number than the default one, given by the method. This is specified
2362by adding @file{#<port>} to the host name, like in @file{@trampfn{ssh, 2411by adding @file{#<port>} to the host name, like in @file{@trampfn{ssh,
2363daniel, melancholia#42, .emacs}}. 2412daniel, melancholia#42, .emacs}}.
2364 2413
2414Note that @value{tramp} supports only filenames encoded in unibyte.
2415
2365 2416
2366@node Alternative Syntax 2417@node Alternative Syntax
2367@section URL-like filename syntax 2418@section URL-like filename syntax
@@ -2422,7 +2473,8 @@ If you, for example, type @kbd{C-x C-f @value{prefix}t
2422@key{TAB}}, @value{tramp} might give you as result the choice for 2473@key{TAB}}, @value{tramp} might give you as result the choice for
2423 2474
2424@example 2475@example
2425@multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}} 2476@c @multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}}
2477@multitable @columnfractions .5 .5
2426@ifset emacs 2478@ifset emacs
2427@item @value{prefixhop}telnet@value{postfixhop} @tab tmp/ 2479@item @value{prefixhop}telnet@value{postfixhop} @tab tmp/
2428@item @value{prefixhop}toto@value{postfix} @tab 2480@item @value{prefixhop}toto@value{postfix} @tab
@@ -2449,7 +2501,8 @@ Next @kbd{@key{TAB}} brings you all machine names @value{tramp} detects in
2449your @file{/etc/hosts} file, let's say 2501your @file{/etc/hosts} file, let's say
2450 2502
2451@example 2503@example
2452@multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}} 2504@multitable @columnfractions .5 .5
2505@c @multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}}
2453@item @trampfn{telnet, , 127.0.0.1,} @tab @trampfn{telnet, , 192.168.0.1,} 2506@item @trampfn{telnet, , 127.0.0.1,} @tab @trampfn{telnet, , 192.168.0.1,}
2454@item @trampfn{telnet, , @value{ipv6prefix}::1@value{ipv6postfix},} @tab @trampfn{telnet, , localhost,} 2507@item @trampfn{telnet, , @value{ipv6prefix}::1@value{ipv6postfix},} @tab @trampfn{telnet, , localhost,}
2455@item @trampfn{telnet, , melancholia.danann.net,} @tab @trampfn{telnet, , melancholia,} 2508@item @trampfn{telnet, , melancholia.danann.net,} @tab @trampfn{telnet, , melancholia,}
@@ -2940,7 +2993,7 @@ host as well as the time needed to perform the operations there count.
2940In order to speed up @value{tramp}, one could either try to avoid some 2993In order to speed up @value{tramp}, one could either try to avoid some
2941of the operations, or one could try to improve their performance. 2994of the operations, or one could try to improve their performance.
2942 2995
2943Use an external method, like @option{scpc}. 2996Use an external method, like @option{scp}.
2944 2997
2945Use caching. This is already enabled by default. Information about 2998Use caching. This is already enabled by default. Information about
2946the remote host as well as the remote files are cached for reuse. The 2999the remote host as well as the remote files are cached for reuse. The
@@ -3066,20 +3119,6 @@ Host *
3066 3119
3067 3120
3068@item 3121@item
3069How can I use @samp{ControlPersist}?
3070
3071When @samp{ControlPersist} is set to @samp{yes}, the @option{scpc}
3072method does not work. You can use @option{scpx} instead with the
3073following settings in @file{~/.ssh/config}:
3074
3075@example
3076Host *
3077 ControlMaster auto
3078 ControlPersist yes
3079@end example
3080
3081
3082@item
3083File name completion does not work with @value{tramp} 3122File name completion does not work with @value{tramp}
3084 3123
3085When you log in to the remote machine, do you see the output of 3124When you log in to the remote machine, do you see the output of
@@ -3870,3 +3909,4 @@ for @value{emacsothername}.
3870@c * Use `filename' resp. `file name' consistently. 3909@c * Use `filename' resp. `file name' consistently.
3871@c * Use `host' resp. `machine' consistently. 3910@c * Use `host' resp. `machine' consistently.
3872@c * Consistent small or capitalized words especially in menus. 3911@c * Consistent small or capitalized words especially in menus.
3912@c * Make a unique declaration of @trampfn.
diff --git a/doc/misc/url.texi b/doc/misc/url.texi
index 9e9dbc0a77d..49f8f3f0959 100644
--- a/doc/misc/url.texi
+++ b/doc/misc/url.texi
@@ -890,7 +890,7 @@ containing the data cached for that URL.
890 890
891@c With a large cache of documents on the local disk, it can be very handy 891@c With a large cache of documents on the local disk, it can be very handy
892@c when traveling, or any other time the network connection is not active 892@c when traveling, or any other time the network connection is not active
893@c (a laptop with a dial-on-demand PPP connection, etc). Emacs/W3 can rely 893@c (a laptop with a dial-on-demand PPP connection, etc.). Emacs/W3 can rely
894@c solely on its cache, and avoid checking to see if the page has changed 894@c solely on its cache, and avoid checking to see if the page has changed
895@c on the remote server. In the case of a dial-on-demand PPP connection, 895@c on the remote server. In the case of a dial-on-demand PPP connection,
896@c this will keep the phone line free as long as possible, only bringing up 896@c this will keep the phone line free as long as possible, only bringing up
diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi
index 01048d43dbf..7c998b37010 100644
--- a/doc/misc/vip.texi
+++ b/doc/misc/vip.texi
@@ -356,7 +356,7 @@ you can abort a partially formed command by typing @kbd{C-g}.@refill
356As in Vi, searching is done by @kbd{/} and @kbd{?}. The string will be 356As in Vi, searching is done by @kbd{/} and @kbd{?}. The string will be
357searched literally by default. To invoke a regular expression search, 357searched literally by default. To invoke a regular expression search,
358first execute the search command @kbd{/} (or @kbd{?}) with empty search 358first execute the search command @kbd{/} (or @kbd{?}) with empty search
359string. (I.e, type @kbd{/} followed by @key{RET}.) 359string. (I.e., type @kbd{/} followed by @key{RET}.)
360A search for empty string will toggle the search mode between vanilla 360A search for empty string will toggle the search mode between vanilla
361search and regular expression search. You cannot give an offset to the 361search and regular expression search. You cannot give an offset to the
362search string. (It is a limitation.) By default, search will wrap around 362search string. (It is a limitation.) By default, search will wrap around
diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi
index 9bcecf8e3de..8b4c9e93f7c 100644
--- a/doc/misc/viper.texi
+++ b/doc/misc/viper.texi
@@ -3204,7 +3204,7 @@ and they don't look into the value of variable
3204syntax tables in order to not thwart the various major modes that set these 3204syntax tables in order to not thwart the various major modes that set these
3205tables. 3205tables.
3206 3206
3207The usual Emacs convention is used to indicate Control Characters, i.e 3207The usual Emacs convention is used to indicate Control Characters, i.e.,
3208C-h for Control-h. @emph{Do not confuse this with a sequence of separate 3208C-h for Control-h. @emph{Do not confuse this with a sequence of separate
3209characters 3209characters
3210C, -, h!!!} The @kbd{^} is itself, never used to indicate a 3210C, -, h!!!} The @kbd{^} is itself, never used to indicate a
diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi
index 3e4448ed1e0..9b9f9947da5 100644
--- a/doc/misc/woman.texi
+++ b/doc/misc/woman.texi
@@ -904,7 +904,7 @@ for a man configuration file. The default is
904 904
905@noindent 905@noindent
906[for GNU/Linux and Cygwin respectively.] A trailing separator (@file{/} 906[for GNU/Linux and Cygwin respectively.] A trailing separator (@file{/}
907for UNIX etc.) on directories is optional and the filename matched if a 907for UNIX etc.)@: on directories is optional and the filename matched if a
908directory is specified is the first to match the regexp 908directory is specified is the first to match the regexp
909@code{man.*\.conf}. If the environment variable @code{MANPATH} is not 909@code{man.*\.conf}. If the environment variable @code{MANPATH} is not
910set but a configuration file is found then it is parsed instead (or as 910set but a configuration file is found then it is parsed instead (or as