diff options
| author | Tom Tromey | 2013-06-03 12:25:05 -0600 |
|---|---|---|
| committer | Tom Tromey | 2013-06-03 12:25:05 -0600 |
| commit | 68359abba96d7ec4db8aab3d3dd9cf1105c3bab5 (patch) | |
| tree | 862703e7e1a1888170136a8296a5750d6b2ae2eb /doc/misc | |
| parent | cbcba8ce7f980b01c18c0fd561ef6687b1361507 (diff) | |
| parent | e2d8a6f0a229b4ebe26484b892ec4f14888f58b6 (diff) | |
| download | emacs-68359abba96d7ec4db8aab3d3dd9cf1105c3bab5.tar.gz emacs-68359abba96d7ec4db8aab3d3dd9cf1105c3bab5.zip | |
merge from trunk; clean up some issues
Diffstat (limited to 'doc/misc')
| -rw-r--r-- | doc/misc/ChangeLog | 51 | ||||
| -rw-r--r-- | doc/misc/calc.texi | 20 | ||||
| -rw-r--r-- | doc/misc/cl.texi | 23 | ||||
| -rw-r--r-- | doc/misc/emacs-mime.texi | 6 | ||||
| -rw-r--r-- | doc/misc/erc.texi | 6 | ||||
| -rw-r--r-- | doc/misc/eshell.texi | 5 | ||||
| -rw-r--r-- | doc/misc/flymake.texi | 163 | ||||
| -rw-r--r-- | doc/misc/gnus.texi | 2 | ||||
| -rw-r--r-- | doc/misc/tramp.texi | 48 | ||||
| -rw-r--r-- | doc/misc/trampver.texi | 2 |
10 files changed, 214 insertions, 112 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 45862f93f0c..8ee12718980 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,50 @@ | |||
| 1 | 2013-05-28 Xue Fuqiao <xfq.free@gmail.com> | ||
| 2 | |||
| 3 | * erc.texi (Special Features): ERC is being maintained within | ||
| 4 | Emacs now. | ||
| 5 | |||
| 6 | 2013-05-25 Xue Fuqiao <xfq.free@gmail.com> | ||
| 7 | |||
| 8 | * flymake.texi: Changing from one space between sentences to two. | ||
| 9 | |||
| 10 | 2013-05-04 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 11 | |||
| 12 | * cl.texi (Obsolete Macros): Describe replacements for `flet' | ||
| 13 | (bug#14293). | ||
| 14 | |||
| 15 | 2013-04-16 Michael Albinus <michael.albinus@gmx.de> | ||
| 16 | |||
| 17 | * tramp.texi (Frequently Asked Questions): Precise, how to define | ||
| 18 | an own ControlPath. | ||
| 19 | |||
| 20 | 2013-04-15 Michael Albinus <michael.albinus@gmx.de> | ||
| 21 | |||
| 22 | * tramp.texi (Frequently Asked Questions): New item for | ||
| 23 | ControlPath settings. | ||
| 24 | |||
| 25 | 2013-03-31 Jay Belanger <jay.p.belanger@gmail.com> | ||
| 26 | |||
| 27 | * calc.texi: (Basic Operations on Units): Streamline some | ||
| 28 | descriptions. | ||
| 29 | |||
| 30 | 2013-03-27 Aidan Gauland <aidalgol@no8wireless.co.nz> | ||
| 31 | |||
| 32 | * eshell.texi (Built-ins): Update manual to mention tramp module. | ||
| 33 | |||
| 34 | 2013-03-18 Michael Albinus <michael.albinus@gmx.de> | ||
| 35 | |||
| 36 | * tramp.texi (Filename Syntax): Host names are not allowed to be | ||
| 37 | any method name, unless method name is specified explicitly. | ||
| 38 | Remove restriction on unibyte filenames. | ||
| 39 | |||
| 40 | * trampver.texi: Update release number. | ||
| 41 | |||
| 42 | 2013-03-17 Paul Eggert <eggert@cs.ucla.edu> | ||
| 43 | |||
| 44 | doc: convert some TeX accents to UTF-8 | ||
| 45 | * emacs-mime.texi (Interface Functions): Use 'ï' rather than | ||
| 46 | '@"{@dotless{i}}'. | ||
| 47 | |||
| 1 | 2013-03-15 Michael Albinus <michael.albinus@gmx.de> | 48 | 2013-03-15 Michael Albinus <michael.albinus@gmx.de> |
| 2 | 49 | ||
| 3 | Sync with Tramp 2.2.7. | 50 | Sync with Tramp 2.2.7. |
| @@ -2395,6 +2442,10 @@ | |||
| 2395 | dired-add-entry, dired-initial-position, dired-clean-up-after-deletion, | 2442 | dired-add-entry, dired-initial-position, dired-clean-up-after-deletion, |
| 2396 | dired-read-shell-command, or dired-find-buffer-nocreate. | 2443 | dired-read-shell-command, or dired-find-buffer-nocreate. |
| 2397 | 2444 | ||
| 2445 | 2013-02-18 Aidan Gauland <aidalgol@no8wireless.co.nz> | ||
| 2446 | |||
| 2447 | * eshell.texi (Input/Output): Document insert output redirection operator, >>>. | ||
| 2448 | |||
| 2398 | 2011-02-18 Glenn Morris <rgm@gnu.org> | 2449 | 2011-02-18 Glenn Morris <rgm@gnu.org> |
| 2399 | 2450 | ||
| 2400 | * dired-x.texi (Optional Installation File At Point): Simplify. | 2451 | * dired-x.texi (Optional Installation File At Point): Simplify. |
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 44462d1d5a8..b2b054ec1ea 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi | |||
| @@ -27911,11 +27911,10 @@ prompt first for the old units which this value should be considered | |||
| 27911 | to have, then for the new units. (If the value on the stack can be | 27911 | to have, then for the new units. (If the value on the stack can be |
| 27912 | simplified so that it doesn't contain any units, like @samp{ft/in} can | 27912 | simplified so that it doesn't contain any units, like @samp{ft/in} can |
| 27913 | be simplified to 12, then @kbd{u c} will still prompt for both old | 27913 | be simplified to 12, then @kbd{u c} will still prompt for both old |
| 27914 | units and new units. This can be disabled; @pxref{Customizing Calc}.) | 27914 | units and new units. Assuming the old and new units you give are |
| 27915 | Assuming the old and new units you give are consistent with each | 27915 | consistent with each other, the result also will not contain any |
| 27916 | other, the result also will not contain any units. For example, | 27916 | units. For example, @kbd{@w{u c} cm @key{RET} in @key{RET}} converts |
| 27917 | @kbd{@w{u c} cm @key{RET} in @key{RET}} converts the number 2 on the | 27917 | the number 2 on the stack to 5.08. |
| 27918 | stack to 5.08. | ||
| 27919 | 27918 | ||
| 27920 | @kindex u b | 27919 | @kindex u b |
| 27921 | @pindex calc-base-units | 27920 | @pindex calc-base-units |
| @@ -35694,17 +35693,6 @@ have different dimensions. The default value of @code{calc-ensure-consistent-uni | |||
| 35694 | is @code{nil}. | 35693 | is @code{nil}. |
| 35695 | @end defvar | 35694 | @end defvar |
| 35696 | 35695 | ||
| 35697 | @defvar calc-allow-units-as-numbers | ||
| 35698 | When converting units, the variable @code{calc-allow-units-as-numbers} | ||
| 35699 | determines whether or not values which can be simplified so that | ||
| 35700 | they don't contain units (such as @samp{ft/in} can be simplified to 12) | ||
| 35701 | can be regarded as not containing units. If | ||
| 35702 | @code{calc-allow-units-as-numbers} is non-@code{nil}, then @kbd{u c} | ||
| 35703 | will prompt for both old units and new units when converting an expression | ||
| 35704 | like @samp{ft/in}, otherwise @kbd{u c} will only prompt for the new units. | ||
| 35705 | The default value of @code{calc-allow-units-as-numbers} is @code{t}. | ||
| 35706 | @end defvar | ||
| 35707 | |||
| 35708 | @defvar calc-undo-length | 35696 | @defvar calc-undo-length |
| 35709 | The variable @code{calc-undo-length} determines the number of undo | 35697 | The variable @code{calc-undo-length} determines the number of undo |
| 35710 | steps that Calc will keep track of when @code{calc-quit} is called. | 35698 | steps that Calc will keep track of when @code{calc-quit} is called. |
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 83df411cb23..90f8a258d23 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi | |||
| @@ -4850,10 +4850,27 @@ generated directly inside Emacs will not be caught since they make | |||
| 4850 | direct C-language calls to the message routines rather than going | 4850 | direct C-language calls to the message routines rather than going |
| 4851 | through the Lisp @code{message} function. | 4851 | through the Lisp @code{message} function. |
| 4852 | 4852 | ||
| 4853 | For those cases where the dynamic scoping of @code{flet} is desired, | ||
| 4854 | @code{cl-flet} is clearly not a substitute. The most direct replacement would | ||
| 4855 | be instead to use @code{cl-letf} to temporarily rebind @code{(symbol-function | ||
| 4856 | '@var{fun})}. But in most cases, a better substitute is to use an advice, such | ||
| 4857 | as: | ||
| 4858 | |||
| 4859 | @example | ||
| 4860 | (defvar my-fun-advice-enable nil) | ||
| 4861 | (add-advice '@var{fun} :around | ||
| 4862 | (lambda (orig &rest args) | ||
| 4863 | (if my-fun-advice-enable (do-something) | ||
| 4864 | (apply orig args)))) | ||
| 4865 | @end example | ||
| 4866 | |||
| 4867 | so that you can then replace the @code{flet} with a simple dynamically scoped | ||
| 4868 | binding of @code{my-fun-advice-enable}. | ||
| 4869 | |||
| 4853 | @c Bug#411. | 4870 | @c Bug#411. |
| 4854 | Note that many primitives (e.g., @code{+}) have special byte-compile | 4871 | Note that many primitives (e.g., @code{+}) have special byte-compile handling. |
| 4855 | handling. Attempts to redefine such functions using @code{flet} will | 4872 | Attempts to redefine such functions using @code{flet}, @code{cl-letf}, or an |
| 4856 | fail if byte-compiled. | 4873 | advice will fail when byte-compiled. |
| 4857 | @c Or cl-flet. | 4874 | @c Or cl-flet. |
| 4858 | @c In such cases, use @code{labels} instead. | 4875 | @c In such cases, use @code{labels} instead. |
| 4859 | @end defmac | 4876 | @end defmac |
diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index 5f377e57725..cbb78af9d59 100644 --- a/doc/misc/emacs-mime.texi +++ b/doc/misc/emacs-mime.texi | |||
| @@ -1221,7 +1221,7 @@ Return the value of the field under point. | |||
| 1221 | @item mail-encode-encoded-word-region | 1221 | @item mail-encode-encoded-word-region |
| 1222 | @findex mail-encode-encoded-word-region | 1222 | @findex mail-encode-encoded-word-region |
| 1223 | Encode the non-@acronym{ASCII} words in the region. For instance, | 1223 | Encode the non-@acronym{ASCII} words in the region. For instance, |
| 1224 | @samp{Na@"{@dotless{i}}ve} is encoded as @samp{=?iso-8859-1?q?Na=EFve?=}. | 1224 | @samp{Naïve} is encoded as @samp{=?iso-8859-1?q?Na=EFve?=}. |
| 1225 | 1225 | ||
| 1226 | @item mail-encode-encoded-word-buffer | 1226 | @item mail-encode-encoded-word-buffer |
| 1227 | @findex mail-encode-encoded-word-buffer | 1227 | @findex mail-encode-encoded-word-buffer |
| @@ -1234,7 +1234,7 @@ Encode the words that need encoding in a string, and return the result. | |||
| 1234 | 1234 | ||
| 1235 | @example | 1235 | @example |
| 1236 | (mail-encode-encoded-word-string | 1236 | (mail-encode-encoded-word-string |
| 1237 | "This is na@"{@dotless{i}}ve, baby") | 1237 | "This is naïve, baby") |
| 1238 | @result{} "This is =?iso-8859-1?q?na=EFve,?= baby" | 1238 | @result{} "This is =?iso-8859-1?q?na=EFve,?= baby" |
| 1239 | @end example | 1239 | @end example |
| 1240 | 1240 | ||
| @@ -1249,7 +1249,7 @@ Decode the encoded words in the string and return the result. | |||
| 1249 | @example | 1249 | @example |
| 1250 | (mail-decode-encoded-word-string | 1250 | (mail-decode-encoded-word-string |
| 1251 | "This is =?iso-8859-1?q?na=EFve,?= baby") | 1251 | "This is =?iso-8859-1?q?na=EFve,?= baby") |
| 1252 | @result{} "This is na@"{@dotless{i}}ve, baby" | 1252 | @result{} "This is naïve, baby" |
| 1253 | @end example | 1253 | @end example |
| 1254 | 1254 | ||
| 1255 | @end table | 1255 | @end table |
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index cc61cd1ab5b..33686fd79fd 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi | |||
| @@ -234,9 +234,9 @@ forwards. | |||
| 234 | 234 | ||
| 235 | Different channels and servers may have different language encodings. | 235 | Different channels and servers may have different language encodings. |
| 236 | 236 | ||
| 237 | In addition, it is possible to translate the messages that ERC uses into | 237 | In addition, it is possible to translate the messages that ERC uses |
| 238 | multiple languages. Please contact the developers of ERC at | 238 | into multiple languages. Please contact the developers of Emacs at |
| 239 | @email{erc-discuss@@gnu.org} if you are interested in helping with the | 239 | @email{emacs-devel@@gnu.org} if you are interested in helping with the |
| 240 | translation effort. | 240 | translation effort. |
| 241 | 241 | ||
| 242 | @item user scripting | 242 | @item user scripting |
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index ec01f731daf..dca95da2d10 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi | |||
| @@ -460,8 +460,9 @@ With @samp{cd -42}, you can access the directory stack by number. | |||
| 460 | @cmindex su | 460 | @cmindex su |
| 461 | @itemx sudo | 461 | @itemx sudo |
| 462 | @cmindex sudo | 462 | @cmindex sudo |
| 463 | Uses TRAMP's @command{su} or @command{sudo} method to run a command via | 463 | Uses TRAMP's @command{su} or @command{sudo} method @pxref{Inline methods, , , tramp} |
| 464 | @command{su} or @command{sudo}. | 464 | to run a command via @command{su} or @command{sudo}. These commands |
| 465 | are in the eshell-tramp module, which is disabled by default. | ||
| 465 | 466 | ||
| 466 | @end table | 467 | @end table |
| 467 | 468 | ||
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index 5dedda16ee1..f88bd95008c 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi | |||
| @@ -63,13 +63,13 @@ modify this GNU manual.'' | |||
| 63 | @cindex Overview of Flymake | 63 | @cindex Overview of Flymake |
| 64 | 64 | ||
| 65 | Flymake is a universal on-the-fly syntax checker implemented as an | 65 | Flymake is a universal on-the-fly syntax checker implemented as an |
| 66 | Emacs minor mode. Flymake runs the pre-configured syntax check tool | 66 | Emacs 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 |
| 68 | background, passing it a temporary copy of the current buffer, and | 68 | background, passing it a temporary copy of the current buffer, and |
| 69 | parses the output for known error/warning message patterns. Flymake | 69 | parses the output for known error/warning message patterns. Flymake |
| 70 | then highlights erroneous lines (i.e., lines for which at least one | 70 | then highlights erroneous lines (i.e., lines for which at least one |
| 71 | error or warning has been reported by the syntax check tool), and | 71 | error or warning has been reported by the syntax check tool), and |
| 72 | displays an overall buffer status in the mode line. Status information | 72 | displays an overall buffer status in the mode line. Status information |
| 73 | displayed by Flymake contains total number of errors and warnings | 73 | displayed by Flymake contains total number of errors and warnings |
| 74 | reported for the buffer during the last syntax check. | 74 | reported for the buffer during the last syntax check. |
| 75 | 75 | ||
| @@ -79,14 +79,14 @@ line, respectively. | |||
| 79 | 79 | ||
| 80 | Calling @code{flymake-display-err-menu-for-current-line} will popup a | 80 | Calling @code{flymake-display-err-menu-for-current-line} will popup a |
| 81 | menu containing error messages reported by the syntax check tool for | 81 | menu containing error messages reported by the syntax check tool for |
| 82 | the current line. Errors/warnings belonging to another file, such as a | 82 | the current line. Errors/warnings belonging to another file, such as a |
| 83 | @code{.h} header file included by a @code{.c} file, are shown in the | 83 | @code{.h} header file included by a @code{.c} file, are shown in the |
| 84 | current buffer as belonging to the first line. Menu items for such | 84 | current buffer as belonging to the first line. Menu items for such |
| 85 | messages also contain a filename and a line number. Selecting such a | 85 | messages also contain a filename and a line number. Selecting such a |
| 86 | menu item will automatically open the file and jump to the line with | 86 | menu item will automatically open the file and jump to the line with |
| 87 | error. | 87 | error. |
| 88 | 88 | ||
| 89 | Syntax check is done 'on-the-fly'. It is started whenever | 89 | Syntax check is done 'on-the-fly'. It is started whenever |
| 90 | 90 | ||
| 91 | @itemize @bullet | 91 | @itemize @bullet |
| 92 | @item buffer is loaded | 92 | @item buffer is loaded |
| @@ -97,7 +97,7 @@ delay is configurable). | |||
| 97 | 97 | ||
| 98 | Flymake is a universal syntax checker in the sense that it's easily | 98 | Flymake is a universal syntax checker in the sense that it's easily |
| 99 | extended to support new syntax check tools and error message | 99 | extended to support new syntax check tools and error message |
| 100 | patterns. @xref{Configuring Flymake}. | 100 | patterns. @xref{Configuring Flymake}. |
| 101 | 101 | ||
| 102 | @node Installing Flymake | 102 | @node Installing Flymake |
| 103 | @chapter Installing | 103 | @chapter Installing |
| @@ -107,7 +107,7 @@ patterns. @xref{Configuring Flymake}. | |||
| 107 | Flymake is packaged in a single file, @code{flymake.el}. | 107 | Flymake is packaged in a single file, @code{flymake.el}. |
| 108 | 108 | ||
| 109 | To install/update Flymake, place @code{flymake.el} to a directory | 109 | To install/update Flymake, place @code{flymake.el} to a directory |
| 110 | somewhere on Emacs load path. You might also want to byte-compile | 110 | somewhere on Emacs load path. You might also want to byte-compile |
| 111 | @code{flymake.el} to improve performance. | 111 | @code{flymake.el} to improve performance. |
| 112 | 112 | ||
| 113 | Also, place the following line in the @code{.emacs} file. | 113 | Also, place the following line in the @code{.emacs} file. |
| @@ -141,13 +141,13 @@ You might also map the most frequently used Flymake functions, such as | |||
| 141 | @section Flymake mode | 141 | @section Flymake mode |
| 142 | @cindex flymake-mode | 142 | @cindex flymake-mode |
| 143 | 143 | ||
| 144 | Flymake is an Emacs minor mode. To use Flymake, you | 144 | Flymake is an Emacs minor mode. To use Flymake, you |
| 145 | must first activate @code{flymake-mode} by using the | 145 | must first activate @code{flymake-mode} by using the |
| 146 | @code{flymake-mode} function. | 146 | @code{flymake-mode} function. |
| 147 | 147 | ||
| 148 | Instead of manually activating @code{flymake-mode}, you can configure | 148 | Instead of manually activating @code{flymake-mode}, you can configure |
| 149 | Flymake to automatically enable @code{flymake-mode} upon opening any | 149 | Flymake to automatically enable @code{flymake-mode} upon opening any |
| 150 | file for which syntax check is possible. To do so, place the following | 150 | file for which syntax check is possible. To do so, place the following |
| 151 | line in @code{.emacs}: | 151 | line in @code{.emacs}: |
| 152 | 152 | ||
| 153 | @lisp | 153 | @lisp |
| @@ -159,9 +159,9 @@ line in @code{.emacs}: | |||
| 159 | @cindex Manually starting the syntax check | 159 | @cindex Manually starting the syntax check |
| 160 | 160 | ||
| 161 | When @code{flymake-mode} is active, syntax check is started | 161 | When @code{flymake-mode} is active, syntax check is started |
| 162 | automatically on any of the three conditions mentioned above. Syntax | 162 | automatically on any of the three conditions mentioned above. Syntax |
| 163 | check can also be started manually by using the | 163 | check can also be started manually by using the |
| 164 | @code{flymake-start-syntax-check-for-current-buffer} function. This | 164 | @code{flymake-start-syntax-check-for-current-buffer} function. This |
| 165 | can be used, for example, when changes were made to some other buffer | 165 | can be used, for example, when changes were made to some other buffer |
| 166 | affecting the current buffer. | 166 | affecting the current buffer. |
| 167 | 167 | ||
| @@ -171,7 +171,7 @@ affecting the current buffer. | |||
| 171 | 171 | ||
| 172 | After syntax check is completed, lines for which at least one error or | 172 | After syntax check is completed, lines for which at least one error or |
| 173 | warning has been reported are highlighted, and total number of errors | 173 | warning has been reported are highlighted, and total number of errors |
| 174 | and warning is shown in the mode line. Use the following functions to | 174 | and warning is shown in the mode line. Use the following functions to |
| 175 | navigate the highlighted lines. | 175 | navigate the highlighted lines. |
| 176 | 176 | ||
| 177 | @multitable @columnfractions 0.25 0.75 | 177 | @multitable @columnfractions 0.25 0.75 |
| @@ -184,7 +184,7 @@ navigate the highlighted lines. | |||
| 184 | 184 | ||
| 185 | @end multitable | 185 | @end multitable |
| 186 | 186 | ||
| 187 | These functions treat erroneous lines as a linked list. Therefore, | 187 | These functions treat erroneous lines as a linked list. Therefore, |
| 188 | @code{flymake-goto-next-error} will go to the first erroneous line | 188 | @code{flymake-goto-next-error} will go to the first erroneous line |
| 189 | when invoked in the end of the buffer. | 189 | when invoked in the end of the buffer. |
| 190 | 190 | ||
| @@ -193,7 +193,7 @@ when invoked in the end of the buffer. | |||
| 193 | @cindex Viewing error messages | 193 | @cindex Viewing error messages |
| 194 | 194 | ||
| 195 | To view error messages belonging to the current line, use the | 195 | To view error messages belonging to the current line, use the |
| 196 | @code{flymake-display-err-menu-for-current-line} function. If there's | 196 | @code{flymake-display-err-menu-for-current-line} function. If there's |
| 197 | at least one error or warning reported for the current line, this | 197 | at least one error or warning reported for the current line, this |
| 198 | function will display a popup menu with error/warning texts. | 198 | function will display a popup menu with error/warning texts. |
| 199 | Selecting the menu item whose error belongs to another file brings | 199 | Selecting the menu item whose error belongs to another file brings |
| @@ -209,12 +209,12 @@ The following statuses are defined. | |||
| 209 | 209 | ||
| 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. | 213 | error 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: | 217 | successfully passed (no errors, no warnings). Other possibilities are: |
| 218 | syntax check was killed as a result of executing | 218 | syntax 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. | 220 | is currently in progress. |
| @@ -232,7 +232,7 @@ 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 | 235 | errors/warnings were reported. This indicates a possible configuration |
| 236 | error (for example, no suitable error message patterns for the | 236 | error (for example, no suitable error message patterns for the |
| 237 | syntax check tool). | 237 | syntax check tool). |
| 238 | 238 | ||
| @@ -253,12 +253,12 @@ syntax check tool). | |||
| 253 | @cindex Troubleshooting | 253 | @cindex Troubleshooting |
| 254 | 254 | ||
| 255 | Flymake uses a simple logging facility for indicating important points | 255 | Flymake uses a simple logging facility for indicating important points |
| 256 | in the control flow. The logging facility sends logging messages to | 256 | in the control flow. The logging facility sends logging messages to |
| 257 | the @code{*Messages*} buffer. The information logged can be used for | 257 | the @code{*Messages*} buffer. The information logged can be used for |
| 258 | resolving various problems related to Flymake. | 258 | resolving various problems related to Flymake. |
| 259 | 259 | ||
| 260 | Logging output is controlled by the @code{flymake-log-level} | 260 | Logging output is controlled by the @code{flymake-log-level} |
| 261 | variable. @code{3} is the most verbose level, and @code{-1} switches | 261 | variable. @code{3} is the most verbose level, and @code{-1} switches |
| 262 | logging off. | 262 | logging off. |
| 263 | 263 | ||
| 264 | @node Configuring Flymake | 264 | @node Configuring Flymake |
| @@ -286,30 +286,30 @@ Controls logging output, see @ref{Troubleshooting}. | |||
| 286 | 286 | ||
| 287 | @item flymake-allowed-file-name-masks | 287 | @item flymake-allowed-file-name-masks |
| 288 | A list of @code{(filename-regexp, init-function, cleanup-function | 288 | A list of @code{(filename-regexp, init-function, cleanup-function |
| 289 | getfname-function)} for configuring syntax check tools. @xref{Adding | 289 | getfname-function)} for configuring syntax check tools. @xref{Adding |
| 290 | support for a new syntax check tool}. | 290 | support for a new syntax check tool}. |
| 291 | 291 | ||
| 292 | @ignore | 292 | @ignore |
| 293 | @item flymake-buildfile-dirs | 293 | @item flymake-buildfile-dirs |
| 294 | A list of directories (relative paths) for searching a | 294 | A list of directories (relative paths) for searching a |
| 295 | buildfile. @xref{Locating the buildfile}. | 295 | buildfile. @xref{Locating the buildfile}. |
| 296 | @end ignore | 296 | @end ignore |
| 297 | 297 | ||
| 298 | @item flymake-master-file-dirs | 298 | @item flymake-master-file-dirs |
| 299 | A list of directories for searching a master file. @xref{Locating a | 299 | A list of directories for searching a master file. @xref{Locating a |
| 300 | master file}. | 300 | master file}. |
| 301 | 301 | ||
| 302 | @item flymake-get-project-include-dirs-function | 302 | @item flymake-get-project-include-dirs-function |
| 303 | A function used for obtaining a list of project include dirs (C/C++ | 303 | A function used for obtaining a list of project include dirs (C/C++ |
| 304 | specific). @xref{Getting the include directories}. | 304 | specific). @xref{Getting the include directories}. |
| 305 | 305 | ||
| 306 | @item flymake-master-file-count-limit | 306 | @item flymake-master-file-count-limit |
| 307 | @itemx flymake-check-file-limit | 307 | @itemx flymake-check-file-limit |
| 308 | Used when looking for a master file. @xref{Locating a master file}. | 308 | Used when looking for a master file. @xref{Locating a master file}. |
| 309 | 309 | ||
| 310 | @item flymake-err-line-patterns | 310 | @item flymake-err-line-patterns |
| 311 | Patterns for error/warning messages in the form @code{(regexp file-idx | 311 | Patterns for error/warning messages in the form @code{(regexp file-idx |
| 312 | line-idx col-idx err-text-idx)}. @xref{Parsing the output}. | 312 | line-idx col-idx err-text-idx)}. @xref{Parsing the output}. |
| 313 | 313 | ||
| 314 | @item flymake-compilation-prevents-syntax-check | 314 | @item flymake-compilation-prevents-syntax-check |
| 315 | A flag indicating whether compilation and syntax check of the same | 315 | A flag indicating whether compilation and syntax check of the same |
| @@ -321,7 +321,7 @@ started after @code{flymake-no-changes-timeout} seconds. | |||
| 321 | 321 | ||
| 322 | @item flymake-gui-warnings-enabled | 322 | @item flymake-gui-warnings-enabled |
| 323 | A boolean flag indicating whether Flymake will show message boxes for | 323 | A boolean flag indicating whether Flymake will show message boxes for |
| 324 | non-recoverable errors. If @code{flymake-gui-warnings-enabled} is | 324 | non-recoverable errors. If @code{flymake-gui-warnings-enabled} is |
| 325 | @code{nil}, these errors will only be logged to the @code{*Messages*} | 325 | @code{nil}, these errors will only be logged to the @code{*Messages*} |
| 326 | buffer. | 326 | buffer. |
| 327 | 327 | ||
| @@ -360,7 +360,7 @@ Which fringe (if any) should show the warning/error bitmaps. | |||
| 360 | @end menu | 360 | @end menu |
| 361 | 361 | ||
| 362 | Syntax check tools are configured using the | 362 | Syntax check tools are configured using the |
| 363 | @code{flymake-allowed-file-name-masks} list. Each item of this list | 363 | @code{flymake-allowed-file-name-masks} list. Each item of this list |
| 364 | has the following format: | 364 | has the following format: |
| 365 | 365 | ||
| 366 | @lisp | 366 | @lisp |
| @@ -371,14 +371,14 @@ has the following format: | |||
| 371 | @item filename-regexp | 371 | @item filename-regexp |
| 372 | This field is used as a key for locating init/cleanup/getfname | 372 | This field is used as a key for locating init/cleanup/getfname |
| 373 | functions for the buffer. Items in | 373 | functions for the buffer. Items in |
| 374 | @code{flymake-allowed-file-name-masks} are searched sequentially. The | 374 | @code{flymake-allowed-file-name-masks} are searched sequentially. The |
| 375 | first item with @code{filename-regexp} matching buffer filename is | 375 | first item with @code{filename-regexp} matching buffer filename is |
| 376 | selected. If no match is found, @code{flymake-mode} is switched off. | 376 | selected. If no match is found, @code{flymake-mode} is switched off. |
| 377 | 377 | ||
| 378 | @item init-function | 378 | @item init-function |
| 379 | @code{init-function} is required to initialize the syntax check, | 379 | @code{init-function} is required to initialize the syntax check, |
| 380 | usually by creating a temporary copy of the buffer contents. The | 380 | usually by creating a temporary copy of the buffer contents. The |
| 381 | function must return @code{(list cmd-name arg-list)}. If | 381 | function must return @code{(list cmd-name arg-list)}. If |
| 382 | @code{init-function} returns null, syntax check is aborted, by | 382 | @code{init-function} returns null, syntax check is aborted, by |
| 383 | @code{flymake-mode} is not switched off. | 383 | @code{flymake-mode} is not switched off. |
| 384 | 384 | ||
| @@ -389,7 +389,7 @@ usually deleting a temporary copy created by the @code{init-function}. | |||
| 389 | 389 | ||
| 390 | @item getfname-function | 390 | @item getfname-function |
| 391 | This function is used for translating filenames reported by the syntax | 391 | This function is used for translating filenames reported by the syntax |
| 392 | check tool into ``real'' filenames. Filenames reported by the tool | 392 | check tool into ``real'' filenames. Filenames reported by the tool |
| 393 | will be different from the real ones, as actually the tool works with | 393 | will be different from the real ones, as actually the tool works with |
| 394 | the temporary copy. In most cases, the default implementation | 394 | the temporary copy. In most cases, the default implementation |
| 395 | provided by Flymake, @code{flymake-get-real-file-name}, can be used as | 395 | provided by Flymake, @code{flymake-get-real-file-name}, can be used as |
| @@ -411,7 +411,7 @@ support for various syntax check tools. | |||
| 411 | @cindex Adding support for perl | 411 | @cindex Adding support for perl |
| 412 | 412 | ||
| 413 | In this example, we will add support for @code{perl} as a syntax check | 413 | In this example, we will add support for @code{perl} as a syntax check |
| 414 | tool. @code{perl} supports the @code{-c} option which does syntax | 414 | tool. @code{perl} supports the @code{-c} option which does syntax |
| 415 | checking. | 415 | checking. |
| 416 | 416 | ||
| 417 | First, we write the @code{init-function}: | 417 | First, we write the @code{init-function}: |
| @@ -463,7 +463,7 @@ In this example we will add support for C files syntax checked by | |||
| 463 | @command{gcc} called via @command{make}. | 463 | @command{gcc} called via @command{make}. |
| 464 | 464 | ||
| 465 | We're not required to write any new functions, as Flymake already has | 465 | We're not required to write any new functions, as Flymake already has |
| 466 | functions for @command{make}. We just add a new entry to the | 466 | functions for @command{make}. We just add a new entry to the |
| 467 | @code{flymake-allowed-file-name-masks}: | 467 | @code{flymake-allowed-file-name-masks}: |
| 468 | 468 | ||
| 469 | @lisp | 469 | @lisp |
| @@ -489,7 +489,7 @@ command line: | |||
| 489 | 489 | ||
| 490 | @code{base-dir} is a directory containing @code{Makefile}, see @ref{Locating the buildfile}. | 490 | @code{base-dir} is a directory containing @code{Makefile}, see @ref{Locating the buildfile}. |
| 491 | 491 | ||
| 492 | Thus, @code{Makefile} must contain the @code{check-syntax} target. In | 492 | Thus, @code{Makefile} must contain the @code{check-syntax} target. In |
| 493 | our case this target might look like this: | 493 | our case this target might look like this: |
| 494 | 494 | ||
| 495 | @verbatim | 495 | @verbatim |
| @@ -527,12 +527,12 @@ check-syntax: | |||
| 527 | 527 | ||
| 528 | Syntax check is started by calling @code{flymake-start-syntax-check-for-current-buffer}. | 528 | Syntax check is started by calling @code{flymake-start-syntax-check-for-current-buffer}. |
| 529 | Flymake first determines whether it is able to do syntax | 529 | Flymake first determines whether it is able to do syntax |
| 530 | check. It then saves a copy of the buffer in a temporary file in the | 530 | check. It then saves a copy of the buffer in a temporary file in the |
| 531 | buffer's directory (or in the system temp directory, for java | 531 | buffer's directory (or in the system temp directory, for java |
| 532 | files), creates a syntax check command and launches a process with | 532 | files), creates a syntax check command and launches a process with |
| 533 | this command. The output is parsed using a list of error message patterns, | 533 | this command. The output is parsed using a list of error message patterns, |
| 534 | and error information (file name, line number, type and text) is | 534 | and error information (file name, line number, type and text) is |
| 535 | saved. After the process has finished, Flymake highlights erroneous | 535 | saved. After the process has finished, Flymake highlights erroneous |
| 536 | lines in the buffer using the accumulated error information. | 536 | lines in the buffer using the accumulated error information. |
| 537 | 537 | ||
| 538 | @node Determining whether syntax check is possible | 538 | @node Determining whether syntax check is possible |
| @@ -551,14 +551,14 @@ Two syntax check modes are distinguished: | |||
| 551 | @item | 551 | @item |
| 552 | Buffer can be syntax checked in a standalone fashion, that is, the | 552 | Buffer can be syntax checked in a standalone fashion, that is, the |
| 553 | file (its temporary copy, in fact) can be passed over to the compiler to | 553 | file (its temporary copy, in fact) can be passed over to the compiler to |
| 554 | do the syntax check. Examples are C/C++ (.c, .cpp) and Java (.java) | 554 | do the syntax check. Examples are C/C++ (.c, .cpp) and Java (.java) |
| 555 | sources. | 555 | sources. |
| 556 | 556 | ||
| 557 | @item | 557 | @item |
| 558 | Buffer can be syntax checked, but additional file, called master file, | 558 | Buffer can be syntax checked, but additional file, called master file, |
| 559 | is required to perform this operation. A master file is a file that | 559 | is required to perform this operation. A master file is a file that |
| 560 | includes the current file, so that running a syntax check tool on it | 560 | includes the current file, so that running a syntax check tool on it |
| 561 | will also check syntax in the current file. Examples are C/C++ (.h, | 561 | will also check syntax in the current file. Examples are C/C++ (.h, |
| 562 | .hpp) headers. | 562 | .hpp) headers. |
| 563 | 563 | ||
| 564 | @end enumerate | 564 | @end enumerate |
| @@ -579,7 +579,7 @@ copies, finding master files, etc.), as well as some tool-specific | |||
| 579 | 579 | ||
| 580 | After the possibility of the syntax check has been determined, a | 580 | After the possibility of the syntax check has been determined, a |
| 581 | temporary copy of the current buffer is made so that the most recent | 581 | temporary copy of the current buffer is made so that the most recent |
| 582 | unsaved changes could be seen by the syntax check tool. Making a copy | 582 | unsaved changes could be seen by the syntax check tool. Making a copy |
| 583 | is quite straightforward in a standalone case (mode @code{1}), as it's | 583 | is quite straightforward in a standalone case (mode @code{1}), as it's |
| 584 | just saving buffer contents to a temporary file. | 584 | just saving buffer contents to a temporary file. |
| 585 | 585 | ||
| @@ -595,11 +595,11 @@ name. | |||
| 595 | Locating a master file is discussed in the following section. | 595 | Locating a master file is discussed in the following section. |
| 596 | 596 | ||
| 597 | Patching just changes all appropriate lines of the master file so that they | 597 | Patching just changes all appropriate lines of the master file so that they |
| 598 | use the new (temporary) name of the current file. For example, suppose current | 598 | use the new (temporary) name of the current file. For example, suppose current |
| 599 | file name is @code{file.h}, the master file is @code{file.cpp}, and | 599 | file name is @code{file.h}, the master file is @code{file.cpp}, and |
| 600 | it includes current file via @code{#include "file.h"}. Current file's copy | 600 | it includes current file via @code{#include "file.h"}. Current file's copy |
| 601 | is saved to file @code{file_flymake.h}, so the include line must be | 601 | is saved to file @code{file_flymake.h}, so the include line must be |
| 602 | changed to @code{#include "file_flymake.h"}. Finally, patched master file | 602 | changed to @code{#include "file_flymake.h"}. Finally, patched master file |
| 603 | is saved to @code{file_flymake_master.cpp}, and the last one is passed to | 603 | is saved to @code{file_flymake_master.cpp}, and the last one is passed to |
| 604 | the syntax check tool. | 604 | the syntax check tool. |
| 605 | 605 | ||
| @@ -609,27 +609,27 @@ the syntax check tool. | |||
| 609 | 609 | ||
| 610 | Master file is located in two steps. | 610 | Master file is located in two steps. |
| 611 | 611 | ||
| 612 | First, a list of possible master files is built. A simple name | 612 | First, a list of possible master files is built. A simple name |
| 613 | matching is used to find the files. For a C++ header @code{file.h}, | 613 | matching is used to find the files. For a C++ header @code{file.h}, |
| 614 | Flymake searches for all @code{.cpp} files in the directories whose relative paths are | 614 | Flymake searches for all @code{.cpp} files in the directories whose relative paths are |
| 615 | stored in a customizable variable @code{flymake-master-file-dirs}, which | 615 | stored in a customizable variable @code{flymake-master-file-dirs}, which |
| 616 | usually contains something like @code{("." "./src")}. No more than | 616 | usually contains something like @code{("." "./src")}. No more than |
| 617 | @code{flymake-master-file-count-limit} entries is added to the master file | 617 | @code{flymake-master-file-count-limit} entries is added to the master file |
| 618 | list. The list is then sorted to move files with names @code{file.cpp} to | 618 | list. The list is then sorted to move files with names @code{file.cpp} to |
| 619 | the top. | 619 | the top. |
| 620 | 620 | ||
| 621 | Next, each master file in a list is checked to contain the appropriate | 621 | Next, each master file in a list is checked to contain the appropriate |
| 622 | include directives. No more than @code{flymake-check-file-limit} of each | 622 | include directives. No more than @code{flymake-check-file-limit} of each |
| 623 | file are parsed. | 623 | file are parsed. |
| 624 | 624 | ||
| 625 | For @code{file.h}, the include directives to look for are | 625 | For @code{file.h}, the include directives to look for are |
| 626 | @code{#include "file.h"}, @code{#include "../file.h"}, etc. Each | 626 | @code{#include "file.h"}, @code{#include "../file.h"}, etc. Each |
| 627 | include is checked against a list of include directories | 627 | include is checked against a list of include directories |
| 628 | (see @ref{Getting the include directories}) to be sure it points to the | 628 | (see @ref{Getting the include directories}) to be sure it points to the |
| 629 | correct @code{file.h}. | 629 | correct @code{file.h}. |
| 630 | 630 | ||
| 631 | First matching master file found stops the search. The master file is then | 631 | First matching master file found stops the search. The master file is then |
| 632 | patched and saved to disk. In case no master file is found, syntax check is | 632 | patched and saved to disk. In case no master file is found, syntax check is |
| 633 | aborted, and corresponding status (!) is reported in the mode line. | 633 | aborted, and corresponding status (!) is reported in the mode line. |
| 634 | 634 | ||
| 635 | @node Getting the include directories | 635 | @node Getting the include directories |
| @@ -637,19 +637,19 @@ aborted, and corresponding status (!) is reported in the mode line. | |||
| 637 | @cindex Include directories (C/C++ specific) | 637 | @cindex Include directories (C/C++ specific) |
| 638 | 638 | ||
| 639 | Two sets of include directories are distinguished: system include directories | 639 | Two sets of include directories are distinguished: system include directories |
| 640 | and project include directories. The former is just the contents of the | 640 | and project include directories. The former is just the contents of the |
| 641 | @code{INCLUDE} environment variable. The latter is not so easy to obtain, | 641 | @code{INCLUDE} environment variable. The latter is not so easy to obtain, |
| 642 | and the way it can be obtained can vary greatly for different projects. | 642 | and the way it can be obtained can vary greatly for different projects. |
| 643 | Therefore, a customizable variable | 643 | Therefore, a customizable variable |
| 644 | @code{flymake-get-project-include-dirs-function} is used to provide the | 644 | @code{flymake-get-project-include-dirs-function} is used to provide the |
| 645 | way to implement the desired behavior. | 645 | way to implement the desired behavior. |
| 646 | 646 | ||
| 647 | The default implementation, @code{flymake-get-project-include-dirs-imp}, | 647 | The default implementation, @code{flymake-get-project-include-dirs-imp}, |
| 648 | uses a @command{make} call. This requires a correct base directory, that is, a | 648 | uses a @command{make} call. This requires a correct base directory, that is, a |
| 649 | directory containing a correct @file{Makefile}, to be determined. | 649 | directory containing a correct @file{Makefile}, to be determined. |
| 650 | 650 | ||
| 651 | As obtaining the project include directories might be a costly operation, its | 651 | As obtaining the project include directories might be a costly operation, its |
| 652 | return value is cached in the hash table. The cache is cleared in the beginning | 652 | return value is cached in the hash table. The cache is cleared in the beginning |
| 653 | of every syntax check attempt. | 653 | of every syntax check attempt. |
| 654 | 654 | ||
| 655 | @node Locating the buildfile | 655 | @node Locating the buildfile |
| @@ -659,18 +659,18 @@ of every syntax check attempt. | |||
| 659 | @cindex Makefile, locating | 659 | @cindex Makefile, locating |
| 660 | 660 | ||
| 661 | Flymake can be configured to use different tools for performing syntax | 661 | Flymake can be configured to use different tools for performing syntax |
| 662 | checks. For example, it can use direct compiler call to syntax check a perl | 662 | checks. For example, it can use direct compiler call to syntax check a perl |
| 663 | script or a call to @command{make} for a more complicated case of a | 663 | script or a call to @command{make} for a more complicated case of a |
| 664 | @code{C/C++} source. The general idea is that simple files, like perl | 664 | @code{C/C++} source. The general idea is that simple files, like perl |
| 665 | scripts and html pages, can be checked by directly invoking a | 665 | scripts and html pages, can be checked by directly invoking a |
| 666 | corresponding tool. Files that are usually more complex and generally | 666 | corresponding tool. Files that are usually more complex and generally |
| 667 | used as part of larger projects, might require non-trivial options to | 667 | used as part of larger projects, might require non-trivial options to |
| 668 | be passed to the syntax check tool, like include directories for | 668 | be passed to the syntax check tool, like include directories for |
| 669 | C++. The latter files are syntax checked using some build tool, like | 669 | C++. The latter files are syntax checked using some build tool, like |
| 670 | Make or Ant. | 670 | Make or Ant. |
| 671 | 671 | ||
| 672 | All Make configuration data is usually stored in a file called | 672 | All Make configuration data is usually stored in a file called |
| 673 | @code{Makefile}. To allow for future extensions, flymake uses a notion of | 673 | @code{Makefile}. To allow for future extensions, flymake uses a notion of |
| 674 | buildfile to reference the 'project configuration' file. | 674 | buildfile to reference the 'project configuration' file. |
| 675 | 675 | ||
| 676 | Special function, @code{flymake-find-buildfile} is provided for locating buildfiles. | 676 | Special function, @code{flymake-find-buildfile} is provided for locating buildfiles. |
| @@ -679,7 +679,7 @@ for possible master files. | |||
| 679 | @ignore | 679 | @ignore |
| 680 | A customizable variable | 680 | A customizable variable |
| 681 | @code{flymake-buildfile-dirs} holds a list of relative paths to the | 681 | @code{flymake-buildfile-dirs} holds a list of relative paths to the |
| 682 | buildfile. They are checked sequentially until a buildfile is found. | 682 | buildfile. They are checked sequentially until a buildfile is found. |
| 683 | @end ignore | 683 | @end ignore |
| 684 | In case there's no build file, syntax check is aborted. | 684 | In case there's no build file, syntax check is aborted. |
| 685 | 685 | ||
| @@ -690,7 +690,7 @@ Buildfile values are also cached. | |||
| 690 | @cindex Syntax check process | 690 | @cindex Syntax check process |
| 691 | 691 | ||
| 692 | The command line (command name and the list of arguments) for launching a process is returned by the | 692 | The command line (command name and the list of arguments) for launching a process is returned by the |
| 693 | initialization function. Flymake then just calls @code{start-process} | 693 | initialization function. Flymake then just calls @code{start-process} |
| 694 | to start an asynchronous process and configures process filter and | 694 | to start an asynchronous process and configures process filter and |
| 695 | sentinel which is used for processing the output of the syntax check | 695 | sentinel which is used for processing the output of the syntax check |
| 696 | tool. | 696 | tool. |
| @@ -701,24 +701,24 @@ tool. | |||
| 701 | 701 | ||
| 702 | The output generated by the syntax check tool is parsed in the process | 702 | The output generated by the syntax check tool is parsed in the process |
| 703 | filter/sentinel using the error message patterns stored in the | 703 | filter/sentinel using the error message patterns stored in the |
| 704 | @code{flymake-err-line-patterns} variable. This variable contains a | 704 | @code{flymake-err-line-patterns} variable. This variable contains a |
| 705 | list of items of the form @code{(regexp file-idx line-idx | 705 | list of items of the form @code{(regexp file-idx line-idx |
| 706 | err-text-idx)}, used to determine whether a particular line is an | 706 | err-text-idx)}, used to determine whether a particular line is an |
| 707 | error message and extract file name, line number and error text, | 707 | error message and extract file name, line number and error text, |
| 708 | respectively. Error type (error/warning) is also guessed by matching | 708 | respectively. Error type (error/warning) is also guessed by matching |
| 709 | error text with the '@code{^[wW]arning}' pattern. Anything that was not | 709 | error text with the '@code{^[wW]arning}' pattern. Anything that was not |
| 710 | classified as a warning is considered an error. Type is then used to | 710 | classified as a warning is considered an error. Type is then used to |
| 711 | sort error menu items, which shows error messages first. | 711 | sort error menu items, which shows error messages first. |
| 712 | 712 | ||
| 713 | Flymake is also able to interpret error message patterns missing err-text-idx | 713 | Flymake is also able to interpret error message patterns missing err-text-idx |
| 714 | information. This is done by merely taking the rest of the matched line | 714 | information. This is done by merely taking the rest of the matched line |
| 715 | (@code{(substring line (match-end 0))}) as error text. This trick allows | 715 | (@code{(substring line (match-end 0))}) as error text. This trick allows |
| 716 | to make use of a huge collection of error message line patterns from | 716 | to make use of a huge collection of error message line patterns from |
| 717 | @code{compile.el}. All these error patterns are appended to | 717 | @code{compile.el}. All these error patterns are appended to |
| 718 | the end of @code{flymake-err-line-patterns}. | 718 | the end of @code{flymake-err-line-patterns}. |
| 719 | 719 | ||
| 720 | The error information obtained is saved in a buffer local | 720 | The error information obtained is saved in a buffer local |
| 721 | variable. The buffer for which the process output belongs is | 721 | variable. The buffer for which the process output belongs is |
| 722 | determined from the process-id@w{}->@w{}buffer mapping updated | 722 | determined from the process-id@w{}->@w{}buffer mapping updated |
| 723 | after every process launch/exit. | 723 | after every process launch/exit. |
| 724 | 724 | ||
| @@ -727,7 +727,7 @@ after every process launch/exit. | |||
| 727 | @cindex Erroneous lines, faces | 727 | @cindex Erroneous lines, faces |
| 728 | 728 | ||
| 729 | Highlighting is implemented with overlays and happens in the process | 729 | Highlighting is implemented with overlays and happens in the process |
| 730 | sentinel, after calling the cleanup function. Two customizable faces | 730 | sentinel, after calling the cleanup function. Two customizable faces |
| 731 | are used: @code{flymake-errline} and | 731 | are used: @code{flymake-errline} and |
| 732 | @code{flymake-warnline}. Errors belonging outside the current | 732 | @code{flymake-warnline}. Errors belonging outside the current |
| 733 | buffer are considered to belong to line 1 of the current buffer. | 733 | buffer are considered to belong to line 1 of the current buffer. |
| @@ -749,12 +749,13 @@ and @code{flymake-warning-bitmap}. | |||
| 749 | The only mode flymake currently knows about is @code{compile}. | 749 | The only mode flymake currently knows about is @code{compile}. |
| 750 | 750 | ||
| 751 | Flymake can be configured to not start syntax check if it thinks the | 751 | Flymake can be configured to not start syntax check if it thinks the |
| 752 | compilation is in progress. The check is made by the | 752 | compilation is in progress. The check is made by the |
| 753 | @code{flymake-compilation-is-running}, which tests the | 753 | @code{flymake-compilation-is-running}, which tests the |
| 754 | @code{compilation-in-progress} variable. The reason why this might be | 754 | @code{compilation-in-progress} variable. The reason why this might be |
| 755 | useful is saving CPU time in case both syntax check and compilation | 755 | useful is saving CPU time in case both syntax check and compilation |
| 756 | are very CPU intensive. The original reason for adding this feature, | 756 | are very CPU intensive. The original reason for adding this feature, |
| 757 | though, was working around a locking problem with MS Visual C++ compiler. | 757 | though, was working around a locking problem with MS Visual C++ |
| 758 | compiler. | ||
| 758 | 759 | ||
| 759 | Flymake also provides an alternative command for starting compilation, | 760 | Flymake also provides an alternative command for starting compilation, |
| 760 | @code{flymake-compile}: | 761 | @code{flymake-compile}: |
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 983887d721d..a7a9647fd81 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi | |||
| @@ -15400,7 +15400,7 @@ substitutions in the group names), you can say things like: | |||
| 15400 | In this example, messages sent to @samp{debian-foo@@lists.debian.org} | 15400 | In this example, messages sent to @samp{debian-foo@@lists.debian.org} |
| 15401 | will be filed in @samp{mail.debian.foo}. | 15401 | will be filed in @samp{mail.debian.foo}. |
| 15402 | 15402 | ||
| 15403 | If the string contains the element @samp{\&}, then the previously | 15403 | If the string contains the element @samp{\\&}, then the previously |
| 15404 | matched string will be substituted. Similarly, the elements @samp{\\1} | 15404 | matched string will be substituted. Similarly, the elements @samp{\\1} |
| 15405 | up to @samp{\\9} will be substituted with the text matched by the | 15405 | up to @samp{\\9} will be substituted with the text matched by the |
| 15406 | groupings 1 through 9. | 15406 | groupings 1 through 9. |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 4a3e0ebc33c..4c3740f02f7 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -2406,13 +2406,18 @@ using the @option{ssh} method to transfer files, and edit | |||
| 2406 | @file{.emacs} in my home directory I would specify the filename | 2406 | @file{.emacs} in my home directory I would specify the filename |
| 2407 | @file{@trampfn{ssh, daniel, melancholia, .emacs}}. | 2407 | @file{@trampfn{ssh, daniel, melancholia, .emacs}}. |
| 2408 | 2408 | ||
| 2409 | @ifset emacs | ||
| 2410 | A remote filename containing a host name only, which is equal to a | ||
| 2411 | method name, is not allowed. If such a host name is used, it must | ||
| 2412 | always be preceded by an explicit method name, like | ||
| 2413 | @file{@value{prefix}ssh@value{postfixhop}ssh@value{postfix}}. | ||
| 2414 | @end ifset | ||
| 2415 | |||
| 2409 | Finally, for some methods it is possible to specify a different port | 2416 | Finally, for some methods it is possible to specify a different port |
| 2410 | number than the default one, given by the method. This is specified | 2417 | number than the default one, given by the method. This is specified |
| 2411 | by adding @file{#<port>} to the host name, like in @file{@trampfn{ssh, | 2418 | by adding @file{#<port>} to the host name, like in @file{@trampfn{ssh, |
| 2412 | daniel, melancholia#42, .emacs}}. | 2419 | daniel, melancholia#42, .emacs}}. |
| 2413 | 2420 | ||
| 2414 | Note that @value{tramp} supports only filenames encoded in unibyte. | ||
| 2415 | |||
| 2416 | 2421 | ||
| 2417 | @node Alternative Syntax | 2422 | @node Alternative Syntax |
| 2418 | @section URL-like filename syntax | 2423 | @section URL-like filename syntax |
| @@ -3119,6 +3124,45 @@ Host * | |||
| 3119 | 3124 | ||
| 3120 | 3125 | ||
| 3121 | @item | 3126 | @item |
| 3127 | @value{tramp} does not use my @command{ssh} @code{ControlPath} | ||
| 3128 | |||
| 3129 | Your @code{ControlPath} setting will be overwritten by @command{ssh} | ||
| 3130 | sessions initiated by @value{tramp}. This is because a master | ||
| 3131 | session, initiated outside @value{emacsname}, could be closed, which | ||
| 3132 | would stall all other @command{ssh} sessions for that host inside | ||
| 3133 | @value{emacsname}. | ||
| 3134 | |||
| 3135 | Consequently, if you connect to a remote host via @value{tramp}, you | ||
| 3136 | might be prompted for a password again, even if you have established | ||
| 3137 | already an @command{ssh} connection to that host. Further | ||
| 3138 | @value{tramp} connections to that host, for example in order to run a | ||
| 3139 | process on that host, will reuse that initial @command{ssh} | ||
| 3140 | connection. | ||
| 3141 | |||
| 3142 | If your @command{ssh} version supports the @code{ControlPersist} | ||
| 3143 | option, you could customize the variable | ||
| 3144 | @code{tramp-ssh-controlmaster-options} to use your @code{ControlPath}, | ||
| 3145 | for example: | ||
| 3146 | |||
| 3147 | @lisp | ||
| 3148 | (setq tramp-ssh-controlmaster-options | ||
| 3149 | (concat | ||
| 3150 | "-o ControlPath=/tmp/ssh-ControlPath-%%r@@%%h:%%p " | ||
| 3151 | "-o ControlMaster=auto -o ControlPersist=yes")) | ||
| 3152 | @end lisp | ||
| 3153 | |||
| 3154 | Note, that "%r", "%h" and "%p" must be encoded as "%%r", "%%h" and | ||
| 3155 | "%%p", respectively. The entries of @code{ControlPath}, | ||
| 3156 | @code{ControlMaster} and @code{ControlPersist} can be removed from | ||
| 3157 | this setting, if they are configured properly in your | ||
| 3158 | @file{~/.ssh/config}: | ||
| 3159 | |||
| 3160 | @lisp | ||
| 3161 | (setq tramp-ssh-controlmaster-options "") | ||
| 3162 | @end lisp | ||
| 3163 | |||
| 3164 | |||
| 3165 | @item | ||
| 3122 | File name completion does not work with @value{tramp} | 3166 | File name completion does not work with @value{tramp} |
| 3123 | 3167 | ||
| 3124 | When you log in to the remote machine, do you see the output of | 3168 | When you log in to the remote machine, do you see the output of |
diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi index 18c4252e6d2..c22141335e1 100644 --- a/doc/misc/trampver.texi +++ b/doc/misc/trampver.texi | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | @c In the Tramp CVS, the version number is auto-frobbed from | 8 | @c In the Tramp CVS, the version number is auto-frobbed from |
| 9 | @c configure.ac, so you should edit that file and run | 9 | @c configure.ac, so you should edit that file and run |
| 10 | @c "autoconf && ./configure" to change the version number. | 10 | @c "autoconf && ./configure" to change the version number. |
| 11 | @set trampver 2.2.7 | 11 | @set trampver 2.2.8-pre |
| 12 | 12 | ||
| 13 | @c Other flags from configuration | 13 | @c Other flags from configuration |
| 14 | @set instprefix /usr/local | 14 | @set instprefix /usr/local |