diff options
| author | Glenn Morris | 2018-01-29 07:50:21 -0800 |
|---|---|---|
| committer | Glenn Morris | 2018-01-29 07:50:21 -0800 |
| commit | 9c2c7b1cdc733ea9277676e43ba458d173491b66 (patch) | |
| tree | 2013c8951fa2b3006aed36f224193633d08f574c /doc | |
| parent | ea8c0e1b9eaa6651919fb4e039e3fcb5a1fa73db (diff) | |
| parent | 6415b2d40c13be2c5cd5f797718c391d1c4ce9e6 (diff) | |
| download | emacs-9c2c7b1cdc733ea9277676e43ba458d173491b66.tar.gz emacs-9c2c7b1cdc733ea9277676e43ba458d173491b66.zip | |
Merge from origin/emacs-26
6415b2d Allow read-passwd to hide characters inserted by C-y. (Secur...
8cb4ffb * etc/PROBLEMS: Document issues with double-buffering. (Bug#...
fd10070 * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
e1a4403 Minor changes in the Emacs manual
372fda6 Improve the "Files" chapter of the Emacs manual
9afc86d Improve the "Search" chapter of the Emacs manual
22f98b3 * src/indent.c (Findent_to): Doc fix. (Bug#30260)
085ee43 Improve documentation of 'edebug-defun'
4dd1b33 Mention crashes due to Noto Serif Kannada fonts
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/emacs/files.texi | 48 | ||||
| -rw-r--r-- | doc/emacs/search.texi | 30 | ||||
| -rw-r--r-- | doc/lispref/edebug.texi | 18 |
3 files changed, 54 insertions, 42 deletions
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 881210aab9a..083f64704ae 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi | |||
| @@ -738,7 +738,7 @@ survive a crash even if @code{fsync} works properly. | |||
| 738 | The @code{write-region-inhibit-fsync} variable controls whether | 738 | The @code{write-region-inhibit-fsync} variable controls whether |
| 739 | Emacs invokes @code{fsync} after saving a file. The variable's | 739 | Emacs invokes @code{fsync} after saving a file. The variable's |
| 740 | default value is @code{nil} when Emacs is interactive, and @code{t} | 740 | default value is @code{nil} when Emacs is interactive, and @code{t} |
| 741 | when Emacs runs in batch mode. | 741 | when Emacs runs in batch mode (@pxref{Initial Options, batch mode}). |
| 742 | 742 | ||
| 743 | Emacs never uses @code{fsync} when writing auto-save files, as these | 743 | Emacs never uses @code{fsync} when writing auto-save files, as these |
| 744 | files might lose data anyway. | 744 | files might lose data anyway. |
| @@ -824,6 +824,25 @@ diff-buffer-with-file} command. @xref{Comparing Files}. | |||
| 824 | @cindex file shadows | 824 | @cindex file shadows |
| 825 | @findex shadow-initialize | 825 | @findex shadow-initialize |
| 826 | 826 | ||
| 827 | You can arrange to keep identical @dfn{shadow} copies of certain | ||
| 828 | files in more than one place---possibly on different machines. To do | ||
| 829 | this, first you must set up a @dfn{shadow file group}, which is a set | ||
| 830 | of identically-named files shared between a list of sites. The file | ||
| 831 | group is permanent and applies to further Emacs sessions as well as | ||
| 832 | the current one. Once the group is set up, every time you exit Emacs, | ||
| 833 | it will copy the file you edited to the other files in its group. You | ||
| 834 | can also do the copying without exiting Emacs, by typing @w{@kbd{M-x | ||
| 835 | shadow-copy-files}}. | ||
| 836 | |||
| 837 | @cindex shadow cluster | ||
| 838 | A @dfn{shadow cluster} is a group of hosts that share directories, so | ||
| 839 | that copying to or from one of them is sufficient to update the file | ||
| 840 | on all of them. Each shadow cluster has a name, and specifies the | ||
| 841 | network address of a primary host (the one we copy files to), and a | ||
| 842 | regular expression that matches the host names of all the other hosts | ||
| 843 | in the cluster. You can define a shadow cluster with @w{@kbd{M-x | ||
| 844 | shadow-define-cluster}}. | ||
| 845 | |||
| 827 | @table @kbd | 846 | @table @kbd |
| 828 | @item M-x shadow-initialize | 847 | @item M-x shadow-initialize |
| 829 | Set up file shadowing. | 848 | Set up file shadowing. |
| @@ -839,32 +858,15 @@ Copy all pending shadow files. | |||
| 839 | Cancel the instruction to shadow some files. | 858 | Cancel the instruction to shadow some files. |
| 840 | @end table | 859 | @end table |
| 841 | 860 | ||
| 842 | You can arrange to keep identical @dfn{shadow} copies of certain files | 861 | To set up a shadow file group, use @w{@kbd{M-x |
| 843 | in more than one place---possibly on different machines. To do this, | 862 | shadow-define-literal-group}} or @w{@kbd{M-x |
| 844 | first you must set up a @dfn{shadow file group}, which is a set of | 863 | shadow-define-regexp-group}}. See their documentation strings for |
| 845 | identically-named files shared between a list of sites. The file | 864 | further information. |
| 846 | group is permanent and applies to further Emacs sessions as well as | ||
| 847 | the current one. Once the group is set up, every time you exit Emacs, | ||
| 848 | it will copy the file you edited to the other files in its group. You | ||
| 849 | can also do the copying without exiting Emacs, by typing @kbd{M-x | ||
| 850 | shadow-copy-files}. | ||
| 851 | |||
| 852 | To set up a shadow file group, use @kbd{M-x | ||
| 853 | shadow-define-literal-group} or @kbd{M-x shadow-define-regexp-group}. | ||
| 854 | See their documentation strings for further information. | ||
| 855 | 865 | ||
| 856 | Before copying a file to its shadows, Emacs asks for confirmation. | 866 | Before copying a file to its shadows, Emacs asks for confirmation. |
| 857 | You can answer ``no'' to bypass copying of this file, this time. If | 867 | You can answer ``no'' to bypass copying of this file, this time. If |
| 858 | you want to cancel the shadowing permanently for a certain file, use | 868 | you want to cancel the shadowing permanently for a certain file, use |
| 859 | @kbd{M-x shadow-cancel} to eliminate or change the shadow file group. | 869 | @w{@kbd{M-x shadow-cancel}} to eliminate or change the shadow file group. |
| 860 | |||
| 861 | A @dfn{shadow cluster} is a group of hosts that share directories, so | ||
| 862 | that copying to or from one of them is sufficient to update the file | ||
| 863 | on all of them. Each shadow cluster has a name, and specifies the | ||
| 864 | network address of a primary host (the one we copy files to), and a | ||
| 865 | regular expression that matches the host names of all the other hosts | ||
| 866 | in the cluster. You can define a shadow cluster with @kbd{M-x | ||
| 867 | shadow-define-cluster}. | ||
| 868 | 870 | ||
| 869 | @node Time Stamps | 871 | @node Time Stamps |
| 870 | @subsection Updating Time Stamps Automatically | 872 | @subsection Updating Time Stamps Automatically |
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index b351a741aa5..bb01f10d2cb 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi | |||
| @@ -776,16 +776,16 @@ Search}. | |||
| 776 | @cindex regular expression | 776 | @cindex regular expression |
| 777 | @cindex regexp | 777 | @cindex regexp |
| 778 | 778 | ||
| 779 | This manual describes regular expression features that users | 779 | This section (and this manual in general) describes regular |
| 780 | typically use. @xref{Regular Expressions,,, elisp, The Emacs Lisp | 780 | expression features that users typically use. @xref{Regular |
| 781 | Reference Manual}, for additional features used mainly in Lisp | 781 | Expressions,,, elisp, The Emacs Lisp Reference Manual}, for additional |
| 782 | programs. | 782 | features used mainly in Lisp programs. |
| 783 | 783 | ||
| 784 | Regular expressions have a syntax in which a few characters are | 784 | Regular expressions have a syntax in which a few characters are |
| 785 | special constructs and the rest are @dfn{ordinary}. An ordinary | 785 | special constructs and the rest are @dfn{ordinary}. An ordinary |
| 786 | character matches that same character and nothing else. The special | 786 | character matches that same character and nothing else. The special |
| 787 | characters are @samp{$^.*+?[\}. The character @samp{]} is special if | 787 | characters are @samp{$^.*+?[\}. The character @samp{]} is special if |
| 788 | it ends a character alternative (see later). The character @samp{-} | 788 | it ends a character alternative (see below). The character @samp{-} |
| 789 | is special inside a character alternative. Any other character | 789 | is special inside a character alternative. Any other character |
| 790 | appearing in a regular expression is ordinary, unless a @samp{\} | 790 | appearing in a regular expression is ordinary, unless a @samp{\} |
| 791 | precedes it. (When you use regular expressions in a Lisp program, | 791 | precedes it. (When you use regular expressions in a Lisp program, |
| @@ -803,11 +803,11 @@ of ``the same string'', rather than an exception.) | |||
| 803 | Any two regular expressions @var{a} and @var{b} can be concatenated. | 803 | Any two regular expressions @var{a} and @var{b} can be concatenated. |
| 804 | The result is a regular expression which matches a string if @var{a} | 804 | The result is a regular expression which matches a string if @var{a} |
| 805 | matches some amount of the beginning of that string and @var{b} | 805 | matches some amount of the beginning of that string and @var{b} |
| 806 | matches the rest of the string. For example, concatenating the | 806 | matches the rest of the string. As a trivial example, concatenating |
| 807 | regular expressions @samp{f} and @samp{o} gives the regular expression | 807 | the regular expressions @samp{f} and @samp{o} gives the regular |
| 808 | @samp{fo}, which matches only the string @samp{fo}. Still trivial. | 808 | expression @samp{fo}, which matches only the string @samp{fo}. To do |
| 809 | To do something nontrivial, you need to use one of the special | 809 | something less trivial, you need to use one of the special characters. |
| 810 | characters. Here is a list of them. | 810 | Here is a list of them. |
| 811 | 811 | ||
| 812 | @table @asis | 812 | @table @asis |
| 813 | @item @kbd{.}@: @r{(Period)} | 813 | @item @kbd{.}@: @r{(Period)} |
| @@ -1025,13 +1025,13 @@ To record a matched substring for future reference. | |||
| 1025 | 1025 | ||
| 1026 | This last application is not a consequence of the idea of a | 1026 | This last application is not a consequence of the idea of a |
| 1027 | parenthetical grouping; it is a separate feature that is assigned as a | 1027 | parenthetical grouping; it is a separate feature that is assigned as a |
| 1028 | second meaning to the same @samp{\( @dots{} \)} construct. In practice | 1028 | second meaning to the same @w{@samp{\( @dots{} \)}} construct. In practice |
| 1029 | there is usually no conflict between the two meanings; when there is | 1029 | there is usually no conflict between the two meanings; when there is |
| 1030 | a conflict, you can use a shy group. | 1030 | a conflict, you can use a shy group, described below. |
| 1031 | 1031 | ||
| 1032 | @item \(?: @dots{} \) | 1032 | @item \(?: @dots{} \) |
| 1033 | @cindex shy group, in regexp | 1033 | @cindex shy group, in regexp |
| 1034 | specifies a shy group that does not record the matched substring; | 1034 | specifies a @dfn{shy group} that does not record the matched substring; |
| 1035 | you can't refer back to it with @samp{\@var{d}} (see below). This is | 1035 | you can't refer back to it with @samp{\@var{d}} (see below). This is |
| 1036 | useful in mechanically combining regular expressions, so that you can | 1036 | useful in mechanically combining regular expressions, so that you can |
| 1037 | add groups for syntactic purposes without interfering with the | 1037 | add groups for syntactic purposes without interfering with the |
| @@ -1908,7 +1908,7 @@ which Emacs will use this display mode. The variable | |||
| 1908 | @code{search-slow-window-lines} controls the number of lines in the | 1908 | @code{search-slow-window-lines} controls the number of lines in the |
| 1909 | window Emacs pops up for displaying the search results; the default is | 1909 | window Emacs pops up for displaying the search results; the default is |
| 1910 | 1 line. Normally, this window will pop up at the bottom of the window | 1910 | 1 line. Normally, this window will pop up at the bottom of the window |
| 1911 | that displays the buffer where you start searching, bit if the value | 1911 | that displays the buffer where you start searching, but if the value |
| 1912 | of @code{search-slow-window-lines} is negative, that means to put the | 1912 | of @code{search-slow-window-lines} is negative, that means to put the |
| 1913 | window at the top and give it the number of lines that is the absolute | 1913 | window at the top and give it the number of lines that is the absolute |
| 1914 | value of that value. | 1914 | value of @code{search-slow-window-lines}. |
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi index 1a883e0f142..0c17e1e72ef 100644 --- a/doc/lispref/edebug.texi +++ b/doc/lispref/edebug.texi | |||
| @@ -209,6 +209,20 @@ session, it runs the hook @code{edebug-setup-hook}, then sets it to | |||
| 209 | @code{nil}. You can use this to load Edebug specifications | 209 | @code{nil}. You can use this to load Edebug specifications |
| 210 | associated with a package you are using, but only when you use Edebug. | 210 | associated with a package you are using, but only when you use Edebug. |
| 211 | 211 | ||
| 212 | @cindex edebug, failure to instrument | ||
| 213 | If Edebug detects a syntax error while instrumenting, it leaves point | ||
| 214 | at the erroneous code and signals an @code{invalid-read-syntax} error. | ||
| 215 | @c FIXME? I can't see that it "leaves point at the erroneous code". | ||
| 216 | Example: | ||
| 217 | |||
| 218 | @example | ||
| 219 | @error{} Invalid read syntax: "Expected lambda expression" | ||
| 220 | @end example | ||
| 221 | |||
| 222 | One potential reason for such a failure to instrument is that some | ||
| 223 | macro definitions are not yet known to Emacs. To work around this, | ||
| 224 | load the file which defines the function you are about to instrument. | ||
| 225 | |||
| 212 | @findex eval-expression @r{(Edebug)} | 226 | @findex eval-expression @r{(Edebug)} |
| 213 | To remove instrumentation from a definition, simply re-evaluate its | 227 | To remove instrumentation from a definition, simply re-evaluate its |
| 214 | definition in a way that does not instrument. There are two ways of | 228 | definition in a way that does not instrument. There are two ways of |
| @@ -216,10 +230,6 @@ evaluating forms that never instrument them: from a file with | |||
| 216 | @code{load}, and from the minibuffer with @code{eval-expression} | 230 | @code{load}, and from the minibuffer with @code{eval-expression} |
| 217 | (@kbd{M-:}). | 231 | (@kbd{M-:}). |
| 218 | 232 | ||
| 219 | If Edebug detects a syntax error while instrumenting, it leaves point | ||
| 220 | at the erroneous code and signals an @code{invalid-read-syntax} error. | ||
| 221 | @c FIXME? I can't see that it "leaves point at the erroneous code". | ||
| 222 | |||
| 223 | @xref{Edebug Eval}, for other evaluation functions available | 233 | @xref{Edebug Eval}, for other evaluation functions available |
| 224 | inside of Edebug. | 234 | inside of Edebug. |
| 225 | 235 | ||