diff options
| author | Glenn Morris | 2018-02-09 11:12:48 -0800 |
|---|---|---|
| committer | Glenn Morris | 2018-02-09 11:12:48 -0800 |
| commit | 875cb835f00260d58c536b3a3f7c0343fd5f28dc (patch) | |
| tree | 4f59af87328e8d4d69667b3b35c42f795e7d3d29 | |
| parent | 05e8b4392be7fb368dcf4e4a19f75f94b323028d (diff) | |
| parent | 0276743672672ce0caec7861741293a4ae11cb52 (diff) | |
| download | emacs-875cb835f00260d58c536b3a3f7c0343fd5f28dc.tar.gz emacs-875cb835f00260d58c536b3a3f7c0343fd5f28dc.zip | |
Merge from origin/emacs-26
0276743 (origin/emacs-26) Doc string fix in latin-alt.el
c9269af Minor improvements in package.texi
898a3e4 Minor improvement in Emacs user manual
8f7d718 * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
989d0af Improve documentation of mini-window resizing
923e415 More changes in the Emacs manual
565adf2 Clarify that text-quoting-style doesn't affect *Info* (Bug#24...
2dd273b Mention that shell quoting of % on w32 may fail (Bug#19350)
19fa6d5 Fix --no-build-details for w32 and macOS
979944c * doc/lispref/anti.texi (Antinews): Add some more antinews.
c2727e3 Fix crashes when run with --no-build-details
dc08490 More changes for the manual
04c5bd5 Doc fixes for process functions (Bug#30349)
e209034 Fix shr and CSS 4 color maps
5fe8192 Yet another round of improvements in the manual
Conflicts:
doc/emacs/files.texi
test/lisp/subr-tests.el
43 files changed, 484 insertions, 328 deletions
diff --git a/doc/emacs/anti.texi b/doc/emacs/anti.texi index d4b68a2fac4..b91516315ad 100644 --- a/doc/emacs/anti.texi +++ b/doc/emacs/anti.texi | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | @c Update the emacs.texi Antinews menu entry with the above version number. | 8 | @c Update the emacs.texi Antinews menu entry with the above version number. |
| 9 | 9 | ||
| 10 | For those users who live backwards in time, here is information | 10 | For those users who live backwards in time, here is information |
| 11 | about downgrading to Emacs version 25.2. We hope you will enjoy the | 11 | about downgrading to Emacs version 25.3. We hope you will enjoy the |
| 12 | greater simplicity that results from the absence of many @w{Emacs | 12 | greater simplicity that results from the absence of many @w{Emacs |
| 13 | @value{EMACSVER}} features. | 13 | @value{EMACSVER}} features. |
| 14 | 14 | ||
| @@ -47,7 +47,7 @@ development will make that unnecessary. | |||
| 47 | 47 | ||
| 48 | @item | 48 | @item |
| 49 | The @option{--fg-daemon} is gone, leaving only @option{--daemon}. No | 49 | The @option{--fg-daemon} is gone, leaving only @option{--daemon}. No |
| 50 | need to procrastinate on the dilemma whether you do or don't want the | 50 | need to procrastinate on the dilemma whether you do or do not want the |
| 51 | new shiny ``headless Emacs'' thingy. Hail, simplicity! | 51 | new shiny ``headless Emacs'' thingy. Hail, simplicity! |
| 52 | 52 | ||
| 53 | @item | 53 | @item |
| @@ -59,7 +59,7 @@ should be monochrome, but you will have to keep downgrading to older | |||
| 59 | Emacs versions to have that feature back.) | 59 | Emacs versions to have that feature back.) |
| 60 | 60 | ||
| 61 | @item | 61 | @item |
| 62 | Emacs 25.2 no longer supports magic signatures of the form | 62 | Emacs 25.3 no longer supports magic signatures of the form |
| 63 | @samp{#!/usr/bin/env @var{interpreter}} in scripts. Moving back in | 63 | @samp{#!/usr/bin/env @var{interpreter}} in scripts. Moving back in |
| 64 | time means you are getting closer to the ideal of the original Unix | 64 | time means you are getting closer to the ideal of the original Unix |
| 65 | design where all the interpreters lived in a single directory | 65 | design where all the interpreters lived in a single directory |
| @@ -70,11 +70,11 @@ ballast. | |||
| 70 | The double-buffering feature of Emacs display on X has been removed. | 70 | The double-buffering feature of Emacs display on X has been removed. |
| 71 | We decided that its complexity and a few random surprising | 71 | We decided that its complexity and a few random surprising |
| 72 | side-effects aren't justified by the gains, even though those gains | 72 | side-effects aren't justified by the gains, even though those gains |
| 73 | were hailed in some quarters. Yes, Emacs 25.2 will flicker in some | 73 | were hailed in some quarters. Yes, Emacs 25.3 will flicker in some |
| 74 | use cases, but we are sure Emacs users will be able to suck it, a they | 74 | use cases, but we are sure Emacs users will be able to suck it, as |
| 75 | have been doing for years. Since this feature is gone, we've also | 75 | they have been doing for years. Since this feature is gone, we've |
| 76 | removed the @code{inhibit-double-buffering} frame parameter, which is | 76 | also removed the @code{inhibit-double-buffering} frame parameter, |
| 77 | now unnecessary. | 77 | which is now unnecessary. |
| 78 | 78 | ||
| 79 | @item | 79 | @item |
| 80 | Non-breaking hyphens and ASCII characters displayed instead of | 80 | Non-breaking hyphens and ASCII characters displayed instead of |
| @@ -137,7 +137,7 @@ all those fancy options! | |||
| 137 | 137 | ||
| 138 | @item | 138 | @item |
| 139 | The complication known as ``single-line horizontal scrolling'' is no | 139 | The complication known as ``single-line horizontal scrolling'' is no |
| 140 | longer with you in Emacs 25.2. This feature was a bow to ``other | 140 | longer with you in Emacs 25.3. This feature was a bow to ``other |
| 141 | editors''; instead, let those other editors bow to Emacs by hscrolling | 141 | editors''; instead, let those other editors bow to Emacs by hscrolling |
| 142 | the entire window at all times. Repeat after me: ``The Emacs way is | 142 | the entire window at all times. Repeat after me: ``The Emacs way is |
| 143 | the Only Way!'' | 143 | the Only Way!'' |
| @@ -166,5 +166,5 @@ removed. Examples include @code{replace-buffer-contents} and | |||
| 166 | 166 | ||
| 167 | @item | 167 | @item |
| 168 | To keep up with decreasing computer memory capacity and disk space, many | 168 | To keep up with decreasing computer memory capacity and disk space, many |
| 169 | other functions and files have been eliminated in Emacs 25.2. | 169 | other functions and files have been eliminated in Emacs 25.3. |
| 170 | @end itemize | 170 | @end itemize |
diff --git a/doc/emacs/arevert-xtra.texi b/doc/emacs/arevert-xtra.texi index a619fed4b8f..45fca1f508d 100644 --- a/doc/emacs/arevert-xtra.texi +++ b/doc/emacs/arevert-xtra.texi | |||
| @@ -40,7 +40,6 @@ explained in the corresponding sections. | |||
| 40 | @menu | 40 | @menu |
| 41 | * Auto Reverting the Buffer Menu:: Auto Revert of the Buffer Menu. | 41 | * Auto Reverting the Buffer Menu:: Auto Revert of the Buffer Menu. |
| 42 | * Auto Reverting Dired:: Auto Revert of Dired buffers. | 42 | * Auto Reverting Dired:: Auto Revert of Dired buffers. |
| 43 | * Supporting additional buffers:: How to add more Auto Revert support. | ||
| 44 | @end menu | 43 | @end menu |
| 45 | 44 | ||
| 46 | @node Auto Reverting the Buffer Menu | 45 | @node Auto Reverting the Buffer Menu |
| @@ -68,13 +67,9 @@ automatically erasing the marks. | |||
| 68 | @node Auto Reverting Dired | 67 | @node Auto Reverting Dired |
| 69 | @subsection Auto Reverting Dired buffers | 68 | @subsection Auto Reverting Dired buffers |
| 70 | 69 | ||
| 71 | Auto-reverting Dired buffers currently works on GNU or Unix style | ||
| 72 | operating systems. It may not work satisfactorily on some other | ||
| 73 | systems. | ||
| 74 | |||
| 75 | Dired buffers only auto-revert when the file list of the buffer's main | 70 | Dired buffers only auto-revert when the file list of the buffer's main |
| 76 | directory changes (e.g., when a new file is added). They do not | 71 | directory changes (e.g., when a new file is added or deleted). They |
| 77 | auto-revert when information about a particular file changes | 72 | do not auto-revert when information about a particular file changes |
| 78 | (e.g., when the size changes) or when inserted subdirectories change. | 73 | (e.g., when the size changes) or when inserted subdirectories change. |
| 79 | To be sure that @emph{all} listed information is up to date, you have | 74 | To be sure that @emph{all} listed information is up to date, you have |
| 80 | to manually revert using @kbd{g}, @emph{even} if auto-reverting is | 75 | to manually revert using @kbd{g}, @emph{even} if auto-reverting is |
| @@ -98,99 +93,10 @@ If you want auto-reverting to resume in the presence of marks and | |||
| 98 | flags, mark the buffer non-modified using @kbd{M-~}. However, adding, | 93 | flags, mark the buffer non-modified using @kbd{M-~}. However, adding, |
| 99 | deleting or changing marks or flags will mark it modified again. | 94 | deleting or changing marks or flags will mark it modified again. |
| 100 | 95 | ||
| 101 | Remote Dired buffers are not auto-reverted (because it may be slow). | 96 | Remote Dired buffers are currently not auto-reverted. Neither are |
| 102 | Neither are Dired buffers for which you used shell wildcards or file | 97 | Dired buffers for which you used shell wildcards or file arguments to |
| 103 | arguments to list only some of the files. @file{*Find*} and | 98 | list only some of the files. @file{*Find*} and @file{*Locate*} |
| 104 | @file{*Locate*} buffers do not auto-revert either. | 99 | buffers do not auto-revert either. |
| 105 | |||
| 106 | @c FIXME? This should be in the elisp manual? | ||
| 107 | @node Supporting additional buffers | ||
| 108 | @subsection Adding Support for Auto-Reverting additional Buffers. | ||
| 109 | |||
| 110 | This section is intended for Elisp programmers who would like to add | ||
| 111 | support for auto-reverting new types of buffers. | ||
| 112 | |||
| 113 | To support auto-reverting the buffer must first of all have a suitable | ||
| 114 | @code{revert-buffer-function}. @xref{Definition of | ||
| 115 | revert-buffer-function,, Reverting, elisp, the Emacs Lisp Reference Manual}. | ||
| 116 | |||
| 117 | In addition, it must have a suitable @code{buffer-stale-function}. | ||
| 118 | |||
| 119 | @c FIXME only defvar in all of doc/emacs! | ||
| 120 | @defvar buffer-stale-function | ||
| 121 | The value of this variable is a function to check whether a | ||
| 122 | buffer needs reverting. This should be a function with one optional | ||
| 123 | argument @var{noconfirm}. The function should return non-@code{nil} | ||
| 124 | if the buffer should be reverted. The buffer is current when this | ||
| 125 | function is called. | ||
| 126 | |||
| 127 | While this function is mainly intended for use in auto-reverting, it | ||
| 128 | could be used for other purposes as well. For instance, if | ||
| 129 | auto-reverting is not enabled, it could be used to warn the user that | ||
| 130 | the buffer needs reverting. The idea behind the @var{noconfirm} | ||
| 131 | argument is that it should be @code{t} if the buffer is going to be | ||
| 132 | reverted without asking the user and @code{nil} if the function is | ||
| 133 | just going to be used to warn the user that the buffer is out of date. | ||
| 134 | In particular, for use in auto-reverting, @var{noconfirm} is @code{t}. | ||
| 135 | If the function is only going to be used for auto-reverting, you can | ||
| 136 | ignore the @var{noconfirm} argument. | ||
| 137 | |||
| 138 | If you just want to automatically auto-revert every | ||
| 139 | @code{auto-revert-interval} seconds (like the Buffer Menu), use: | ||
| 140 | |||
| 141 | @example | ||
| 142 | (setq-local buffer-stale-function | ||
| 143 | #'(lambda (&optional noconfirm) 'fast)) | ||
| 144 | @end example | ||
| 145 | |||
| 146 | @noindent | ||
| 147 | in the buffer's mode function. | ||
| 148 | |||
| 149 | The special return value @samp{fast} tells the caller that the need | ||
| 150 | for reverting was not checked, but that reverting the buffer is fast. | ||
| 151 | It also tells Auto Revert not to print any revert messages, even if | ||
| 152 | @code{auto-revert-verbose} is non-@code{nil}. This is important, as | ||
| 153 | getting revert messages every @code{auto-revert-interval} seconds can | ||
| 154 | be very annoying. The information provided by this return value could | ||
| 155 | also be useful if the function is consulted for purposes other than | ||
| 156 | auto-reverting. | ||
| 157 | @end defvar | ||
| 158 | |||
| 159 | Once the buffer has a suitable @code{revert-buffer-function} and | ||
| 160 | @code{buffer-stale-function}, several problems usually remain. | ||
| 161 | |||
| 162 | The buffer will only auto-revert if it is marked unmodified. Hence, | ||
| 163 | you will have to make sure that various functions mark the buffer | ||
| 164 | modified if and only if either the buffer contains information that | ||
| 165 | might be lost by reverting, or there is reason to believe that the user | ||
| 166 | might be inconvenienced by auto-reverting, because he is actively | ||
| 167 | working on the buffer. The user can always override this by manually | ||
| 168 | adjusting the modified status of the buffer. To support this, calling | ||
| 169 | the @code{revert-buffer-function} on a buffer that is marked | ||
| 170 | unmodified should always keep the buffer marked unmodified. | ||
| 171 | |||
| 172 | It is important to assure that point does not continuously jump around | ||
| 173 | as a consequence of auto-reverting. Of course, moving point might be | ||
| 174 | inevitable if the buffer radically changes. | ||
| 175 | |||
| 176 | You should make sure that the @code{revert-buffer-function} does not | ||
| 177 | print messages that unnecessarily duplicate Auto Revert's own messages, | ||
| 178 | displayed if @code{auto-revert-verbose} is @code{t}, and effectively | ||
| 179 | override a @code{nil} value for @code{auto-revert-verbose}. Hence, | ||
| 180 | adapting a mode for auto-reverting often involves getting rid of such | ||
| 181 | messages. This is especially important for buffers that automatically | ||
| 182 | revert every @code{auto-revert-interval} seconds. | ||
| 183 | |||
| 184 | If the new auto-reverting is part of Emacs, you should mention it | ||
| 185 | in the documentation string of @code{global-auto-revert-non-file-buffers}. | ||
| 186 | 100 | ||
| 187 | @ifinfo | 101 | Note that auto-reverting Dired buffers may not work satisfactorily on |
| 188 | Similarly, you should add a node to this chapter's menu. This node | 102 | some systems. |
| 189 | @end ifinfo | ||
| 190 | @ifnotinfo | ||
| 191 | Similarly, you should add a section to this chapter. This section | ||
| 192 | @end ifnotinfo | ||
| 193 | should at the very least make clear whether enabling auto-reverting | ||
| 194 | for the buffer reliably assures that all information in the buffer is | ||
| 195 | completely up to date (or will be after @code{auto-revert-interval} | ||
| 196 | seconds). | ||
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index 11be78de68b..8a8298bc2c4 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi | |||
| @@ -189,8 +189,9 @@ Move forward one character (@code{forward-char}). | |||
| 189 | This command (@code{right-char}) behaves like @kbd{C-f}, with one | 189 | This command (@code{right-char}) behaves like @kbd{C-f}, with one |
| 190 | exception: when editing right-to-left scripts such as Arabic, it | 190 | exception: when editing right-to-left scripts such as Arabic, it |
| 191 | instead moves @emph{backward} if the current paragraph is a | 191 | instead moves @emph{backward} if the current paragraph is a |
| 192 | right-to-left paragraph. @xref{Bidirectional Editing}. If | 192 | right-to-left paragraph. @xref{Bidirectional Editing}. |
| 193 | @code{visual-order-cursor-movement} is non-@code{nil}, this command | 193 | |
| 194 | If @code{visual-order-cursor-movement} is non-@code{nil}, this command | ||
| 194 | moves to the character that is to the right of the current screen | 195 | moves to the character that is to the right of the current screen |
| 195 | position, moving to the next or previous screen line as appropriate. | 196 | position, moving to the next or previous screen line as appropriate. |
| 196 | Note that this might potentially move point many buffer positions | 197 | Note that this might potentially move point many buffer positions |
| @@ -206,10 +207,10 @@ Move backward one character (@code{backward-char}). | |||
| 206 | @findex left-char | 207 | @findex left-char |
| 207 | This command (@code{left-char}) behaves like @kbd{C-b}, except it | 208 | This command (@code{left-char}) behaves like @kbd{C-b}, except it |
| 208 | moves @emph{forward} if the current paragraph is right-to-left. | 209 | moves @emph{forward} if the current paragraph is right-to-left. |
| 209 | @xref{Bidirectional Editing}. If @code{visual-order-cursor-movement} | 210 | @xref{Bidirectional Editing}. |
| 210 | is non-@code{nil}, this command moves to the character that is to the | 211 | |
| 211 | left of the current screen position, moving to the previous or next | 212 | The variable @code{visual-order-cursor-movement} affects this like |
| 212 | screen line as appropriate. | 213 | @key{RIGHT}, but moving left instead of right on the screen. |
| 213 | 214 | ||
| 214 | @item C-n | 215 | @item C-n |
| 215 | @itemx @key{DOWN} | 216 | @itemx @key{DOWN} |
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index 3b645d5e65c..f61e3335770 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi | |||
| @@ -384,6 +384,10 @@ grep -nH -e foo *.el | grep bar | grep toto | |||
| 384 | can find the corresponding lines in the original files using @w{@kbd{C-x | 384 | can find the corresponding lines in the original files using @w{@kbd{C-x |
| 385 | `}}, @key{RET}, and so forth, just like compilation errors. | 385 | `}}, @key{RET}, and so forth, just like compilation errors. |
| 386 | 386 | ||
| 387 | As with compilation commands (@pxref{Compilation}), while the grep | ||
| 388 | command runs, the mode line is updated to show the number of matches | ||
| 389 | that have been seen so far. | ||
| 390 | |||
| 387 | Some grep programs accept a @samp{--color} option to output special | 391 | Some grep programs accept a @samp{--color} option to output special |
| 388 | markers around matches for the purpose of highlighting. You can make | 392 | markers around matches for the purpose of highlighting. You can make |
| 389 | use of this feature by setting @code{grep-highlight-matches} to | 393 | use of this feature by setting @code{grep-highlight-matches} to |
| @@ -607,15 +611,16 @@ to recompile and restart the program. | |||
| 607 | @vindex gud-tooltip-echo-area | 611 | @vindex gud-tooltip-echo-area |
| 608 | GUD Tooltip mode is a global minor mode that adds tooltip support to | 612 | GUD Tooltip mode is a global minor mode that adds tooltip support to |
| 609 | GUD@. To toggle this mode, type @kbd{M-x gud-tooltip-mode}. It is | 613 | GUD@. To toggle this mode, type @kbd{M-x gud-tooltip-mode}. It is |
| 610 | disabled by default. If enabled, you can move the mouse cursor over a | 614 | disabled by default. If enabled, you can move the mouse pointer over a |
| 611 | variable, a function, or a macro (collectively called | 615 | variable, a function, or a macro (collectively called |
| 612 | @dfn{identifiers}) to show their values in tooltips | 616 | @dfn{identifiers}) to show their values in tooltips |
| 613 | (@pxref{Tooltips}). Alternatively, mark an identifier or an | 617 | (@pxref{Tooltips}). If just placing the mouse pointer over an |
| 614 | expression by dragging the mouse over it, then leave the mouse in the | 618 | expression doesn't show the value of the expression you had in mind, |
| 615 | marked area to have the value of the expression displayed in a | 619 | you can tell Emacs more explicitly what expression to evaluate by |
| 616 | tooltip. The GUD Tooltip mode takes effect in the GUD interaction | 620 | dragging the mouse over the expression, then leaving the mouse inside |
| 617 | buffer, and in all source buffers with major modes listed in the | 621 | the marked area. The GUD Tooltip mode takes effect in the GUD |
| 618 | variable @code{gud-tooltip-modes}. If the variable | 622 | interaction buffer, and in all source buffers with major modes listed |
| 623 | in the variable @code{gud-tooltip-modes}. If the variable | ||
| 619 | @code{gud-tooltip-echo-area} is non-@code{nil}, or if you turned off | 624 | @code{gud-tooltip-echo-area} is non-@code{nil}, or if you turned off |
| 620 | the tooltip mode, values are shown in the echo area instead of a | 625 | the tooltip mode, values are shown in the echo area instead of a |
| 621 | tooltip. | 626 | tooltip. |
| @@ -1217,9 +1222,9 @@ edit its value. | |||
| 1217 | @vindex gdb-delete-out-of-scope | 1222 | @vindex gdb-delete-out-of-scope |
| 1218 | If the variable @code{gdb-delete-out-of-scope} is non-@code{nil} | 1223 | If the variable @code{gdb-delete-out-of-scope} is non-@code{nil} |
| 1219 | (the default value), Emacs automatically deletes watch expressions | 1224 | (the default value), Emacs automatically deletes watch expressions |
| 1220 | which go out of scope. Sometimes, when re-entering the same function, | 1225 | which go out of scope. Sometimes, when your program re-enters the |
| 1221 | it may be useful to set this value to @code{nil} so that you don't | 1226 | same function many times, it may be useful to set this value to |
| 1222 | need to recreate the watch expression. | 1227 | @code{nil} so that you don't need to recreate the watch expression. |
| 1223 | 1228 | ||
| 1224 | @vindex gdb-use-colon-colon-notation | 1229 | @vindex gdb-use-colon-colon-notation |
| 1225 | If the variable @code{gdb-use-colon-colon-notation} is | 1230 | If the variable @code{gdb-use-colon-colon-notation} is |
| @@ -1284,7 +1289,7 @@ execution control commands. | |||
| 1284 | value), interruption and continuation commands apply to all threads, | 1289 | value), interruption and continuation commands apply to all threads, |
| 1285 | so you can halt or continue all your threads with one command using | 1290 | so you can halt or continue all your threads with one command using |
| 1286 | @code{gud-stop-subjob} and @code{gud-cont}, respectively. The | 1291 | @code{gud-stop-subjob} and @code{gud-cont}, respectively. The |
| 1287 | @samp{Go} button is shown on the toolbar when at least one thread is | 1292 | @samp{Go} button is shown on the tool bar when at least one thread is |
| 1288 | stopped, whereas @samp{Stop} button is shown when at least one thread | 1293 | stopped, whereas @samp{Stop} button is shown when at least one thread |
| 1289 | is running. | 1294 | is running. |
| 1290 | 1295 | ||
| @@ -1292,8 +1297,8 @@ is running. | |||
| 1292 | 1297 | ||
| 1293 | When @code{gdb-gud-control-all-threads} is @code{nil}, only the | 1298 | When @code{gdb-gud-control-all-threads} is @code{nil}, only the |
| 1294 | current thread is stopped/continued. @samp{Go} and @samp{Stop} | 1299 | current thread is stopped/continued. @samp{Go} and @samp{Stop} |
| 1295 | buttons on the GUD toolbar are shown depending on the state of current | 1300 | buttons on the GUD tool bar are shown depending on the state of |
| 1296 | thread. | 1301 | current thread. |
| 1297 | @end table | 1302 | @end table |
| 1298 | 1303 | ||
| 1299 | You can change the current value of @code{gdb-gud-control-all-threads} | 1304 | You can change the current value of @code{gdb-gud-control-all-threads} |
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index ed1f53fa70b..be5af998e7e 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi | |||
| @@ -12,7 +12,7 @@ planned or past events. It also has facilities for managing your | |||
| 12 | appointments, and keeping track of how much time you spend working on | 12 | appointments, and keeping track of how much time you spend working on |
| 13 | certain projects. | 13 | certain projects. |
| 14 | 14 | ||
| 15 | To enter the calendar, type @kbd{M-x calendar}; this displays a | 15 | To enter the calendar, type @kbd{M-x calendar}. This displays a |
| 16 | three-month calendar centered on the current month, with point on the | 16 | three-month calendar centered on the current month, with point on the |
| 17 | current date. With a numeric argument, as in @kbd{C-u M-x calendar}, it | 17 | current date. With a numeric argument, as in @kbd{C-u M-x calendar}, it |
| 18 | prompts you for the month and year to be the center of the three-month | 18 | prompts you for the month and year to be the center of the three-month |
| @@ -126,10 +126,11 @@ whole year. | |||
| 126 | 126 | ||
| 127 | The easiest way to remember these commands is to consider months and | 127 | The easiest way to remember these commands is to consider months and |
| 128 | years analogous to paragraphs and pages of text, respectively. But | 128 | years analogous to paragraphs and pages of text, respectively. But |
| 129 | the commands themselves are not quite analogous. The ordinary Emacs | 129 | the calendar movement commands themselves do not quite parallel those |
| 130 | paragraph commands move to the beginning or end of a paragraph, | 130 | for movement through text: the ordinary Emacs paragraph commands move |
| 131 | whereas these month and year commands move by an entire month or an | 131 | to the beginning or end of a paragraph, whereas these month and year |
| 132 | entire year, keeping the same date within the month or year. | 132 | commands move by an entire month or an entire year, keeping the same |
| 133 | date within the month or year. | ||
| 133 | 134 | ||
| 134 | All these commands accept a numeric argument as a repeat count. | 135 | All these commands accept a numeric argument as a repeat count. |
| 135 | For convenience, the digit keys and the minus sign specify numeric | 136 | For convenience, the digit keys and the minus sign specify numeric |
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 63db2ac765b..e463e7c8194 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi | |||
| @@ -41,10 +41,11 @@ corresponding long form. | |||
| 41 | type. However, you don't have to spell out the whole option name; any | 41 | type. However, you don't have to spell out the whole option name; any |
| 42 | unambiguous abbreviation is enough. When a long option takes an | 42 | unambiguous abbreviation is enough. When a long option takes an |
| 43 | argument, you can use either a space or an equal sign to separate the | 43 | argument, you can use either a space or an equal sign to separate the |
| 44 | option name and the argument. Thus, you can write either | 44 | option name and the argument. Thus, for the option @samp{--display}, |
| 45 | @samp{--display sugar-bombs:0.0} or @samp{--display=sugar-bombs:0.0}. | 45 | you can write either @samp{--display sugar-bombs:0.0} or |
| 46 | We recommend an equal sign because it makes the relationship clearer, | 46 | @samp{--display=sugar-bombs:0.0}. We recommend an equal sign because |
| 47 | and the tables below always show an equal sign. | 47 | it makes the relationship clearer, and the tables below always show an |
| 48 | equal sign. | ||
| 48 | 49 | ||
| 49 | @cindex initial options (command line) | 50 | @cindex initial options (command line) |
| 50 | @cindex action options (command line) | 51 | @cindex action options (command line) |
| @@ -104,7 +105,7 @@ If the startup buffer is disabled (@pxref{Entering Emacs}), then | |||
| 104 | starting Emacs with one file argument displays the buffer visiting | 105 | starting Emacs with one file argument displays the buffer visiting |
| 105 | @var{file} in a single window. With two file arguments, Emacs | 106 | @var{file} in a single window. With two file arguments, Emacs |
| 106 | displays the files in two different windows. With more than two file | 107 | displays the files in two different windows. With more than two file |
| 107 | argument, Emacs displays the last file specified in one window, plus | 108 | arguments, Emacs displays the last file specified in one window, plus |
| 108 | another window with a Buffer Menu showing all the other files | 109 | another window with a Buffer Menu showing all the other files |
| 109 | (@pxref{Several Buffers}). To inhibit using the Buffer Menu for this, | 110 | (@pxref{Several Buffers}). To inhibit using the Buffer Menu for this, |
| 110 | change the variable @code{inhibit-startup-buffer-menu} to @code{t}. | 111 | change the variable @code{inhibit-startup-buffer-menu} to @code{t}. |
| @@ -326,7 +327,7 @@ in your initialization file (@pxref{Entering Emacs}). | |||
| 326 | @opindex -Q | 327 | @opindex -Q |
| 327 | @itemx --quick | 328 | @itemx --quick |
| 328 | @opindex --quick | 329 | @opindex --quick |
| 329 | Start emacs with minimum customizations. This is similar to using @samp{-q}, | 330 | Start Emacs with minimum customizations. This is similar to using @samp{-q}, |
| 330 | @samp{--no-site-file}, @samp{--no-site-lisp}, and @samp{--no-splash} | 331 | @samp{--no-site-file}, @samp{--no-site-lisp}, and @samp{--no-splash} |
| 331 | together. This also stops Emacs from processing X resources by | 332 | together. This also stops Emacs from processing X resources by |
| 332 | setting @code{inhibit-x-resources} to @code{t} (@pxref{Resources}). | 333 | setting @code{inhibit-x-resources} to @code{t} (@pxref{Resources}). |
| @@ -337,7 +338,7 @@ setting @code{inhibit-x-resources} to @code{t} (@pxref{Resources}). | |||
| 337 | @opindex --daemon | 338 | @opindex --daemon |
| 338 | @itemx --bg-daemon[=@var{name}] | 339 | @itemx --bg-daemon[=@var{name}] |
| 339 | @itemx --fg-daemon[=@var{name}] | 340 | @itemx --fg-daemon[=@var{name}] |
| 340 | Start Emacs as a daemon---after Emacs starts up, it starts the Emacs | 341 | Start Emacs as a daemon: after Emacs starts up, it starts the Emacs |
| 341 | server without opening any frames. | 342 | server without opening any frames. |
| 342 | (Optionally, you can specify an explicit @var{name} for the server.) | 343 | (Optionally, you can specify an explicit @var{name} for the server.) |
| 343 | You can then use the @command{emacsclient} command to connect to Emacs | 344 | You can then use the @command{emacsclient} command to connect to Emacs |
| @@ -753,9 +754,10 @@ name under @file{/Software/GNU/Emacs}; first in the | |||
| 753 | there, in the @file{HKEY_LOCAL_MACHINE} section. Finally, if Emacs | 754 | there, in the @file{HKEY_LOCAL_MACHINE} section. Finally, if Emacs |
| 754 | still cannot determine the values, compiled-in defaults are used. | 755 | still cannot determine the values, compiled-in defaults are used. |
| 755 | 756 | ||
| 756 | In addition to the environment variables above, you can also add many | 757 | In addition to the environment variables above, you can also add |
| 757 | of the settings which on X belong in the @file{.Xdefaults} file | 758 | settings to the @file{/Software/GNU/Emacs} registry key to specify X |
| 758 | (@pxref{X Resources}) to the @file{/Software/GNU/Emacs} registry key. | 759 | resources (@pxref{X Resources}). Most of the settings you can specify |
| 760 | in your @file{.Xdefaults} file can be set from that registry key. | ||
| 759 | 761 | ||
| 760 | @node Display X | 762 | @node Display X |
| 761 | @appendixsec Specifying the Display Name | 763 | @appendixsec Specifying the Display Name |
| @@ -886,7 +888,7 @@ Specify the color for the mouse cursor when the mouse is in the Emacs window. | |||
| 886 | @itemx --reverse-video | 888 | @itemx --reverse-video |
| 887 | @opindex --reverse-video | 889 | @opindex --reverse-video |
| 888 | @cindex reverse video, command-line argument | 890 | @cindex reverse video, command-line argument |
| 889 | Reverse video---swap the foreground and background colors. | 891 | Reverse video: swap the foreground and background colors. |
| 890 | @item --color=@var{mode} | 892 | @item --color=@var{mode} |
| 891 | @opindex --color | 893 | @opindex --color |
| 892 | @cindex standard colors on a character terminal | 894 | @cindex standard colors on a character terminal |
| @@ -1023,11 +1025,12 @@ width. If you start with an @samp{x} followed by an integer, Emacs | |||
| 1023 | interprets it as the height. Thus, @samp{81} specifies just the | 1025 | interprets it as the height. Thus, @samp{81} specifies just the |
| 1024 | width; @samp{x45} specifies just the height. | 1026 | width; @samp{x45} specifies just the height. |
| 1025 | 1027 | ||
| 1026 | If you start with @samp{+} or @samp{-}, that introduces an offset, | 1028 | If you start the geometry with @samp{+} or @samp{-}, that introduces |
| 1027 | which means both sizes are omitted. Thus, @samp{-3} specifies the | 1029 | an offset, which means both sizes are omitted. Thus, @samp{-3} |
| 1028 | @var{xoffset} only. (If you give just one offset, it is always | 1030 | specifies the @var{xoffset} only. (If you give just one offset, it is |
| 1029 | @var{xoffset}.) @samp{+3-3} specifies both the @var{xoffset} and the | 1031 | always @var{xoffset}.) @samp{+3-3} specifies both the @var{xoffset} |
| 1030 | @var{yoffset}, placing the frame near the bottom left of the screen. | 1032 | and the @var{yoffset}, placing the frame near the bottom left of the |
| 1033 | screen. | ||
| 1031 | 1034 | ||
| 1032 | You can specify a default for any or all of the fields in your X | 1035 | You can specify a default for any or all of the fields in your X |
| 1033 | resource file (@pxref{Resources}), and then override selected fields | 1036 | resource file (@pxref{Resources}), and then override selected fields |
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 5b2ab8280d1..e27760b3796 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi | |||
| @@ -1859,7 +1859,7 @@ key. | |||
| 1859 | Many keyboards have a numeric keypad on the right hand side. | 1859 | Many keyboards have a numeric keypad on the right hand side. |
| 1860 | The numeric keys in the keypad double up as cursor motion keys, | 1860 | The numeric keys in the keypad double up as cursor motion keys, |
| 1861 | toggled by a key labeled @samp{Num Lock}. By default, Emacs | 1861 | toggled by a key labeled @samp{Num Lock}. By default, Emacs |
| 1862 | translates these keys to the corresponding keys in the main keyboard. | 1862 | translates these keys to the corresponding keys on the main keyboard. |
| 1863 | For example, when @samp{Num Lock} is on, the key labeled @samp{8} on | 1863 | For example, when @samp{Num Lock} is on, the key labeled @samp{8} on |
| 1864 | the numeric keypad produces @code{kp-8}, which is translated to | 1864 | the numeric keypad produces @code{kp-8}, which is translated to |
| 1865 | @kbd{8}; when @samp{Num Lock} is off, the same key produces | 1865 | @kbd{8}; when @samp{Num Lock} is off, the same key produces |
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index e22d7f30afb..205ca54728f 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi | |||
| @@ -991,16 +991,15 @@ expressions to highlight in different ways. | |||
| 991 | @kindex M-s h u | 991 | @kindex M-s h u |
| 992 | @kindex C-x w r | 992 | @kindex C-x w r |
| 993 | @findex unhighlight-regexp | 993 | @findex unhighlight-regexp |
| 994 | Unhighlight @var{regexp} (@code{unhighlight-regexp}). | 994 | Unhighlight @var{regexp} (@code{unhighlight-regexp}). If you invoke |
| 995 | 995 | this from the menu, you select the expression to unhighlight from a | |
| 996 | If you invoke this from the menu, you select the expression to | 996 | list. If you invoke this from the keyboard, you use the minibuffer. |
| 997 | unhighlight from a list. If you invoke this from the keyboard, you | 997 | It will show the most recently added regular expression; use @kbd{M-n} |
| 998 | use the minibuffer. It will show the most recently added regular | 998 | to show the next older expression and @kbd{M-p} to select the next |
| 999 | expression; use @kbd{M-n} to show the next older expression and | 999 | newer expression. (You can also type the expression by hand, with |
| 1000 | @kbd{M-p} to select the next newer expression. (You can also type the | 1000 | completion.) When the expression you want to unhighlight appears in |
| 1001 | expression by hand, with completion.) When the expression you want to | 1001 | the minibuffer, press @kbd{@key{RET}} to exit the minibuffer and |
| 1002 | unhighlight appears in the minibuffer, press @kbd{@key{RET}} to exit | 1002 | unhighlight it. |
| 1003 | the minibuffer and unhighlight it. | ||
| 1004 | 1003 | ||
| 1005 | @item M-s h l @var{regexp} @key{RET} @var{face} @key{RET} | 1004 | @item M-s h l @var{regexp} @key{RET} @var{face} @key{RET} |
| 1006 | @itemx C-x w l @var{regexp} @key{RET} @var{face} @key{RET} | 1005 | @itemx C-x w l @var{regexp} @key{RET} @var{face} @key{RET} |
| @@ -1393,13 +1392,13 @@ the option @code{display-time-mode}. The information added to the mode | |||
| 1393 | line looks like this: | 1392 | line looks like this: |
| 1394 | 1393 | ||
| 1395 | @example | 1394 | @example |
| 1396 | @var{hh}:@var{mm}pm @var{l.ll} | 1395 | @var{hh}:@var{mm}PM @var{l.ll} |
| 1397 | @end example | 1396 | @end example |
| 1398 | 1397 | ||
| 1399 | @noindent | 1398 | @noindent |
| 1400 | @vindex display-time-24hr-format | 1399 | @vindex display-time-24hr-format |
| 1401 | Here @var{hh} and @var{mm} are the hour and minute, followed always by | 1400 | Here @var{hh} and @var{mm} are the hour and minute, followed always by |
| 1402 | @samp{am} or @samp{pm}. @var{l.ll} is the average number, collected | 1401 | @samp{AM} or @samp{PM}. @var{l.ll} is the average number, collected |
| 1403 | for the last few minutes, of processes in the whole system that were | 1402 | for the last few minutes, of processes in the whole system that were |
| 1404 | either running or ready to run (i.e., were waiting for an available | 1403 | either running or ready to run (i.e., were waiting for an available |
| 1405 | processor). (Some fields may be missing if your operating system | 1404 | processor). (Some fields may be missing if your operating system |
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 474c4e96e22..163b6f23d84 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -482,7 +482,6 @@ Auto Reverting Non-File Buffers | |||
| 482 | 482 | ||
| 483 | * Auto Reverting the Buffer Menu:: Auto Revert of the Buffer Menu. | 483 | * Auto Reverting the Buffer Menu:: Auto Revert of the Buffer Menu. |
| 484 | * Auto Reverting Dired:: Auto Revert of Dired buffers. | 484 | * Auto Reverting Dired:: Auto Revert of Dired buffers. |
| 485 | * Supporting additional buffers:: How to add more Auto Revert support. | ||
| 486 | @end ifnottex | 485 | @end ifnottex |
| 487 | 486 | ||
| 488 | Auto-Saving: Protection Against Disasters | 487 | Auto-Saving: Protection Against Disasters |
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 083f64704ae..37d905690cd 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi | |||
| @@ -116,8 +116,8 @@ the @samp{$}; alternatively, it can be enclosed in braces after the | |||
| 116 | @file{/u/$@{FOO@}/test.c} are abbreviations for | 116 | @file{/u/$@{FOO@}/test.c} are abbreviations for |
| 117 | @file{/u/rms/hacks/test.c}. If the environment variable is not | 117 | @file{/u/rms/hacks/test.c}. If the environment variable is not |
| 118 | defined, no substitution occurs, so that the character @samp{$} stands | 118 | defined, no substitution occurs, so that the character @samp{$} stands |
| 119 | for itself. Note that environment variables affect Emacs only if they | 119 | for itself. Note that environment variables set outside Emacs affect |
| 120 | are applied before Emacs is started. | 120 | Emacs only if they are applied before Emacs is started. |
| 121 | 121 | ||
| 122 | To access a file with @samp{$} in its name, if the @samp{$} causes | 122 | To access a file with @samp{$} in its name, if the @samp{$} causes |
| 123 | expansion, type @samp{$$}. This pair is converted to a single | 123 | expansion, type @samp{$$}. This pair is converted to a single |
| @@ -167,7 +167,9 @@ minibuffer, you can abort the command by typing @kbd{C-g}. @xref{File | |||
| 167 | Names}, for details about entering file names into minibuffers. | 167 | Names}, for details about entering file names into minibuffers. |
| 168 | 168 | ||
| 169 | If the specified file exists but the system does not allow you to | 169 | If the specified file exists but the system does not allow you to |
| 170 | read it, an error message is displayed in the echo area. Otherwise, | 170 | read it, an error message is displayed in the echo area (on GNU and |
| 171 | Unix systems you might be able to visit such a file using the | ||
| 172 | @samp{su} or @samp{sudo} methods; @pxref{Remote Files}). Otherwise, | ||
| 171 | you can tell that @kbd{C-x C-f} has completed successfully by the | 173 | you can tell that @kbd{C-x C-f} has completed successfully by the |
| 172 | appearance of new text on the screen, and by the buffer name shown in | 174 | appearance of new text on the screen, and by the buffer name shown in |
| 173 | the mode line (@pxref{Mode Line}). Emacs normally constructs the | 175 | the mode line (@pxref{Mode Line}). Emacs normally constructs the |
| @@ -291,7 +293,8 @@ see @ref{Drag and Drop}, and @ref{Misc Dired Features}. | |||
| 291 | 293 | ||
| 292 | On text-mode terminals and on graphical displays when Emacs was | 294 | On text-mode terminals and on graphical displays when Emacs was |
| 293 | built without a GUI toolkit, you can visit files via the menu-bar | 295 | built without a GUI toolkit, you can visit files via the menu-bar |
| 294 | @samp{File} menu, which has a @samp{Visit New File} item. | 296 | @samp{File} menu, which has the @samp{Visit New File} and the |
| 297 | @samp{Open File} items. | ||
| 295 | 298 | ||
| 296 | Each time you visit a file, Emacs automatically scans its contents | 299 | Each time you visit a file, Emacs automatically scans its contents |
| 297 | to detect what character encoding and end-of-line convention it uses, | 300 | to detect what character encoding and end-of-line convention it uses, |
| @@ -638,7 +641,7 @@ you whether it should delete the excess backup versions. If it has | |||
| 638 | any other value, then Emacs never automatically deletes backups. | 641 | any other value, then Emacs never automatically deletes backups. |
| 639 | 642 | ||
| 640 | Dired's @kbd{.} (Period) command can also be used to delete old versions. | 643 | Dired's @kbd{.} (Period) command can also be used to delete old versions. |
| 641 | @xref{Dired Deletion}. | 644 | @xref{Flagging Many Files}. |
| 642 | 645 | ||
| 643 | @node Backup Copying | 646 | @node Backup Copying |
| 644 | @subsubsection Copying vs.@: Renaming | 647 | @subsubsection Copying vs.@: Renaming |
| @@ -738,7 +741,7 @@ survive a crash even if @code{fsync} works properly. | |||
| 738 | The @code{write-region-inhibit-fsync} variable controls whether | 741 | The @code{write-region-inhibit-fsync} variable controls whether |
| 739 | Emacs invokes @code{fsync} after saving a file. The variable's | 742 | Emacs invokes @code{fsync} after saving a file. The variable's |
| 740 | default value is @code{nil} when Emacs is interactive, and @code{t} | 743 | default value is @code{nil} when Emacs is interactive, and @code{t} |
| 741 | when Emacs runs in batch mode (@pxref{Initial Options, batch mode}). | 744 | when Emacs runs in batch mode (@pxref{Initial Options, Batch Mode}). |
| 742 | 745 | ||
| 743 | Emacs never uses @code{fsync} when writing auto-save files, as these | 746 | Emacs never uses @code{fsync} when writing auto-save files, as these |
| 744 | files might lose data anyway. | 747 | files might lose data anyway. |
| @@ -751,7 +754,7 @@ files might lose data anyway. | |||
| 751 | Simultaneous editing occurs when two users visit the same file, both | 754 | Simultaneous editing occurs when two users visit the same file, both |
| 752 | make changes, and then both save them. If nobody is informed that | 755 | make changes, and then both save them. If nobody is informed that |
| 753 | this is happening, whichever user saves first would later find that | 756 | this is happening, whichever user saves first would later find that |
| 754 | his changes were lost. | 757 | their changes were lost. |
| 755 | 758 | ||
| 756 | On some systems, Emacs notices immediately when the second user starts | 759 | On some systems, Emacs notices immediately when the second user starts |
| 757 | to change the file, and issues an immediate warning. On all systems, | 760 | to change the file, and issues an immediate warning. On all systems, |
| @@ -952,12 +955,25 @@ discard your changes.) | |||
| 952 | You can also tell Emacs to revert buffers periodically. To do this | 955 | You can also tell Emacs to revert buffers periodically. To do this |
| 953 | for a specific buffer, enable the minor mode Auto-Revert mode by | 956 | for a specific buffer, enable the minor mode Auto-Revert mode by |
| 954 | typing @kbd{M-x auto-revert-mode}. This automatically reverts the | 957 | typing @kbd{M-x auto-revert-mode}. This automatically reverts the |
| 955 | current buffer every five seconds; you can change the interval through | 958 | current buffer when its visited file changes on disk. To do the same |
| 956 | the variable @code{auto-revert-interval}. To do the same for all file | 959 | for all file buffers, type @kbd{M-x global-auto-revert-mode} to enable |
| 957 | buffers, type @kbd{M-x global-auto-revert-mode} to enable Global | 960 | Global Auto-Revert mode. These minor modes do not check or revert |
| 958 | Auto-Revert mode. These minor modes do not check or revert remote | 961 | remote files, because that is usually too slow. This behavior can be |
| 959 | files, because that is usually too slow. This behavior can be changed | 962 | changed by setting the variable @code{auto-revert-remote-files} to |
| 960 | by setting the variable @code{auto-revert-remote-files} to non-@code{nil}. | 963 | non-@code{nil}. |
| 964 | |||
| 965 | @cindex file notifications | ||
| 966 | @vindex auto-revert-use-notify | ||
| 967 | By default, Auto-Revert mode works using @dfn{file notifications}, | ||
| 968 | whereby changes in the filesystem are reported to Emacs by the OS. | ||
| 969 | You can disable use of file notifications by customizing the variable | ||
| 970 | @code{auto-revert-use-notify} to a @code{nil} value, then Emacs will | ||
| 971 | check for file changes by polling every five seconds. You can change | ||
| 972 | the polling interval through the variable @code{auto-revert-interval}. | ||
| 973 | |||
| 974 | Not all systems support file notifications; where they are not | ||
| 975 | supported, @code{auto-revert-use-notify} will be @code{nil} by | ||
| 976 | default. | ||
| 961 | 977 | ||
| 962 | One use of Auto-Revert mode is to ``tail'' a file such as a system | 978 | One use of Auto-Revert mode is to ``tail'' a file such as a system |
| 963 | log, so that changes made to that file by other programs are | 979 | log, so that changes made to that file by other programs are |
| @@ -1159,7 +1175,7 @@ this---saving them---updates the files themselves. | |||
| 1159 | 1175 | ||
| 1160 | @vindex auto-save-list-file-prefix | 1176 | @vindex auto-save-list-file-prefix |
| 1161 | Emacs records information about interrupted sessions in files named | 1177 | Emacs records information about interrupted sessions in files named |
| 1162 | @file{.saves-@var{pid}-@var{hostname}} in the directory | 1178 | @file{.saves-@var{pid}-@var{hostname}~} in the directory |
| 1163 | @file{~/.emacs.d/auto-save-list/}. This directory is determined by | 1179 | @file{~/.emacs.d/auto-save-list/}. This directory is determined by |
| 1164 | the variable @code{auto-save-list-file-prefix}. If you set | 1180 | the variable @code{auto-save-list-file-prefix}. If you set |
| 1165 | @code{auto-save-list-file-prefix} to @code{nil}, sessions are not | 1181 | @code{auto-save-list-file-prefix} to @code{nil}, sessions are not |
| @@ -1233,8 +1249,9 @@ named @file{/fsf}: | |||
| 1233 | listing} is a list of all the files in a directory. Emacs provides | 1249 | listing} is a list of all the files in a directory. Emacs provides |
| 1234 | commands to create and delete directories, and to make directory | 1250 | commands to create and delete directories, and to make directory |
| 1235 | listings in brief format (file names only) and verbose format (sizes, | 1251 | listings in brief format (file names only) and verbose format (sizes, |
| 1236 | dates, and authors included). Emacs also includes a directory browser | 1252 | dates, and other attributes included). Emacs also includes a |
| 1237 | feature called Dired; see @ref{Dired}. | 1253 | directory browser feature called Dired, which you can invoke with |
| 1254 | @kbd{C-x d}; see @ref{Dired}. | ||
| 1238 | 1255 | ||
| 1239 | @table @kbd | 1256 | @table @kbd |
| 1240 | @item C-x C-d @var{dir-or-pattern} @key{RET} | 1257 | @item C-x C-d @var{dir-or-pattern} @key{RET} |
| @@ -1315,6 +1332,9 @@ information about the @command{diff} program. | |||
| 1315 | The output of the @code{diff} command is shown using a major mode | 1332 | The output of the @code{diff} command is shown using a major mode |
| 1316 | called Diff mode. @xref{Diff Mode}. | 1333 | called Diff mode. @xref{Diff Mode}. |
| 1317 | 1334 | ||
| 1335 | A (much more sophisticated) alternative is @kbd{M-x ediff} | ||
| 1336 | (@pxref{Top, Ediff, Ediff, ediff, The Ediff Manual}). | ||
| 1337 | |||
| 1318 | @findex diff-backup | 1338 | @findex diff-backup |
| 1319 | The command @kbd{M-x diff-backup} compares a specified file with its | 1339 | The command @kbd{M-x diff-backup} compares a specified file with its |
| 1320 | most recent backup. If you specify the name of a backup file, | 1340 | most recent backup. If you specify the name of a backup file, |
| @@ -1331,10 +1351,10 @@ would make to the file if you save the buffer. | |||
| 1331 | current window with that in the window that was the selected window | 1351 | current window with that in the window that was the selected window |
| 1332 | before you selected the current one. (For more information about | 1352 | before you selected the current one. (For more information about |
| 1333 | windows in Emacs, @ref{Windows}.) Comparison starts at point in each | 1353 | windows in Emacs, @ref{Windows}.) Comparison starts at point in each |
| 1334 | window, after pushing each initial point value on the mark ring in its | 1354 | window, after pushing each initial point value on the mark ring |
| 1335 | respective buffer. Then it moves point forward in each window, one | 1355 | (@pxref{Mark Ring}) in its respective buffer. Then it moves point |
| 1336 | character at a time, until it reaches characters that don't match. | 1356 | forward in each window, one character at a time, until it reaches |
| 1337 | Then the command exits. | 1357 | characters that don't match. Then the command exits. |
| 1338 | 1358 | ||
| 1339 | If point in the two windows is followed by non-matching text when | 1359 | If point in the two windows is followed by non-matching text when |
| 1340 | the command starts, @kbd{M-x compare-windows} tries heuristically to | 1360 | the command starts, @kbd{M-x compare-windows} tries heuristically to |
| @@ -1348,8 +1368,9 @@ skips one matching range or finds the start of another. | |||
| 1348 | whitespace. If the variable @code{compare-ignore-case} is | 1368 | whitespace. If the variable @code{compare-ignore-case} is |
| 1349 | non-@code{nil}, the comparison ignores differences in case as well. | 1369 | non-@code{nil}, the comparison ignores differences in case as well. |
| 1350 | If the variable @code{compare-ignore-whitespace} is non-@code{nil}, | 1370 | If the variable @code{compare-ignore-whitespace} is non-@code{nil}, |
| 1351 | @code{compare-windows} normally ignores changes in whitespace, and a | 1371 | @code{compare-windows} by default ignores changes in whitespace, but a |
| 1352 | prefix argument turns that off. | 1372 | prefix argument turns that off for that single invocation of the |
| 1373 | command. | ||
| 1353 | 1374 | ||
| 1354 | @cindex Smerge mode | 1375 | @cindex Smerge mode |
| 1355 | @findex smerge-mode | 1376 | @findex smerge-mode |
| @@ -1419,7 +1440,7 @@ Move to the next hunk-start (@code{diff-hunk-next}). | |||
| 1419 | This command has a side effect: it @dfn{refines} the hunk you move to, | 1440 | This command has a side effect: it @dfn{refines} the hunk you move to, |
| 1420 | highlighting its changes with better granularity. To disable this | 1441 | highlighting its changes with better granularity. To disable this |
| 1421 | feature, type @kbd{M-x diff-auto-refine-mode} to toggle off the minor | 1442 | feature, type @kbd{M-x diff-auto-refine-mode} to toggle off the minor |
| 1422 | mode Diff Auto-Refine mode. To disable Diff Auto Refine mode by | 1443 | mode Diff Auto-Refine mode. To disable Diff Auto-Refine mode by |
| 1423 | default, add this to your init file (@pxref{Hooks}): | 1444 | default, add this to your init file (@pxref{Hooks}): |
| 1424 | 1445 | ||
| 1425 | @example | 1446 | @example |
| @@ -1548,17 +1569,17 @@ modify the original source files rather than the patched source files. | |||
| 1548 | @section Copying, Naming and Renaming Files | 1569 | @section Copying, Naming and Renaming Files |
| 1549 | 1570 | ||
| 1550 | Emacs has several commands for copying, naming, and renaming files. | 1571 | Emacs has several commands for copying, naming, and renaming files. |
| 1551 | All of them read two file names @var{old} and @var{new} using the | 1572 | All of them read two file names, @var{old} (or @var{target}) and |
| 1552 | minibuffer, and then copy or adjust a file's name accordingly; they do | 1573 | @var{new}, using the minibuffer, and then copy or adjust a file's name |
| 1553 | not accept wildcard file names. | 1574 | accordingly; they do not accept wildcard file names. |
| 1554 | 1575 | ||
| 1555 | In all these commands, if the argument @var{new} is just a directory | 1576 | In all these commands, if the argument @var{new} is just a directory |
| 1556 | name, the real new name is in that directory, with the same | 1577 | name (@pxref{Directory Names,,, elisp, the Emacs Lisp Reference |
| 1578 | Manual}), the real new name is in that directory, with the same | ||
| 1557 | non-directory component as @var{old}. For example, the command | 1579 | non-directory component as @var{old}. For example, the command |
| 1558 | @w{@kbd{M-x rename-file @key{RET} ~/foo @key{RET} /tmp/ @key{RET}}} | 1580 | @w{@kbd{M-x rename-file @key{RET} ~/foo @key{RET} /tmp/ @key{RET}}} |
| 1559 | renames @file{~/foo} to @file{/tmp/foo}. On GNU and other POSIX-like | 1581 | renames @file{~/foo} to @file{/tmp/foo}. On GNU and other POSIX-like |
| 1560 | systems, directory names end in @samp{/}. @xref{Directory Names,,, | 1582 | systems, directory names end in @samp{/}. |
| 1561 | elisp, the Emacs Lisp Reference Manual}. | ||
| 1562 | 1583 | ||
| 1563 | All these commands ask for confirmation when the new file name already | 1584 | All these commands ask for confirmation when the new file name already |
| 1564 | exists. | 1585 | exists. |
| @@ -1811,8 +1832,8 @@ To carry out this request, Emacs uses a remote-login program such as | |||
| 1811 | @command{ssh}. | 1832 | @command{ssh}. |
| 1812 | You must always specify in the file name which method to use---for | 1833 | You must always specify in the file name which method to use---for |
| 1813 | example, @file{/ssh:@var{user}@@@var{host}:@var{filename}} uses | 1834 | example, @file{/ssh:@var{user}@@@var{host}:@var{filename}} uses |
| 1814 | @command{ssh}. When you specify the pseudo method @var{-} in the file | 1835 | @command{ssh}. When you specify the pseudo method @samp{-} in the |
| 1815 | name, Emacs chooses the method as follows: | 1836 | file name, Emacs chooses the method as follows: |
| 1816 | 1837 | ||
| 1817 | @enumerate | 1838 | @enumerate |
| 1818 | @item | 1839 | @item |
diff --git a/doc/emacs/fixit.texi b/doc/emacs/fixit.texi index aca85f3de07..c872e9bb3ac 100644 --- a/doc/emacs/fixit.texi +++ b/doc/emacs/fixit.texi | |||
| @@ -78,7 +78,6 @@ the undo command. | |||
| 78 | previous undo commands, use @kbd{M-x undo-only}. This is like | 78 | previous undo commands, use @kbd{M-x undo-only}. This is like |
| 79 | @code{undo}, but will not redo changes you have just undone. | 79 | @code{undo}, but will not redo changes you have just undone. |
| 80 | 80 | ||
| 81 | @c What about @kbd{M-x revert-buffer}? --xfq | ||
| 82 | If you notice that a buffer has been modified accidentally, the | 81 | If you notice that a buffer has been modified accidentally, the |
| 83 | easiest way to recover is to type @kbd{C-/} repeatedly until the stars | 82 | easiest way to recover is to type @kbd{C-/} repeatedly until the stars |
| 84 | disappear from the front of the mode line (@pxref{Mode Line}). | 83 | disappear from the front of the mode line (@pxref{Mode Line}). |
| @@ -90,6 +89,10 @@ the last change you made undone, you will see whether it was an | |||
| 90 | intentional change. If it was an accident, leave it undone. If it | 89 | intentional change. If it was an accident, leave it undone. If it |
| 91 | was deliberate, redo the change as described above. | 90 | was deliberate, redo the change as described above. |
| 92 | 91 | ||
| 92 | Alternatively, you can discard all the changes since the buffer was | ||
| 93 | last visited or saved with @kbd{M-x revert-buffer} | ||
| 94 | (@pxref{Reverting}). | ||
| 95 | |||
| 93 | @cindex selective undo | 96 | @cindex selective undo |
| 94 | @kindex C-u C-/ | 97 | @kindex C-u C-/ |
| 95 | When there is an active region, any use of @code{undo} performs | 98 | When there is an active region, any use of @code{undo} performs |
| @@ -216,7 +219,7 @@ Convert last word to lower case with capital initial. | |||
| 216 | @kindex M-@t{-} M-u | 219 | @kindex M-@t{-} M-u |
| 217 | @kindex M-@t{-} M-c | 220 | @kindex M-@t{-} M-c |
| 218 | A very common error is to type words in the wrong case. Because of this, | 221 | A very common error is to type words in the wrong case. Because of this, |
| 219 | the word case-conversion commands @kbd{M-l}, @kbd{M-u} and @kbd{M-c} have a | 222 | the word case-conversion commands @kbd{M-l}, @kbd{M-u}, and @kbd{M-c} have a |
| 220 | special feature when used with a negative argument: they do not move the | 223 | special feature when used with a negative argument: they do not move the |
| 221 | cursor. As soon as you see you have mistyped the last word, you can simply | 224 | cursor. As soon as you see you have mistyped the last word, you can simply |
| 222 | case-convert it and go on typing. @xref{Case}. | 225 | case-convert it and go on typing. @xref{Case}. |
| @@ -231,7 +234,7 @@ case-convert it and go on typing. @xref{Case}. | |||
| 231 | single word or of a portion of a buffer. These commands only work if | 234 | single word or of a portion of a buffer. These commands only work if |
| 232 | a spelling checker program, one of Hunspell, Aspell, Ispell or | 235 | a spelling checker program, one of Hunspell, Aspell, Ispell or |
| 233 | Enchant, is installed. These programs are not part of Emacs, but one | 236 | Enchant, is installed. These programs are not part of Emacs, but one |
| 234 | of them is usually installed in GNU/Linux and other free operating | 237 | of them is usually installed on GNU/Linux and other free operating |
| 235 | systems. | 238 | systems. |
| 236 | @ifnottex | 239 | @ifnottex |
| 237 | @xref{Top, Aspell,, aspell, The Aspell Manual}. | 240 | @xref{Top, Aspell,, aspell, The Aspell Manual}. |
diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi index 19e1be729ff..b38e85819ce 100644 --- a/doc/emacs/indent.texi +++ b/doc/emacs/indent.texi | |||
| @@ -201,12 +201,12 @@ are always displayed as empty spaces extending to the next | |||
| 201 | @node Just Spaces | 201 | @node Just Spaces |
| 202 | @section Tabs vs.@: Spaces | 202 | @section Tabs vs.@: Spaces |
| 203 | 203 | ||
| 204 | Normally, indentation commands insert (or remove) an optimal mix of | 204 | Normally, indentation commands insert (or remove) the shortest |
| 205 | space characters and tab characters to align to the desired column. | 205 | possible series of tab and space characters so as to align to the |
| 206 | Tab characters are displayed as a stretch of empty space extending to | 206 | desired column. Tab characters are displayed as a stretch of empty |
| 207 | the next @dfn{display tab stop}. By default, there is one display tab | 207 | space extending to the next @dfn{display tab stop}. By default, there |
| 208 | stop every @code{tab-width} columns (the default is 8). @xref{Text | 208 | is one display tab stop every @code{tab-width} columns (the default is |
| 209 | Display}. | 209 | 8). @xref{Text Display}. |
| 210 | 210 | ||
| 211 | @vindex indent-tabs-mode | 211 | @vindex indent-tabs-mode |
| 212 | If you prefer, all indentation can be made from spaces only. To | 212 | If you prefer, all indentation can be made from spaces only. To |
diff --git a/doc/emacs/m-x.texi b/doc/emacs/m-x.texi index a283ca8fd03..a9b80d1addb 100644 --- a/doc/emacs/m-x.texi +++ b/doc/emacs/m-x.texi | |||
| @@ -56,7 +56,10 @@ of entering the command name. This takes you back to command level. | |||
| 56 | To pass a numeric argument to the command you are invoking with | 56 | To pass a numeric argument to the command you are invoking with |
| 57 | @kbd{M-x}, specify the numeric argument before @kbd{M-x}. The | 57 | @kbd{M-x}, specify the numeric argument before @kbd{M-x}. The |
| 58 | argument value appears in the prompt while the command name is being | 58 | argument value appears in the prompt while the command name is being |
| 59 | read, and finally @kbd{M-x} passes the argument to that command. | 59 | read, and finally @kbd{M-x} passes the argument to that command. For |
| 60 | example, to pass the numeric argument of 42 to the command | ||
| 61 | @code{forward-char} you can type @kbd{C-u 42 M-x forward-char | ||
| 62 | @key{RET}}. | ||
| 60 | 63 | ||
| 61 | @vindex suggest-key-bindings | 64 | @vindex suggest-key-bindings |
| 62 | When the command you run with @kbd{M-x} has a key binding, Emacs | 65 | When the command you run with @kbd{M-x} has a key binding, Emacs |
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi index dbde2c8f824..28a5f9041ab 100644 --- a/doc/emacs/macos.texi +++ b/doc/emacs/macos.texi | |||
| @@ -18,8 +18,8 @@ does not support versions before macOS 10.6. | |||
| 18 | @samp{Nextstep} internally, instead of ``Cocoa'' or ``macOS''; for | 18 | @samp{Nextstep} internally, instead of ``Cocoa'' or ``macOS''; for |
| 19 | instance, most of the commands and variables described in this section | 19 | instance, most of the commands and variables described in this section |
| 20 | begin with @samp{ns-}, which is short for @samp{Nextstep}. NeXTstep | 20 | begin with @samp{ns-}, which is short for @samp{Nextstep}. NeXTstep |
| 21 | was an application interface released by NeXT Inc during the 1980s, of | 21 | was an application interface released by NeXT Inc.@: during the 1980s, |
| 22 | which Cocoa is a direct descendant. Apart from Cocoa, there is | 22 | of which Cocoa is a direct descendant. Apart from Cocoa, there is |
| 23 | another NeXTstep-style system: GNUstep, which is free software. As of | 23 | another NeXTstep-style system: GNUstep, which is free software. As of |
| 24 | this writing, Emacs GNUstep support is alpha status (@pxref{GNUstep | 24 | this writing, Emacs GNUstep support is alpha status (@pxref{GNUstep |
| 25 | Support}), but we hope to improve it in the future. | 25 | Support}), but we hope to improve it in the future. |
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 8acbb5317ed..127c27c0378 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi | |||
| @@ -542,13 +542,13 @@ been changed in the repository, offer to update it. | |||
| 542 | These rules also apply when you use RCS in its non-locking mode, | 542 | These rules also apply when you use RCS in its non-locking mode, |
| 543 | except that changes are not automatically merged from the repository. | 543 | except that changes are not automatically merged from the repository. |
| 544 | Nothing informs you if another user has committed changes in the same | 544 | Nothing informs you if another user has committed changes in the same |
| 545 | file since you began editing it; when you commit your revision, his | 545 | file since you began editing it; when you commit your revision, that |
| 546 | changes are removed (however, they remain in the repository and are | 546 | other user's changes are removed (however, they remain in the |
| 547 | thus not irrevocably lost). Therefore, you must verify that the | 547 | repository and are thus not irrevocably lost). Therefore, you must |
| 548 | current revision is unchanged before committing your changes. In | 548 | verify that the current revision is unchanged before committing your |
| 549 | addition, locking is possible with RCS even in this mode: @kbd{C-x v | 549 | changes. In addition, locking is possible with RCS even in this mode: |
| 550 | v} with an unmodified file locks the file, just as it does with RCS in | 550 | @kbd{C-x v v} with an unmodified file locks the file, just as it does |
| 551 | its normal locking mode (@pxref{VC With A Locking VCS}). | 551 | with RCS in its normal locking mode (@pxref{VC With A Locking VCS}). |
| 552 | 552 | ||
| 553 | @node VC With A Locking VCS | 553 | @node VC With A Locking VCS |
| 554 | @subsubsection Basic Version Control with Locking | 554 | @subsubsection Basic Version Control with Locking |
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi index de16c44720e..332602dcf2a 100644 --- a/doc/emacs/mini.texi +++ b/doc/emacs/mini.texi | |||
| @@ -66,8 +66,8 @@ minibuffer-electric-default-mode}. | |||
| 66 | other uses of the echo area. If an error message or an informative | 66 | other uses of the echo area. If an error message or an informative |
| 67 | message is emitted while the minibuffer is active, the message hides | 67 | message is emitted while the minibuffer is active, the message hides |
| 68 | the minibuffer for a few seconds, or until you type something; then | 68 | the minibuffer for a few seconds, or until you type something; then |
| 69 | the minibuffer comes back. While the minibuffer is in use, keystrokes | 69 | the minibuffer comes back. While the minibuffer is in use, Emacs does |
| 70 | do not echo. | 70 | not echo keystrokes. |
| 71 | 71 | ||
| 72 | @node Minibuffer File | 72 | @node Minibuffer File |
| 73 | @section Minibuffers for File Names | 73 | @section Minibuffers for File Names |
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 1fb47c3c68e..5babd5081a9 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi | |||
| @@ -413,8 +413,8 @@ is needed. For OpenDocument and Microsoft Office documents, the | |||
| 413 | When you visit a document file that can be displayed with DocView | 413 | When you visit a document file that can be displayed with DocView |
| 414 | mode, Emacs automatically uses DocView mode @footnote{The needed | 414 | mode, Emacs automatically uses DocView mode @footnote{The needed |
| 415 | external tools for the document type must be available, and Emacs must | 415 | external tools for the document type must be available, and Emacs must |
| 416 | be running in a graphical frame and have PNG image support. If any of | 416 | be running in a graphical frame and have PNG image support. If these |
| 417 | these requirements is not fulfilled, Emacs falls back to another major | 417 | requirements is not fulfilled, Emacs falls back to another major |
| 418 | mode.}. As an exception, when you visit a PostScript file, Emacs | 418 | mode.}. As an exception, when you visit a PostScript file, Emacs |
| 419 | switches to PS mode, a major mode for editing PostScript files as | 419 | switches to PS mode, a major mode for editing PostScript files as |
| 420 | text; however, it also enables DocView minor mode, so you can type | 420 | text; however, it also enables DocView minor mode, so you can type |
| @@ -1212,7 +1212,7 @@ buffer after it has been sent. | |||
| 1212 | @subsubsection Shell History References | 1212 | @subsubsection Shell History References |
| 1213 | @cindex history reference | 1213 | @cindex history reference |
| 1214 | 1214 | ||
| 1215 | Various shells including csh and bash support @dfn{history | 1215 | Various shells, including csh and bash, support @dfn{history |
| 1216 | references} that begin with @samp{!} and @samp{^}. Shell mode | 1216 | references} that begin with @samp{!} and @samp{^}. Shell mode |
| 1217 | recognizes these constructs, and can perform the history substitution | 1217 | recognizes these constructs, and can perform the history substitution |
| 1218 | for you. | 1218 | for you. |
| @@ -1406,8 +1406,8 @@ by the faces @code{term-color-black}, @code{term-color-red}, | |||
| 1406 | @code{term-color-underline}, and @code{term-color-bold}. | 1406 | @code{term-color-underline}, and @code{term-color-bold}. |
| 1407 | @xref{Faces}. | 1407 | @xref{Faces}. |
| 1408 | 1408 | ||
| 1409 | You can also Term mode to communicate with a device connected to a | 1409 | You can also use Term mode to communicate with a device connected to |
| 1410 | serial port. @xref{Serial Terminal}. | 1410 | a serial port. @xref{Serial Terminal}. |
| 1411 | 1411 | ||
| 1412 | The file name used to load the subshell is determined the same way | 1412 | The file name used to load the subshell is determined the same way |
| 1413 | as for Shell mode. To make multiple terminal emulators, rename the | 1413 | as for Shell mode. To make multiple terminal emulators, rename the |
| @@ -1427,12 +1427,8 @@ and later. | |||
| 1427 | @cindex Term mode | 1427 | @cindex Term mode |
| 1428 | @cindex mode, Term | 1428 | @cindex mode, Term |
| 1429 | 1429 | ||
| 1430 | The terminal emulator uses Term mode, which has two input modes. In | 1430 | To switch between line and char mode in Term mode, use these |
| 1431 | line mode, Term basically acts like Shell mode (@pxref{Shell Mode}). | 1431 | commands: |
| 1432 | In char mode, each character is sent directly to the subshell, except | ||
| 1433 | for the Term escape character, normally @kbd{C-c}. | ||
| 1434 | |||
| 1435 | To switch between line and char mode, use these commands: | ||
| 1436 | 1432 | ||
| 1437 | @table @kbd | 1433 | @table @kbd |
| 1438 | @kindex C-c C-j @r{(Term mode)} | 1434 | @kindex C-c C-j @r{(Term mode)} |
| @@ -1720,8 +1716,8 @@ Server})---then Emacs opens a frame on the terminal in which you | |||
| 1720 | called @command{emacsclient}. | 1716 | called @command{emacsclient}. |
| 1721 | 1717 | ||
| 1722 | You can also force @command{emacsclient} to open a new frame on a | 1718 | You can also force @command{emacsclient} to open a new frame on a |
| 1723 | graphical display, or on a text terminal, using the @samp{-c} and | 1719 | graphical display using the @samp{-c} option, or on a text terminal |
| 1724 | @samp{-t} options. @xref{emacsclient Options}. | 1720 | using the @samp{-t} option. @xref{emacsclient Options}. |
| 1725 | 1721 | ||
| 1726 | If you are running on a single text terminal, you can switch between | 1722 | If you are running on a single text terminal, you can switch between |
| 1727 | @command{emacsclient}'s shell and the Emacs server using one of two | 1723 | @command{emacsclient}'s shell and the Emacs server using one of two |
diff --git a/doc/emacs/modes.texi b/doc/emacs/modes.texi index 1312a24d985..2bbc17b26db 100644 --- a/doc/emacs/modes.texi +++ b/doc/emacs/modes.texi | |||
| @@ -57,10 +57,10 @@ for specific programming languages. These include Lisp mode (which | |||
| 57 | has several variants), C mode, Fortran mode, and others. The third | 57 | has several variants), C mode, Fortran mode, and others. The third |
| 58 | group consists of major modes that are not associated directly with | 58 | group consists of major modes that are not associated directly with |
| 59 | files; they are used in buffers created for specific purposes by | 59 | files; they are used in buffers created for specific purposes by |
| 60 | Emacs, such as Dired mode for buffers made by Dired (@pxref{Dired}), | 60 | Emacs. Examples include Dired mode for buffers made by Dired |
| 61 | Message mode for buffers made by @kbd{C-x m} (@pxref{Sending Mail}), | 61 | (@pxref{Dired}), Message mode for buffers made by @kbd{C-x m} |
| 62 | and Shell mode for buffers used to communicate with an inferior shell | 62 | (@pxref{Sending Mail}), and Shell mode for buffers used to communicate |
| 63 | process (@pxref{Interactive Shell}). | 63 | with an inferior shell process (@pxref{Interactive Shell}). |
| 64 | 64 | ||
| 65 | Usually, the major mode is automatically set by Emacs, when you | 65 | Usually, the major mode is automatically set by Emacs, when you |
| 66 | first visit a file or create a buffer (@pxref{Choosing Modes}). You | 66 | first visit a file or create a buffer (@pxref{Choosing Modes}). You |
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi index 5f05bc0f9ee..bc6afb7966a 100644 --- a/doc/emacs/package.texi +++ b/doc/emacs/package.texi | |||
| @@ -77,7 +77,7 @@ A short description of the package. | |||
| 77 | 77 | ||
| 78 | @noindent | 78 | @noindent |
| 79 | The @code{list-packages} command accesses the network, to retrieve the | 79 | The @code{list-packages} command accesses the network, to retrieve the |
| 80 | list of available packages from the package archive server. If the | 80 | list of available packages from package archive servers. If the |
| 81 | network is unavailable, it falls back on the most recently retrieved | 81 | network is unavailable, it falls back on the most recently retrieved |
| 82 | list. | 82 | list. |
| 83 | 83 | ||
| @@ -199,7 +199,7 @@ A valid signature is not a cast-iron | |||
| 199 | guarantee that a package is not malicious, so you should still | 199 | guarantee that a package is not malicious, so you should still |
| 200 | exercise caution. Package archives should provide instructions | 200 | exercise caution. Package archives should provide instructions |
| 201 | on how you can obtain their public key. One way is to download the | 201 | on how you can obtain their public key. One way is to download the |
| 202 | key from a server such as @url{http://pgp.mit.edu/}. | 202 | key from a server such as @url{https://pgp.mit.edu/}. |
| 203 | Use @kbd{M-x package-import-keyring} to import the key into Emacs. | 203 | Use @kbd{M-x package-import-keyring} to import the key into Emacs. |
| 204 | Emacs stores package keys in the directory specified by the variable | 204 | Emacs stores package keys in the directory specified by the variable |
| 205 | @code{package-gnupghome-dir}, by default in the @file{gnupg} | 205 | @code{package-gnupghome-dir}, by default in the @file{gnupg} |
| @@ -219,7 +219,7 @@ package that is not signed. If you use some archives that do not sign | |||
| 219 | their packages, you can add them to the list @code{package-unsigned-archives}. | 219 | their packages, you can add them to the list @code{package-unsigned-archives}. |
| 220 | 220 | ||
| 221 | For more information on cryptographic keys and signing, | 221 | For more information on cryptographic keys and signing, |
| 222 | @pxref{Top,, Top, gnupg, The GNU Privacy Guard Manual}. | 222 | @pxref{Top,, GnuPG, gnupg, The GNU Privacy Guard Manual}. |
| 223 | Emacs comes with an interface to GNU Privacy Guard, | 223 | Emacs comes with an interface to GNU Privacy Guard, |
| 224 | @pxref{Top,, EasyPG, epa, Emacs EasyPG Assistant Manual}. | 224 | @pxref{Top,, EasyPG, epa, Emacs EasyPG Assistant Manual}. |
| 225 | 225 | ||
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index ebfa57c09a7..09cb034e372 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi | |||
| @@ -175,6 +175,7 @@ Move to the next message containing a match for @var{regexp} | |||
| 175 | 175 | ||
| 176 | @item - M-s @var{regexp} @key{RET} | 176 | @item - M-s @var{regexp} @key{RET} |
| 177 | Move to the previous message containing a match for @var{regexp}. | 177 | Move to the previous message containing a match for @var{regexp}. |
| 178 | (This is @kbd{M-s} with a negative argument.) | ||
| 178 | @end table | 179 | @end table |
| 179 | 180 | ||
| 180 | @kindex n @r{(Rmail)} | 181 | @kindex n @r{(Rmail)} |
diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi index 37c082e7caf..19a4a9e4b6c 100644 --- a/doc/emacs/screen.texi +++ b/doc/emacs/screen.texi | |||
| @@ -30,13 +30,13 @@ display systems commonly use the word ``window'' with a different | |||
| 30 | meaning; but, as stated above, we refer to those graphical windows | 30 | meaning; but, as stated above, we refer to those graphical windows |
| 31 | as ``frames''. | 31 | as ``frames''. |
| 32 | 32 | ||
| 33 | An Emacs window is where the @dfn{buffer}---the text you are | 33 | An Emacs window is where the @dfn{buffer}---the text or other |
| 34 | editing---is displayed. On a graphical display, the window possesses | 34 | graphics you are editing or viewing---is displayed. On a graphical |
| 35 | a @dfn{scroll bar} on one side, which can be used to scroll through | 35 | display, the window possesses a @dfn{scroll bar} on one side, which |
| 36 | the buffer. The last line of the window is a @dfn{mode line}. This | 36 | can be used to scroll through the buffer. The last line of the window |
| 37 | displays various information about what is going on in the buffer, | 37 | is a @dfn{mode line}. This displays various information about what is |
| 38 | such as whether there are unsaved changes, the editing modes that are | 38 | going on in the buffer, such as whether there are unsaved changes, the |
| 39 | in use, the current line number, and so forth. | 39 | editing modes that are in use, the current line number, and so forth. |
| 40 | 40 | ||
| 41 | When you start Emacs, there is normally only one window in the | 41 | When you start Emacs, there is normally only one window in the |
| 42 | frame. However, you can subdivide this window horizontally or | 42 | frame. However, you can subdivide this window horizontally or |
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index df3a42a3cd2..58c592081a0 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi | |||
| @@ -1508,29 +1508,27 @@ This is an example. | |||
| 1508 | @findex doctex-mode | 1508 | @findex doctex-mode |
| 1509 | @findex bibtex-mode | 1509 | @findex bibtex-mode |
| 1510 | 1510 | ||
| 1511 | Emacs provides special major modes for editing files written in | 1511 | @TeX{} is a powerful text formatter written by Donald Knuth; like |
| 1512 | @TeX{} and its related formats. @TeX{} is a powerful text formatter | 1512 | GNU Emacs, it is free software. The @TeX{} format has several |
| 1513 | written by Donald Knuth; like GNU Emacs, it is free software. | 1513 | variants, including @LaTeX{}, a simplified input format for @TeX{}; |
| 1514 | @LaTeX{} is a simplified input format for @TeX{}, implemented using | 1514 | Doc@TeX{}, a special file format in which the @LaTeX{} sources are |
| 1515 | @TeX{} macros. Doc@TeX{} is a special file format in which the | 1515 | written, combining sources with documentation; and Sli@TeX{}, an |
| 1516 | @LaTeX{} sources are written, combining sources with documentation. | 1516 | obsolete special form of @LaTeX{}@footnote{ |
| 1517 | Sli@TeX{} is an obsolete special form of @LaTeX{}.@footnote{It has | 1517 | It has been replaced by the @samp{slides} document class, which comes |
| 1518 | been replaced by the @samp{slides} document class, which comes with | 1518 | with @LaTeX{}.}. |
| 1519 | @LaTeX{}.} | ||
| 1520 | 1519 | ||
| 1521 | @vindex tex-default-mode | 1520 | @vindex tex-default-mode |
| 1522 | @TeX{} mode has four variants: Plain @TeX{} mode, @LaTeX{} mode, | 1521 | Emacs provides a @TeX{} major mode for each of these variants: Plain |
| 1523 | Doc@TeX{} mode, and Sli@TeX{} mode. These distinct major modes differ | 1522 | @TeX{} mode, @LaTeX{} mode, Doc@TeX{} mode, and Sli@TeX{} mode. Emacs |
| 1524 | only slightly, and are designed for editing the four different | 1523 | selects the appropriate mode by looking at the contents of the buffer. |
| 1525 | formats. Emacs selects the appropriate mode by looking at the | 1524 | (This is done by the @code{tex-mode} command, which is normally called |
| 1526 | contents of the buffer. (This is done by the @code{tex-mode} command, | 1525 | automatically when you visit a @TeX{}-like file. @xref{Choosing |
| 1527 | which is normally called automatically when you visit a @TeX{}-like | 1526 | Modes}.) If the contents are insufficient to determine this, Emacs |
| 1528 | file. @xref{Choosing Modes}.) If the contents are insufficient to | 1527 | chooses the mode specified by the variable @code{tex-default-mode}; |
| 1529 | determine this, Emacs chooses the mode specified by the variable | 1528 | its default value is @code{latex-mode}. If Emacs does not guess |
| 1530 | @code{tex-default-mode}; its default value is @code{latex-mode}. If | 1529 | right, you can select the correct variant of @TeX{} mode using the |
| 1531 | Emacs does not guess right, you can select the correct variant of | 1530 | command @kbd{M-x plain-tex-mode}, @kbd{M-x latex-mode}, @kbd{M-x |
| 1532 | @TeX{} mode using the command @kbd{M-x plain-tex-mode}, @kbd{M-x | 1531 | slitex-mode}, or @kbd{doctex-mode}. |
| 1533 | latex-mode}, @kbd{M-x slitex-mode}, or @kbd{doctex-mode}. | ||
| 1534 | 1532 | ||
| 1535 | The following sections document the features of @TeX{} mode and its | 1533 | The following sections document the features of @TeX{} mode and its |
| 1536 | variants. There are several other @TeX{}-related Emacs packages, | 1534 | variants. There are several other @TeX{}-related Emacs packages, |
| @@ -1628,7 +1626,9 @@ to keep braces balanced at all times, rather than inserting them | |||
| 1628 | singly. Use @kbd{C-c @{} (@code{tex-insert-braces}) to insert a pair of | 1626 | singly. Use @kbd{C-c @{} (@code{tex-insert-braces}) to insert a pair of |
| 1629 | braces. It leaves point between the two braces so you can insert the | 1627 | braces. It leaves point between the two braces so you can insert the |
| 1630 | text that belongs inside. Afterward, use the command @kbd{C-c @}} | 1628 | text that belongs inside. Afterward, use the command @kbd{C-c @}} |
| 1631 | (@code{up-list}) to move forward past the close brace. | 1629 | (@code{up-list}) to move forward past the close brace. You can also |
| 1630 | invoke @kbd{C-c @{} after marking some text: then the command encloses | ||
| 1631 | the marked text in braces. | ||
| 1632 | 1632 | ||
| 1633 | @findex tex-validate-region | 1633 | @findex tex-validate-region |
| 1634 | @findex tex-terminate-paragraph | 1634 | @findex tex-terminate-paragraph |
diff --git a/doc/lispref/anti.texi b/doc/lispref/anti.texi index b6df9fe2e39..ef28415d591 100644 --- a/doc/lispref/anti.texi +++ b/doc/lispref/anti.texi | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | @c Update the elisp.texi Antinews menu entry with the above version number. | 10 | @c Update the elisp.texi Antinews menu entry with the above version number. |
| 11 | 11 | ||
| 12 | For those users who live backwards in time, here is information about | 12 | For those users who live backwards in time, here is information about |
| 13 | downgrading to Emacs version 25.2. We hope you will enjoy the greater | 13 | downgrading to Emacs version 25.3. We hope you will enjoy the greater |
| 14 | simplicity that results from the absence of many @w{Emacs | 14 | simplicity that results from the absence of many @w{Emacs |
| 15 | @value{EMACSVER}} features. | 15 | @value{EMACSVER}} features. |
| 16 | 16 | ||
| @@ -48,6 +48,15 @@ specialized library for their support was deemed an unnecessary | |||
| 48 | maintenance burden. | 48 | maintenance burden. |
| 49 | 49 | ||
| 50 | @item | 50 | @item |
| 51 | The time conversion functions @code{current-time-string}, | ||
| 52 | @code{current-time-zone}, @code{decode-time}, | ||
| 53 | @code{format-time-string}, and @code{set-time-zone-rule} no longer | ||
| 54 | accept integer offsets as time zone rules, to make it more of a | ||
| 55 | challenge to convert foreign timestamps. Also, | ||
| 56 | @code{format-time-string} no longer converts @samp{%q} to the calendar | ||
| 57 | quarter, as that is something you can easily do for yourself. | ||
| 58 | |||
| 59 | @item | ||
| 51 | Field numbers like @samp{%2$} in format specifiers are no longer | 60 | Field numbers like @samp{%2$} in format specifiers are no longer |
| 52 | available. We decided that their use makes code reading and | 61 | available. We decided that their use makes code reading and |
| 53 | comprehension much harder, and that having them is unjustified in the | 62 | comprehension much harder, and that having them is unjustified in the |
| @@ -84,12 +93,38 @@ confusing differences between the operation of these functions in | |||
| 84 | interactive and non-interactive invocations has been removed. | 93 | interactive and non-interactive invocations has been removed. |
| 85 | 94 | ||
| 86 | @item | 95 | @item |
| 96 | Several functions that create or rename their files now treat their | ||
| 97 | destination specially if it happens to be a directory, even when its | ||
| 98 | name does not appear to be that of a directory. For example, | ||
| 99 | @code{(rename-file "A" "B")} no longer renames @file{A} to @file{B} if | ||
| 100 | @file{B} happens to be a directory. This is so that dealing with | ||
| 101 | files becomes more of an adventure. | ||
| 102 | |||
| 103 | @item | ||
| 104 | The @code{format} function now returns new strings in more cases, to | ||
| 105 | place more stress on the Emacs memory manager and thereby test Emacs | ||
| 106 | better. | ||
| 107 | |||
| 108 | @item | ||
| 87 | The function @file{assoc} has been simplified by removing its third | 109 | The function @file{assoc} has been simplified by removing its third |
| 88 | optional argument. It now always uses @code{equal} for comparison. | 110 | optional argument. It now always uses @code{equal} for comparison. |
| 89 | Likewise, @code{alist-get} always uses @code{assq}, and @code{map-get} | 111 | Likewise, @code{alist-get} always uses @code{assq}, and @code{map-get} |
| 90 | and @code{map-put} always use @code{eql} for their comparisons. | 112 | and @code{map-put} always use @code{eql} for their comparisons. |
| 91 | 113 | ||
| 92 | @item | 114 | @item |
| 115 | Numeric comparisons and the functions @code{format}, | ||
| 116 | @code{make-hash-table}, @code{min}, @code{max} and @code{logb} now | ||
| 117 | occasionally round values internally to make their results less | ||
| 118 | predictable. | ||
| 119 | |||
| 120 | @item | ||
| 121 | The functions @code{ffloor}, @code{fceiling}l, @code{ftruncate} and | ||
| 122 | @code{fround} now accept integer arguments. Conversely, functions | ||
| 123 | like @code{decode-char} that accept floating-point integers now accept | ||
| 124 | arguments that are not integers. In both cases the results are | ||
| 125 | amusingly nonsensical sometimes. | ||
| 126 | |||
| 127 | @item | ||
| 93 | GnuTLS cryptographic functions are no longer available in Emacs. We | 128 | GnuTLS cryptographic functions are no longer available in Emacs. We |
| 94 | have decided that the needs for such functionality are deteriorating, | 129 | have decided that the needs for such functionality are deteriorating, |
| 95 | and their cumbersome interfaces make them hard to use. | 130 | and their cumbersome interfaces make them hard to use. |
| @@ -104,16 +139,25 @@ broken by records. | |||
| 104 | You can again use @code{string-as-unibyte}, | 139 | You can again use @code{string-as-unibyte}, |
| 105 | @code{string-make-multibyte}, and other similar functions, without | 140 | @code{string-make-multibyte}, and other similar functions, without |
| 106 | being annoyed by messages about their deprecation. This is in | 141 | being annoyed by messages about their deprecation. This is in |
| 107 | preparation for removal of multibyte text from Emacs in the distance | 142 | preparation for removal of multibyte text from Emacs in the distant |
| 108 | past. | 143 | past. |
| 109 | 144 | ||
| 110 | @item | 145 | @item |
| 146 | The @code{string-version-lessp} function has been removed, to | ||
| 147 | encourage programmers to use their own idiosyncratic methods to | ||
| 148 | determine whether one version string precedes another. | ||
| 149 | |||
| 150 | @item | ||
| 111 | The function @code{read-color} no longer displays color names using | 151 | The function @code{read-color} no longer displays color names using |
| 112 | each color as the background. We have determined that this surprises | 152 | each color as the background. We have determined that this surprises |
| 113 | users and produces funny inconsistent results on color-challenged | 153 | users and produces funny inconsistent results on color-challenged |
| 114 | terminals. | 154 | terminals. |
| 115 | 155 | ||
| 116 | @item | 156 | @item |
| 157 | Support for 24-bit color on text terminals has been dropped, since | ||
| 158 | it wasn't needed long ago. | ||
| 159 | |||
| 160 | @item | ||
| 117 | We removed the function @code{file-name-case-insensitive-p}, as | 161 | We removed the function @code{file-name-case-insensitive-p}, as |
| 118 | testing for the OS symbol should be enough for the observable past to | 162 | testing for the OS symbol should be enough for the observable past to |
| 119 | come, and learning to use yet another API is a burden. | 163 | come, and learning to use yet another API is a burden. |
| @@ -136,12 +180,57 @@ The function @code{mapcan} is gone; use @code{mapcar} instead, and | |||
| 136 | process the resulting list as you see fit. | 180 | process the resulting list as you see fit. |
| 137 | 181 | ||
| 138 | @item | 182 | @item |
| 183 | Low-level list functions like @code{length} and @code{member} can now | ||
| 184 | loop indefinitely when given cyclic lists, causing Emacs to freeze. | ||
| 185 | This can help these functions run a tiny bit faster in the usual case | ||
| 186 | where the input is not cyclic. | ||
| 187 | |||
| 188 | @item | ||
| 189 | The @code{write-region} function no longer propagates its | ||
| 190 | @var{lockname} argument to file name handlers. | ||
| 191 | |||
| 192 | @item | ||
| 139 | You can once again write a Lisp program that returns funny random | 193 | You can once again write a Lisp program that returns funny random |
| 140 | values from @code{file-attributes} by having another process alter the | 194 | values from @code{file-attributes} by having another process alter the |
| 141 | filesystem while Emacs is accessing the file. This can give rise to | 195 | filesystem while Emacs is accessing the file. This can give rise to |
| 142 | some interesting applications in the near past. | 196 | some interesting applications in the near past. |
| 143 | 197 | ||
| 144 | @item | 198 | @item |
| 199 | The functions @code{file-attributes}, @code{file-symlink-p}, and | ||
| 200 | @code{make-symbolic-link} now quietly mutate the target of a local | ||
| 201 | symbolic link in some cases, to make it more of a challenge to deal | ||
| 202 | with arbitrary symlinks in Emacs code. | ||
| 203 | |||
| 204 | @item | ||
| 205 | The error @code{file-missing} has been removed; operations now lump | ||
| 206 | such errors into the @code{file-error} category instead. | ||
| 207 | |||
| 208 | @item | ||
| 209 | The function @code{delete-directory} now signals an error if operating | ||
| 210 | recursively and some other process deletes the directory before this | ||
| 211 | function gets to it. | ||
| 212 | |||
| 213 | @item | ||
| 214 | The @code{dutch} input method now attempts to support Turkish too, | ||
| 215 | albeit incorrectly. Also, it converts @samp{IJ} and @samp{ij} to | ||
| 216 | special characters instead of leaving them alone. | ||
| 217 | |||
| 218 | @item | ||
| 219 | Non-breaking hyphens and approximations to quotes are now displayed | ||
| 220 | just with the @code{escape-glyph} face instead of having faces of | ||
| 221 | their own. This is simpler and gives the user amusing puzzles to | ||
| 222 | solve when viewing text containing these characters. | ||
| 223 | |||
| 224 | @item | ||
| 225 | The user option @code{electric-quote-context-sensitive} and the | ||
| 226 | variable @code{electric-quote-inhibit-functions}, so that electric | ||
| 227 | quoting is simpler and more likely to do the wrong thing. | ||
| 228 | |||
| 229 | @item | ||
| 230 | The user option @code{text-quoting-style} has been removed, and is now | ||
| 231 | just a variable. | ||
| 232 | |||
| 233 | @item | ||
| 145 | We have removed the functions @code{file-name-quote}, | 234 | We have removed the functions @code{file-name-quote}, |
| 146 | @code{file-name-unquote}, and @code{file-name-quoted-p}. Writing code | 235 | @code{file-name-unquote}, and @code{file-name-quoted-p}. Writing code |
| 147 | that checks whether a file name is already quoted is easy, and doubly | 236 | that checks whether a file name is already quoted is easy, and doubly |
| @@ -160,6 +249,34 @@ customizable only based on buffers; the @code{mode-line-format} and | |||
| 160 | @code{header-line-format} window parameters have been removed. | 249 | @code{header-line-format} window parameters have been removed. |
| 161 | 250 | ||
| 162 | @item | 251 | @item |
| 252 | Emacs now normally builds a limited @command{movemail} substitute that | ||
| 253 | retrieves POP3 email only via insecure channels, and the | ||
| 254 | configure-time option @option{--with-mailutils} has been removed. | ||
| 255 | This simplifies Emacs setup when security is not important. | ||
| 256 | |||
| 257 | @item | ||
| 258 | The configure-time option @option{--enable-gcc-warnings=warn-only} | ||
| 259 | has been removed, so that build-time warnings are always fatal now. | ||
| 260 | |||
| 261 | @item | ||
| 262 | The configure-time option @option{--disable-build-details} has been | ||
| 263 | removed. This way, Emacs builds are unique and irreproducible. | ||
| 264 | |||
| 265 | @item | ||
| 266 | The variable @code{emacs-version} now includes the build number | ||
| 267 | instead of storing it separately in @code{emacs-build-number}. | ||
| 268 | |||
| 269 | @item | ||
| 270 | Emacs has been ported to IRIX. | ||
| 271 | |||
| 272 | @item | ||
| 273 | Several options and variables have been removed to simplify Emacs and | ||
| 274 | potentially make it less reliable. These include the | ||
| 275 | @option{--module-assertions} option, the | ||
| 276 | @code{attempt-stack-overflow-recovery} variable, and the | ||
| 277 | @code{attempt-orderly-shutdown-on-fatal-signal} variable. | ||
| 278 | |||
| 279 | @item | ||
| 163 | As part of the ongoing quest for simplicity, many other functions and | 280 | As part of the ongoing quest for simplicity, many other functions and |
| 164 | variables have been eliminated. | 281 | variables have been eliminated. |
| 165 | @end itemize | 282 | @end itemize |
diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi index 8ca10d7905c..8ce8f6180d1 100644 --- a/doc/lispref/backups.texi +++ b/doc/lispref/backups.texi | |||
| @@ -775,16 +775,80 @@ after inserting the modified contents. A custom @code{revert-buffer-function} | |||
| 775 | may or may not run this hook. | 775 | may or may not run this hook. |
| 776 | @end defvar | 776 | @end defvar |
| 777 | 777 | ||
| 778 | @c FIXME? Move this section from arevert-xtra to here? | 778 | Emacs can revert buffers automatically. It does that by default for |
| 779 | buffers visiting files. The following describes how to add support | ||
| 780 | for auto-reverting new types of buffers. | ||
| 781 | |||
| 782 | First, such buffers must have a suitable @code{revert-buffer-function} | ||
| 783 | and @code{buffer-stale-function} defined. | ||
| 784 | |||
| 779 | @defvar buffer-stale-function | 785 | @defvar buffer-stale-function |
| 780 | The value of this variable specifies a function to call to check | 786 | The value of this variable specifies a function to call to check |
| 781 | whether a buffer needs reverting. The default value only handles | 787 | whether a buffer needs reverting. The default value only handles |
| 782 | buffers that are visiting files, by checking their modification time. | 788 | buffers that are visiting files, by checking their modification time. |
| 783 | Buffers that are not visiting files require a custom function | 789 | Buffers that are not visiting files require a custom function of one |
| 784 | @iftex | 790 | optional argument @var{noconfirm}. The function should return |
| 785 | (@pxref{Supporting additional buffers,,, emacs-xtra, Specialized Emacs Features}). | 791 | non-@code{nil} if the buffer should be reverted. The buffer is |
| 786 | @end iftex | 792 | current when this function is called. |
| 787 | @ifnottex | 793 | |
| 788 | (@pxref{Supporting additional buffers,,, emacs}). | 794 | While this function is mainly intended for use in auto-reverting, it |
| 789 | @end ifnottex | 795 | could be used for other purposes as well. For instance, if |
| 796 | auto-reverting is not enabled, it could be used to warn the user that | ||
| 797 | the buffer needs reverting. The idea behind the @var{noconfirm} | ||
| 798 | argument is that it should be @code{t} if the buffer is going to be | ||
| 799 | reverted without asking the user and @code{nil} if the function is | ||
| 800 | just going to be used to warn the user that the buffer is out of date. | ||
| 801 | In particular, for use in auto-reverting, @var{noconfirm} is @code{t}. | ||
| 802 | If the function is only going to be used for auto-reverting, you can | ||
| 803 | ignore the @var{noconfirm} argument. | ||
| 804 | |||
| 805 | If you just want to automatically auto-revert every | ||
| 806 | @code{auto-revert-interval} seconds (like the Buffer Menu), use: | ||
| 807 | |||
| 808 | @example | ||
| 809 | (setq-local buffer-stale-function | ||
| 810 | #'(lambda (&optional noconfirm) 'fast)) | ||
| 811 | @end example | ||
| 812 | |||
| 813 | @noindent | ||
| 814 | in the buffer's mode function. | ||
| 815 | |||
| 816 | The special return value @samp{fast} tells the caller that the need | ||
| 817 | for reverting was not checked, but that reverting the buffer is fast. | ||
| 818 | It also tells Auto Revert not to print any revert messages, even if | ||
| 819 | @code{auto-revert-verbose} is non-@code{nil}. This is important, as | ||
| 820 | getting revert messages every @code{auto-revert-interval} seconds can | ||
| 821 | be very annoying. The information provided by this return value could | ||
| 822 | also be useful if the function is consulted for purposes other than | ||
| 823 | auto-reverting. | ||
| 790 | @end defvar | 824 | @end defvar |
| 825 | |||
| 826 | Once the buffer has a suitable @code{revert-buffer-function} and | ||
| 827 | @code{buffer-stale-function}, several problems usually remain. | ||
| 828 | |||
| 829 | The buffer will only auto-revert if it is marked unmodified. Hence, | ||
| 830 | you will have to make sure that various functions mark the buffer | ||
| 831 | modified if and only if either the buffer contains information that | ||
| 832 | might be lost by reverting, or there is reason to believe that the user | ||
| 833 | might be inconvenienced by auto-reverting, because he is actively | ||
| 834 | working on the buffer. The user can always override this by manually | ||
| 835 | adjusting the modified status of the buffer. To support this, calling | ||
| 836 | the @code{revert-buffer-function} on a buffer that is marked | ||
| 837 | unmodified should always keep the buffer marked unmodified. | ||
| 838 | |||
| 839 | It is important to assure that point does not continuously jump around | ||
| 840 | as a consequence of auto-reverting. Of course, moving point might be | ||
| 841 | inevitable if the buffer radically changes. | ||
| 842 | |||
| 843 | You should make sure that the @code{revert-buffer-function} does not | ||
| 844 | print messages that unnecessarily duplicate Auto Revert's own messages, | ||
| 845 | displayed if @code{auto-revert-verbose} is @code{t}, and effectively | ||
| 846 | override a @code{nil} value for @code{auto-revert-verbose}. Hence, | ||
| 847 | adapting a mode for auto-reverting often involves getting rid of such | ||
| 848 | messages. This is especially important for buffers that automatically | ||
| 849 | revert every @code{auto-revert-interval} seconds. | ||
| 850 | |||
| 851 | If the new auto-reverting is part of Emacs, you should mention it | ||
| 852 | in the documentation string of @code{global-auto-revert-non-file-buffers}. | ||
| 853 | |||
| 854 | Similarly, you should document the additions in the Emacs manual. | ||
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index fbf943a08c7..7bf03b8558e 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -581,7 +581,7 @@ truncated to fit it. | |||
| 581 | The variable @code{max-mini-window-height}, which specifies the | 581 | The variable @code{max-mini-window-height}, which specifies the |
| 582 | maximum height for resizing minibuffer windows, also applies to the | 582 | maximum height for resizing minibuffer windows, also applies to the |
| 583 | echo area (which is really a special use of the minibuffer window; | 583 | echo area (which is really a special use of the minibuffer window; |
| 584 | @pxref{Minibuffer Misc}). | 584 | @pxref{Minibuffer Windows}). |
| 585 | 585 | ||
| 586 | @node Warnings | 586 | @node Warnings |
| 587 | @section Reporting Warnings | 587 | @section Reporting Warnings |
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index 332e72f6402..c7f8ba96e2f 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi | |||
| @@ -2323,6 +2323,12 @@ frame's height; an integer specifies the maximum number of lines. The | |||
| 2323 | default value is 0.25. | 2323 | default value is 0.25. |
| 2324 | @end defopt | 2324 | @end defopt |
| 2325 | 2325 | ||
| 2326 | Note that the values of the above two variables take effect at display | ||
| 2327 | time, so let-binding them around code which produces echo-area messages | ||
| 2328 | will not work. If you want to prevent resizing of minibuffer windows | ||
| 2329 | when displaying long messages, bind the @code{message-truncate-lines} | ||
| 2330 | variable instead (@pxref{Echo Area Customization}). | ||
| 2331 | |||
| 2326 | 2332 | ||
| 2327 | @node Minibuffer Contents | 2333 | @node Minibuffer Contents |
| 2328 | @section Minibuffer Contents | 2334 | @section Minibuffer Contents |
| @@ -2450,12 +2456,6 @@ minibuffer window was selected. If the selected window is not a | |||
| 2450 | minibuffer window, it returns @code{nil}. | 2456 | minibuffer window, it returns @code{nil}. |
| 2451 | @end defun | 2457 | @end defun |
| 2452 | 2458 | ||
| 2453 | @defopt max-mini-window-height | ||
| 2454 | This variable specifies the maximum height for resizing minibuffer | ||
| 2455 | windows. If a float, it specifies a fraction of the height of the | ||
| 2456 | frame. If an integer, it specifies a number of lines. | ||
| 2457 | @end defopt | ||
| 2458 | |||
| 2459 | @vindex minibuffer-message-timeout | 2459 | @vindex minibuffer-message-timeout |
| 2460 | @defun minibuffer-message string &rest args | 2460 | @defun minibuffer-message string &rest args |
| 2461 | This function displays @var{string} temporarily at the end of the | 2461 | This function displays @var{string} temporarily at the end of the |
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 9352a929a7a..42be60449de 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi | |||
| @@ -3042,7 +3042,9 @@ with @samp{-}, or might contain shell metacharacters like @samp{;}. | |||
| 3042 | Although functions like @code{shell-quote-argument} can help avoid | 3042 | Although functions like @code{shell-quote-argument} can help avoid |
| 3043 | this sort of problem, they are not panaceas; for example, on a POSIX | 3043 | this sort of problem, they are not panaceas; for example, on a POSIX |
| 3044 | platform @code{shell-quote-argument} quotes shell metacharacters but | 3044 | platform @code{shell-quote-argument} quotes shell metacharacters but |
| 3045 | not leading @samp{-}. @xref{Shell Arguments}. Typically it is safer | 3045 | not leading @samp{-}. On MS-Windows, quoting for @samp{%} assumes |
| 3046 | none of the environment variables have @samp{^} in their name. | ||
| 3047 | @xref{Shell Arguments}. Typically it is safer | ||
| 3046 | to use @code{call-process} than a subshell. @xref{Synchronous | 3048 | to use @code{call-process} than a subshell. @xref{Synchronous |
| 3047 | Processes}. And it is safer yet to use builtin Emacs functions; for | 3049 | Processes}. And it is safer yet to use builtin Emacs functions; for |
| 3048 | example, use @code{(rename-file "@var{a}" "@var{b}" t)} instead of | 3050 | example, use @code{(rename-file "@var{a}" "@var{b}" t)} instead of |
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 0a3a4617a2e..af177e053cc 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi | |||
| @@ -728,8 +728,11 @@ Initialize the process query flag to @var{query-flag}. | |||
| 728 | @xref{Query Before Exit}. | 728 | @xref{Query Before Exit}. |
| 729 | 729 | ||
| 730 | @item :stop @var{stopped} | 730 | @item :stop @var{stopped} |
| 731 | If @var{stopped} is non-@code{nil}, start the process in the | 731 | If @var{stopped} is non-@code{nil}, start the process in the stopped |
| 732 | stopped state. | 732 | state. In the stopped state, a pipe process does not accept incoming |
| 733 | data, but you can send outgoing data. The stopped state is set by | ||
| 734 | @code{stop-process} and cleared by @code{continue-process} | ||
| 735 | (@pxref{Signals to Processes}). | ||
| 733 | 736 | ||
| 734 | @item :filter @var{filter} | 737 | @item :filter @var{filter} |
| 735 | Initialize the process filter to @var{filter}. If not specified, a | 738 | Initialize the process filter to @var{filter}. If not specified, a |
diff --git a/lisp/leim/quail/latin-alt.el b/lisp/leim/quail/latin-alt.el index a7d39ec839e..5044fb2d29b 100644 --- a/lisp/leim/quail/latin-alt.el +++ b/lisp/leim/quail/latin-alt.el | |||
| @@ -1156,7 +1156,7 @@ Caters for French and Dutch. | |||
| 1156 | 1156 | ||
| 1157 | | | examples | 1157 | | | examples |
| 1158 | ------------+---------+---------- | 1158 | ------------+---------+---------- |
| 1159 | others | | fl. -> ƒ eur. -> € ij -> ij IJ -> IJ | 1159 | others | | fl. -> ƒ eur. -> € |
| 1160 | ------------+---------+---------- | 1160 | ------------+---------+---------- |
| 1161 | | postfix | | 1161 | | postfix | |
| 1162 | ------------+---------+---------- | 1162 | ------------+---------+---------- |
diff --git a/lisp/net/gnutls.el b/lisp/net/gnutls.el index 5afd5c5804b..ea17fb518e2 100644 --- a/lisp/net/gnutls.el +++ b/lisp/net/gnutls.el | |||
| @@ -124,7 +124,7 @@ Args are NAME BUFFER HOST SERVICE. | |||
| 124 | NAME is name for process. It is modified if necessary to make it unique. | 124 | NAME is name for process. It is modified if necessary to make it unique. |
| 125 | BUFFER is the buffer (or `buffer-name') to associate with the process. | 125 | BUFFER is the buffer (or `buffer-name') to associate with the process. |
| 126 | Process output goes at end of that buffer, unless you specify | 126 | Process output goes at end of that buffer, unless you specify |
| 127 | an output stream or filter function to handle the output. | 127 | a filter function to handle the output. |
| 128 | BUFFER may be also nil, meaning that this process is not associated | 128 | BUFFER may be also nil, meaning that this process is not associated |
| 129 | with any buffer | 129 | with any buffer |
| 130 | Third arg is name of the host to connect to, or its IP address. | 130 | Third arg is name of the host to connect to, or its IP address. |
diff --git a/lisp/net/shr-color.el b/lisp/net/shr-color.el index 31f3d46ed66..6303141c898 100644 --- a/lisp/net/shr-color.el +++ b/lisp/net/shr-color.el | |||
| @@ -137,7 +137,7 @@ absolute value without any unit." | |||
| 137 | ("MediumAquaMarine" . "#66CDAA") | 137 | ("MediumAquaMarine" . "#66CDAA") |
| 138 | ("MediumBlue" . "#0000CD") | 138 | ("MediumBlue" . "#0000CD") |
| 139 | ("MediumOrchid" . "#BA55D3") | 139 | ("MediumOrchid" . "#BA55D3") |
| 140 | ("MediumPurple" . "#9370D8") | 140 | ("MediumPurple" . "#9370DB") |
| 141 | ("MediumSeaGreen" . "#3CB371") | 141 | ("MediumSeaGreen" . "#3CB371") |
| 142 | ("MediumSlateBlue" . "#7B68EE") | 142 | ("MediumSlateBlue" . "#7B68EE") |
| 143 | ("MediumSpringGreen" . "#00FA9A") | 143 | ("MediumSpringGreen" . "#00FA9A") |
| @@ -158,7 +158,7 @@ absolute value without any unit." | |||
| 158 | ("PaleGoldenRod" . "#EEE8AA") | 158 | ("PaleGoldenRod" . "#EEE8AA") |
| 159 | ("PaleGreen" . "#98FB98") | 159 | ("PaleGreen" . "#98FB98") |
| 160 | ("PaleTurquoise" . "#AFEEEE") | 160 | ("PaleTurquoise" . "#AFEEEE") |
| 161 | ("PaleVioletRed" . "#D87093") | 161 | ("PaleVioletRed" . "#DB7093") |
| 162 | ("PapayaWhip" . "#FFEFD5") | 162 | ("PapayaWhip" . "#FFEFD5") |
| 163 | ("PeachPuff" . "#FFDAB9") | 163 | ("PeachPuff" . "#FFDAB9") |
| 164 | ("Peru" . "#CD853F") | 164 | ("Peru" . "#CD853F") |
| @@ -166,6 +166,7 @@ absolute value without any unit." | |||
| 166 | ("Plum" . "#DDA0DD") | 166 | ("Plum" . "#DDA0DD") |
| 167 | ("PowderBlue" . "#B0E0E6") | 167 | ("PowderBlue" . "#B0E0E6") |
| 168 | ("Purple" . "#800080") | 168 | ("Purple" . "#800080") |
| 169 | ("RebeccaPurple" . "#663399") | ||
| 169 | ("Red" . "#FF0000") | 170 | ("Red" . "#FF0000") |
| 170 | ("RosyBrown" . "#BC8F8F") | 171 | ("RosyBrown" . "#BC8F8F") |
| 171 | ("RoyalBlue" . "#4169E1") | 172 | ("RoyalBlue" . "#4169E1") |
diff --git a/lisp/net/starttls.el b/lisp/net/starttls.el index 2069843e3bb..e2dff2d53d6 100644 --- a/lisp/net/starttls.el +++ b/lisp/net/starttls.el | |||
| @@ -270,7 +270,7 @@ Args are NAME BUFFER HOST PORT. | |||
| 270 | NAME is name for process. It is modified if necessary to make it unique. | 270 | NAME is name for process. It is modified if necessary to make it unique. |
| 271 | BUFFER is the buffer (or `buffer-name') to associate with the process. | 271 | BUFFER is the buffer (or `buffer-name') to associate with the process. |
| 272 | Process output goes at end of that buffer, unless you specify | 272 | Process output goes at end of that buffer, unless you specify |
| 273 | an output stream or filter function to handle the output. | 273 | a filter function to handle the output. |
| 274 | BUFFER may be also nil, meaning that this process is not associated | 274 | BUFFER may be also nil, meaning that this process is not associated |
| 275 | with any buffer | 275 | with any buffer |
| 276 | Third arg is name of the host to connect to, or its IP address. | 276 | Third arg is name of the host to connect to, or its IP address. |
diff --git a/lisp/net/tls.el b/lisp/net/tls.el index ae49edcb1d5..b02a2654d41 100644 --- a/lisp/net/tls.el +++ b/lisp/net/tls.el | |||
| @@ -204,7 +204,7 @@ Args are NAME BUFFER HOST PORT. | |||
| 204 | NAME is name for process. It is modified if necessary to make it unique. | 204 | NAME is name for process. It is modified if necessary to make it unique. |
| 205 | BUFFER is the buffer (or buffer name) to associate with the process. | 205 | BUFFER is the buffer (or buffer name) to associate with the process. |
| 206 | Process output goes at end of that buffer, unless you specify | 206 | Process output goes at end of that buffer, unless you specify |
| 207 | an output stream or filter function to handle the output. | 207 | a filter function to handle the output. |
| 208 | BUFFER may be also nil, meaning that this process is not associated | 208 | BUFFER may be also nil, meaning that this process is not associated |
| 209 | with any buffer | 209 | with any buffer |
| 210 | Third arg is name of the host to connect to, or its IP address. | 210 | Third arg is name of the host to connect to, or its IP address. |
diff --git a/lisp/subr.el b/lisp/subr.el index 00bab70e8a3..056392a9266 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -2123,10 +2123,10 @@ and the file name is displayed in the echo area." | |||
| 2123 | NAME is name for process. It is modified if necessary to make it unique. | 2123 | NAME is name for process. It is modified if necessary to make it unique. |
| 2124 | BUFFER is the buffer (or buffer name) to associate with the process. | 2124 | BUFFER is the buffer (or buffer name) to associate with the process. |
| 2125 | 2125 | ||
| 2126 | Process output (both standard output and standard error streams) goes | 2126 | Process output (both standard output and standard error streams) |
| 2127 | at end of BUFFER, unless you specify an output stream or filter | 2127 | goes at end of BUFFER, unless you specify a filter function to |
| 2128 | function to handle the output. BUFFER may also be nil, meaning that | 2128 | handle the output. BUFFER may also be nil, meaning that this |
| 2129 | this process is not associated with any buffer. | 2129 | process is not associated with any buffer. |
| 2130 | 2130 | ||
| 2131 | PROGRAM is the program file name. It is searched for in `exec-path' | 2131 | PROGRAM is the program file name. It is searched for in `exec-path' |
| 2132 | \(which see). If nil, just associate a pty with the buffer. Remaining | 2132 | \(which see). If nil, just associate a pty with the buffer. Remaining |
diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el index aa3113bd340..f8da1b21965 100644 --- a/lisp/term/ns-win.el +++ b/lisp/term/ns-win.el | |||
| @@ -842,7 +842,7 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.") | |||
| 842 | (format "Creation of the standard fontset failed: %s" err) | 842 | (format "Creation of the standard fontset failed: %s" err) |
| 843 | :error))) | 843 | :error))) |
| 844 | 844 | ||
| 845 | (x-open-connection (system-name) x-command-line-resources t) | 845 | (x-open-connection (or (system-name) "") x-command-line-resources t) |
| 846 | 846 | ||
| 847 | ;; Add GNUstep menu items Services, Hide and Quit. Rename Help to Info | 847 | ;; Add GNUstep menu items Services, Hide and Quit. Rename Help to Info |
| 848 | ;; and put it first (i.e. omit from menu-bar-final-items. | 848 | ;; and put it first (i.e. omit from menu-bar-final-items. |
diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index 55c21f8acb0..727bc18ebb8 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el | |||
| @@ -499,6 +499,7 @@ further value candidates, since that list would be infinite.") | |||
| 499 | ("red" . "#ff0000") | 499 | ("red" . "#ff0000") |
| 500 | ("purple" . "#800080") | 500 | ("purple" . "#800080") |
| 501 | ("fuchsia" . "#ff00ff") | 501 | ("fuchsia" . "#ff00ff") |
| 502 | ("magenta" . "#ff00ff") | ||
| 502 | ("green" . "#008000") | 503 | ("green" . "#008000") |
| 503 | ("lime" . "#00ff00") | 504 | ("lime" . "#00ff00") |
| 504 | ("olive" . "#808000") | 505 | ("olive" . "#808000") |
| @@ -507,6 +508,7 @@ further value candidates, since that list would be infinite.") | |||
| 507 | ("blue" . "#0000ff") | 508 | ("blue" . "#0000ff") |
| 508 | ("teal" . "#008080") | 509 | ("teal" . "#008080") |
| 509 | ("aqua" . "#00ffff") | 510 | ("aqua" . "#00ffff") |
| 511 | ("cyan" . "#00ffff") | ||
| 510 | ("orange" . "#ffa500") | 512 | ("orange" . "#ffa500") |
| 511 | ("aliceblue" . "#f0f8ff") | 513 | ("aliceblue" . "#f0f8ff") |
| 512 | ("antiquewhite" . "#faebd7") | 514 | ("antiquewhite" . "#faebd7") |
| @@ -1023,8 +1023,8 @@ syms_of_doc (void) | |||
| 1023 | doc: /* Style to use for single quotes in help and messages. | 1023 | doc: /* Style to use for single quotes in help and messages. |
| 1024 | Its value should be a symbol. It works by substituting certain single | 1024 | Its value should be a symbol. It works by substituting certain single |
| 1025 | quotes for grave accent and apostrophe. This is done in help output | 1025 | quotes for grave accent and apostrophe. This is done in help output |
| 1026 | and in functions like `message' and `format-message'. It is not done | 1026 | \(but not for display of Info manuals) and in functions like `message' |
| 1027 | in `format'. | 1027 | and `format-message'. It is not done in `format'. |
| 1028 | 1028 | ||
| 1029 | `curve' means quote with curved single quotes ‘like this’. | 1029 | `curve' means quote with curved single quotes ‘like this’. |
| 1030 | `straight' means quote with straight apostrophes \\='like this\\='. | 1030 | `straight' means quote with straight apostrophes \\='like this\\='. |
diff --git a/src/process.c b/src/process.c index ff3edbb11a0..2cc2c86df39 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -1615,9 +1615,8 @@ to make it unique. | |||
| 1615 | 1615 | ||
| 1616 | :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate | 1616 | :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate |
| 1617 | with the process. Process output goes at end of that buffer, unless | 1617 | with the process. Process output goes at end of that buffer, unless |
| 1618 | you specify an output stream or filter function to handle the output. | 1618 | you specify a filter function to handle the output. BUFFER may be |
| 1619 | BUFFER may be also nil, meaning that this process is not associated | 1619 | also nil, meaning that this process is not associated with any buffer. |
| 1620 | with any buffer. | ||
| 1621 | 1620 | ||
| 1622 | :command COMMAND -- COMMAND is a list starting with the program file | 1621 | :command COMMAND -- COMMAND is a list starting with the program file |
| 1623 | name, followed by strings to give to the program as arguments. | 1622 | name, followed by strings to give to the program as arguments. |
| @@ -2307,8 +2306,8 @@ arguments are defined: | |||
| 2307 | 2306 | ||
| 2308 | :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate | 2307 | :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate |
| 2309 | with the process. Process output goes at the end of that buffer, | 2308 | with the process. Process output goes at the end of that buffer, |
| 2310 | unless you specify an output stream or filter function to handle the | 2309 | unless you specify a filter function to handle the output. If BUFFER |
| 2311 | output. If BUFFER is not given, the value of NAME is used. | 2310 | is not given, the value of NAME is used. |
| 2312 | 2311 | ||
| 2313 | :coding CODING -- If CODING is a symbol, it specifies the coding | 2312 | :coding CODING -- If CODING is a symbol, it specifies the coding |
| 2314 | system used for both reading and writing for this process. If CODING | 2313 | system used for both reading and writing for this process. If CODING |
| @@ -3022,8 +3021,8 @@ the value of PORT is used. | |||
| 3022 | 3021 | ||
| 3023 | :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate | 3022 | :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate |
| 3024 | with the process. Process output goes at the end of that buffer, | 3023 | with the process. Process output goes at the end of that buffer, |
| 3025 | unless you specify an output stream or filter function to handle the | 3024 | unless you specify a filter function to handle the output. If BUFFER |
| 3026 | output. If BUFFER is not given, the value of NAME is used. | 3025 | is not given, the value of NAME is used. |
| 3027 | 3026 | ||
| 3028 | :coding CODING -- If CODING is a symbol, it specifies the coding | 3027 | :coding CODING -- If CODING is a symbol, it specifies the coding |
| 3029 | system used for both reading and writing for this process. If CODING | 3028 | system used for both reading and writing for this process. If CODING |
| @@ -3685,9 +3684,8 @@ to make it unique. | |||
| 3685 | 3684 | ||
| 3686 | :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate | 3685 | :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate |
| 3687 | with the process. Process output goes at end of that buffer, unless | 3686 | with the process. Process output goes at end of that buffer, unless |
| 3688 | you specify an output stream or filter function to handle the output. | 3687 | you specify a filter function to handle the output. BUFFER may be |
| 3689 | BUFFER may be also nil, meaning that this process is not associated | 3688 | also nil, meaning that this process is not associated with any buffer. |
| 3690 | with any buffer. | ||
| 3691 | 3689 | ||
| 3692 | :host HOST -- HOST is name of the host to connect to, or its IP | 3690 | :host HOST -- HOST is name of the host to connect to, or its IP |
| 3693 | address. The symbol `local' specifies the local host. If specified | 3691 | address. The symbol `local' specifies the local host. If specified |
diff --git a/src/w32term.c b/src/w32term.c index 137c798c463..c1d039c1375 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -6922,10 +6922,15 @@ w32_initialize_display_info (Lisp_Object display_name) | |||
| 6922 | memset (dpyinfo, 0, sizeof (*dpyinfo)); | 6922 | memset (dpyinfo, 0, sizeof (*dpyinfo)); |
| 6923 | 6923 | ||
| 6924 | dpyinfo->name_list_element = Fcons (display_name, Qnil); | 6924 | dpyinfo->name_list_element = Fcons (display_name, Qnil); |
| 6925 | dpyinfo->w32_id_name = xmalloc (SCHARS (Vinvocation_name) | 6925 | if (STRINGP (Vsystem_name)) |
| 6926 | + SCHARS (Vsystem_name) + 2); | 6926 | { |
| 6927 | sprintf (dpyinfo->w32_id_name, "%s@%s", | 6927 | dpyinfo->w32_id_name = xmalloc (SCHARS (Vinvocation_name) |
| 6928 | SDATA (Vinvocation_name), SDATA (Vsystem_name)); | 6928 | + SCHARS (Vsystem_name) + 2); |
| 6929 | sprintf (dpyinfo->w32_id_name, "%s@%s", | ||
| 6930 | SDATA (Vinvocation_name), SDATA (Vsystem_name)); | ||
| 6931 | } | ||
| 6932 | else | ||
| 6933 | dpyinfo->w32_id_name = xlispstrdup (Vinvocation_name); | ||
| 6929 | 6934 | ||
| 6930 | /* Default Console mode values - overridden when running in GUI mode | 6935 | /* Default Console mode values - overridden when running in GUI mode |
| 6931 | with values obtained from system metrics. */ | 6936 | with values obtained from system metrics. */ |
diff --git a/src/xrdb.c b/src/xrdb.c index b55c0f9011e..836c147947a 100644 --- a/src/xrdb.c +++ b/src/xrdb.c | |||
| @@ -376,15 +376,18 @@ get_environ_db (void) | |||
| 376 | 376 | ||
| 377 | if (!p) | 377 | if (!p) |
| 378 | { | 378 | { |
| 379 | /* Use ~/.Xdefaults-HOSTNAME. */ | ||
| 380 | char *home = gethomedir (); | ||
| 381 | ptrdiff_t homelen = strlen (home); | ||
| 382 | Lisp_Object system_name = Fsystem_name (); | 379 | Lisp_Object system_name = Fsystem_name (); |
| 383 | ptrdiff_t filenamesize = (homelen + sizeof xdefaults | 380 | if (STRINGP (system_name)) |
| 384 | + 1 + SBYTES (system_name)); | 381 | { |
| 385 | p = filename = xrealloc (home, filenamesize); | 382 | /* Use ~/.Xdefaults-HOSTNAME. */ |
| 386 | lispstpcpy (stpcpy (stpcpy (filename + homelen, xdefaults), "-"), | 383 | char *home = gethomedir (); |
| 387 | system_name); | 384 | ptrdiff_t homelen = strlen (home); |
| 385 | ptrdiff_t filenamesize = (homelen + sizeof xdefaults | ||
| 386 | + 1 + SBYTES (system_name)); | ||
| 387 | p = filename = xrealloc (home, filenamesize); | ||
| 388 | lispstpcpy (stpcpy (stpcpy (filename + homelen, xdefaults), "-"), | ||
| 389 | system_name); | ||
| 390 | } | ||
| 388 | } | 391 | } |
| 389 | 392 | ||
| 390 | db = XrmGetFileDatabase (p); | 393 | db = XrmGetFileDatabase (p); |
diff --git a/src/xterm.c b/src/xterm.c index 7603e4f3991..deae65d1d8a 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -12141,6 +12141,8 @@ same_x_server (const char *name1, const char *name2) | |||
| 12141 | { | 12141 | { |
| 12142 | bool seen_colon = false; | 12142 | bool seen_colon = false; |
| 12143 | Lisp_Object sysname = Fsystem_name (); | 12143 | Lisp_Object sysname = Fsystem_name (); |
| 12144 | if (! STRINGP (sysname)) | ||
| 12145 | sysname = empty_unibyte_string; | ||
| 12144 | const char *system_name = SSDATA (sysname); | 12146 | const char *system_name = SSDATA (sysname); |
| 12145 | ptrdiff_t system_name_length = SBYTES (sysname); | 12147 | ptrdiff_t system_name_length = SBYTES (sysname); |
| 12146 | ptrdiff_t length_until_period = 0; | 12148 | ptrdiff_t length_until_period = 0; |
| @@ -12563,15 +12565,19 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) | |||
| 12563 | #endif | 12565 | #endif |
| 12564 | 12566 | ||
| 12565 | Lisp_Object system_name = Fsystem_name (); | 12567 | Lisp_Object system_name = Fsystem_name (); |
| 12566 | ptrdiff_t nbytes; | 12568 | |
| 12567 | if (INT_ADD_WRAPV (SBYTES (Vinvocation_name), SBYTES (system_name) + 2, | 12569 | ptrdiff_t nbytes = SBYTES (Vinvocation_name) + 1; |
| 12568 | &nbytes)) | 12570 | if (STRINGP (system_name) |
| 12571 | && INT_ADD_WRAPV (nbytes, SBYTES (system_name) + 1, &nbytes)) | ||
| 12569 | memory_full (SIZE_MAX); | 12572 | memory_full (SIZE_MAX); |
| 12570 | dpyinfo->x_id = ++x_display_id; | 12573 | dpyinfo->x_id = ++x_display_id; |
| 12571 | dpyinfo->x_id_name = xmalloc (nbytes); | 12574 | dpyinfo->x_id_name = xmalloc (nbytes); |
| 12572 | char *nametail = lispstpcpy (dpyinfo->x_id_name, Vinvocation_name); | 12575 | char *nametail = lispstpcpy (dpyinfo->x_id_name, Vinvocation_name); |
| 12573 | *nametail++ = '@'; | 12576 | if (STRINGP (system_name)) |
| 12574 | lispstpcpy (nametail, system_name); | 12577 | { |
| 12578 | *nametail++ = '@'; | ||
| 12579 | lispstpcpy (nametail, system_name); | ||
| 12580 | } | ||
| 12575 | 12581 | ||
| 12576 | /* Figure out which modifier bits mean what. */ | 12582 | /* Figure out which modifier bits mean what. */ |
| 12577 | x_find_modifier_meanings (dpyinfo); | 12583 | x_find_modifier_meanings (dpyinfo); |
diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el index d0b3127f71b..52b61d9fb97 100644 --- a/test/lisp/subr-tests.el +++ b/test/lisp/subr-tests.el | |||
| @@ -325,5 +325,22 @@ cf. Bug#25477." | |||
| 325 | (should (equal (butlast (new-list-fn)) | 325 | (should (equal (butlast (new-list-fn)) |
| 326 | (assoc-delete-all "foo" (new-list-fn)))))) | 326 | (assoc-delete-all "foo" (new-list-fn)))))) |
| 327 | 327 | ||
| 328 | (ert-deftest shell-quote-argument-%-on-w32 () | ||
| 329 | "Quoting of `%' in w32 shells isn't perfect. | ||
| 330 | See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19350." | ||
| 331 | :expected-result :failed | ||
| 332 | (skip-unless (and (fboundp 'w32-shell-dos-semantics) | ||
| 333 | (w32-shell-dos-semantics))) | ||
| 334 | (let ((process-environment (append '("ca^=with-caret" | ||
| 335 | "ca=without-caret") | ||
| 336 | process-environment))) | ||
| 337 | ;; It actually results in | ||
| 338 | ;; without-caret with-caret | ||
| 339 | (should (equal (shell-command-to-string | ||
| 340 | (format "echo %s %s" | ||
| 341 | "%ca%" | ||
| 342 | (shell-quote-argument "%ca%"))) | ||
| 343 | "without-caret %ca%")))) | ||
| 344 | |||
| 328 | (provide 'subr-tests) | 345 | (provide 'subr-tests) |
| 329 | ;;; subr-tests.el ends here | 346 | ;;; subr-tests.el ends here |
diff --git a/test/lisp/textmodes/css-mode-tests.el b/test/lisp/textmodes/css-mode-tests.el index a8ce9944169..b0283bfa455 100644 --- a/test/lisp/textmodes/css-mode-tests.el +++ b/test/lisp/textmodes/css-mode-tests.el | |||
| @@ -58,7 +58,7 @@ | |||
| 58 | 58 | ||
| 59 | ;; Check that the `color' property doesn't cause infinite recursion | 59 | ;; Check that the `color' property doesn't cause infinite recursion |
| 60 | ;; because it refers to the value class of the same name. | 60 | ;; because it refers to the value class of the same name. |
| 61 | (should (= (length (css--property-values "color")) 152))) | 61 | (should (= (length (css--property-values "color")) 154))) |
| 62 | 62 | ||
| 63 | (ert-deftest css-test-property-value-cache () | 63 | (ert-deftest css-test-property-value-cache () |
| 64 | "Test that `css--property-value-cache' is in use." | 64 | "Test that `css--property-value-cache' is in use." |