diff options
| author | Glenn Morris | 2018-02-16 09:44:04 -0800 |
|---|---|---|
| committer | Glenn Morris | 2018-02-16 09:44:04 -0800 |
| commit | 47106da23ac2b19ad994eed95cdcb0d33535281d (patch) | |
| tree | 689994b90ebbf6d8567d3143aad15a8fec251179 | |
| parent | 4ba32858d61eee16f17b51aca01c15211a0912f8 (diff) | |
| parent | a06a8ed5b66883202ae7182471570dfcabcea973 (diff) | |
| download | emacs-47106da23ac2b19ad994eed95cdcb0d33535281d.tar.gz emacs-47106da23ac2b19ad994eed95cdcb0d33535281d.zip | |
Merge from origin/emacs-26
a06a8ed (origin/emacs-26) ; * lisp/vc/vc-git.el (vc-git--program-vers...
edc06ad Make 'byte-compile-error-on-warn' a safe file variable
9f5d8da ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
f73905a Fix the doc string of flyspell-auto-correct-word
e9c7ddc Improve the MS-Windows appendix of the Emacs manual
6ddb4bd Fix 'vc-git--program-version'
63c93f7 Fix typos and wording in the Emacs manual
42f15b0 * doc/emacs/programs.texi (Semantic): Order programming langu...
b46be29 More improvements for the Emacs manual
874c0ed Minor wording change in Emacs manual
53511f9 Another set of changes for the manual
78426b8 Improvements on tramp.texi
0dca618 Tramp minor doc fixes
Conflicts:
doc/misc/tramp.texi
| -rw-r--r-- | doc/emacs/building.texi | 10 | ||||
| -rw-r--r-- | doc/emacs/custom.texi | 8 | ||||
| -rw-r--r-- | doc/emacs/dired.texi | 9 | ||||
| -rw-r--r-- | doc/emacs/files.texi | 11 | ||||
| -rw-r--r-- | doc/emacs/fortran-xtra.texi | 42 | ||||
| -rw-r--r-- | doc/emacs/help.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/killing.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/maintaining.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/msdos.texi | 116 | ||||
| -rw-r--r-- | doc/emacs/programs.texi | 159 | ||||
| -rw-r--r-- | doc/emacs/regs.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/search.texi | 4 | ||||
| -rw-r--r-- | doc/emacs/text.texi | 8 | ||||
| -rw-r--r-- | doc/emacs/windows.texi | 2 | ||||
| -rw-r--r-- | doc/lispref/display.texi | 21 | ||||
| -rw-r--r-- | doc/misc/tramp.texi | 122 | ||||
| -rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 5 | ||||
| -rw-r--r-- | lisp/textmodes/flyspell.el | 5 | ||||
| -rw-r--r-- | lisp/vc/vc-git.el | 7 |
19 files changed, 322 insertions, 215 deletions
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index 878d2f53d53..b6b664ddb39 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi | |||
| @@ -649,7 +649,7 @@ Set a breakpoint on the source line that point is on. | |||
| 649 | buffer, sets a debugger breakpoint on the current source line. This | 649 | buffer, sets a debugger breakpoint on the current source line. This |
| 650 | command is available only after starting GUD@. If you call it in a | 650 | command is available only after starting GUD@. If you call it in a |
| 651 | buffer that is not associated with any debugger subprocess, it signals | 651 | buffer that is not associated with any debugger subprocess, it signals |
| 652 | a error. | 652 | an error. |
| 653 | 653 | ||
| 654 | @kindex C-x C-a @r{(GUD)} | 654 | @kindex C-x C-a @r{(GUD)} |
| 655 | The following commands are available both in the GUD interaction | 655 | The following commands are available both in the GUD interaction |
| @@ -1096,9 +1096,9 @@ display the corresponding buffer in a new frame. | |||
| 1096 | When you create a buffer showing information about some specific | 1096 | When you create a buffer showing information about some specific |
| 1097 | thread, it becomes bound to that thread and keeps showing actual | 1097 | thread, it becomes bound to that thread and keeps showing actual |
| 1098 | information while you debug your program. The mode indicator for each | 1098 | information while you debug your program. The mode indicator for each |
| 1099 | GDB buffer shows the number of thread it is showing information about. | 1099 | GDB buffer shows the number of the thread whose information that |
| 1100 | The thread number is also included in the buffer name of bound | 1100 | buffer displays. The thread number is also included in the name of |
| 1101 | buffers. | 1101 | each bound buffer. |
| 1102 | 1102 | ||
| 1103 | Further commands are available in the GDB Threads buffer which | 1103 | Further commands are available in the GDB Threads buffer which |
| 1104 | depend on the mode of GDB that is used for controlling execution of | 1104 | depend on the mode of GDB that is used for controlling execution of |
| @@ -1449,7 +1449,7 @@ buffer). To disable this feature, change the variable | |||
| 1449 | @vindex load-dangerous-libraries | 1449 | @vindex load-dangerous-libraries |
| 1450 | @cindex Lisp files byte-compiled by XEmacs | 1450 | @cindex Lisp files byte-compiled by XEmacs |
| 1451 | By default, Emacs refuses to load compiled Lisp files which were | 1451 | By default, Emacs refuses to load compiled Lisp files which were |
| 1452 | compiled with XEmacs, a modified versions of Emacs---they can cause | 1452 | compiled with XEmacs, a modified version of Emacs---they can cause |
| 1453 | Emacs to crash. Set the variable @code{load-dangerous-libraries} to | 1453 | Emacs to crash. Set the variable @code{load-dangerous-libraries} to |
| 1454 | @code{t} if you want to try loading them. | 1454 | @code{t} if you want to try loading them. |
| 1455 | 1455 | ||
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index e27760b3796..2726690f09f 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi | |||
| @@ -2567,11 +2567,3 @@ instance: | |||
| 2567 | 2567 | ||
| 2568 | @noindent | 2568 | @noindent |
| 2569 | Type @kbd{C-q}, followed by the key you want to bind, to insert @var{char}. | 2569 | Type @kbd{C-q}, followed by the key you want to bind, to insert @var{char}. |
| 2570 | |||
| 2571 | @strong{Warning:} if you change the keyboard encoding, or change | ||
| 2572 | between multibyte and unibyte mode, or anything that would alter which | ||
| 2573 | code @kbd{C-q} would insert for that character, this key binding may | ||
| 2574 | stop working. It is therefore advisable to use one and only one | ||
| 2575 | coding system, for your init file as well as the files you edit. For | ||
| 2576 | example, don't mix the @samp{latin-1} and @samp{latin-9} coding | ||
| 2577 | systems. | ||
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index 71aea90a46e..3fa35f14746 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi | |||
| @@ -579,9 +579,10 @@ might be inconsistent with the file on disk if its contents have changed | |||
| 579 | since it was last visited. If you don't want this, you may wish to | 579 | since it was last visited. If you don't want this, you may wish to |
| 580 | revert the files you have visited in your buffers, or to turn on | 580 | revert the files you have visited in your buffers, or to turn on |
| 581 | the @code{auto-revert} mode in those buffers, before invoking this | 581 | the @code{auto-revert} mode in those buffers, before invoking this |
| 582 | command. @xref{Reverting}. If you prefer that this command always revisit | 582 | command. @xref{Reverting}. If you prefer that this command always |
| 583 | the file, without having to revert the file or enable @code{auto-revert} | 583 | revisits the file, without having to revert the file or enable |
| 584 | mode, you might want to set @code{dired-always-read-filesystem} to non-@code{nil}. | 584 | @code{auto-revert} mode, you might want to set |
| 585 | @code{dired-always-read-filesystem} to non-@code{nil}. | ||
| 585 | 586 | ||
| 586 | @item C-/ | 587 | @item C-/ |
| 587 | @itemx C-x u | 588 | @itemx C-x u |
| @@ -1184,7 +1185,7 @@ without having to remove the Dired marks on files in those | |||
| 1184 | subdirectories. | 1185 | subdirectories. |
| 1185 | 1186 | ||
| 1186 | @xref{Subdirectories in Dired}, for how to insert a subdirectory | 1187 | @xref{Subdirectories in Dired}, for how to insert a subdirectory |
| 1187 | listing, and @pxref{Dired Updating} for how delete it. | 1188 | listing, and see @ref{Dired Updating}, for how to delete it. |
| 1188 | 1189 | ||
| 1189 | @node Dired Updating | 1190 | @node Dired Updating |
| 1190 | @section Updating the Dired Buffer | 1191 | @section Updating the Dired Buffer |
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 37d905690cd..bd772e9abc1 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi | |||
| @@ -694,11 +694,12 @@ Otherwise, renaming is the default choice. | |||
| 694 | 694 | ||
| 695 | When a file is managed with a version control system (@pxref{Version | 695 | When a file is managed with a version control system (@pxref{Version |
| 696 | Control}), Emacs does not normally make backups in the usual way for | 696 | Control}), Emacs does not normally make backups in the usual way for |
| 697 | that file. But check-in and check-out are similar in some ways to | 697 | that file. But @dfn{committing} (a.k.a.@: @dfn{checking in}, |
| 698 | making backups. One unfortunate similarity is that these operations | 698 | @pxref{VCS Concepts}) new versions of files is similar in some ways |
| 699 | typically break hard links, disconnecting the file name you visited from | 699 | to making backups. One unfortunate similarity is that these |
| 700 | any alternate names for the same file. This has nothing to do with | 700 | operations typically break hard links, disconnecting the file name you |
| 701 | Emacs---the version control system does it. | 701 | visited from any alternate names for the same file. This has nothing |
| 702 | to do with Emacs---the version control system does it. | ||
| 702 | 703 | ||
| 703 | @node Customize Save | 704 | @node Customize Save |
| 704 | @subsection Customizing Saving of Files | 705 | @subsection Customizing Saving of Files |
diff --git a/doc/emacs/fortran-xtra.texi b/doc/emacs/fortran-xtra.texi index 98ff8258dbe..859c6132436 100644 --- a/doc/emacs/fortran-xtra.texi +++ b/doc/emacs/fortran-xtra.texi | |||
| @@ -158,11 +158,14 @@ the required columns. | |||
| 158 | @item C-M-j | 158 | @item C-M-j |
| 159 | Break the current line at point and set up a continuation line | 159 | Break the current line at point and set up a continuation line |
| 160 | (@code{fortran-split-line}). | 160 | (@code{fortran-split-line}). |
| 161 | |||
| 161 | @item M-^ | 162 | @item M-^ |
| 162 | Join this line to the previous line (@code{fortran-join-line}). | 163 | Join this line to the previous line (@code{fortran-join-line}). |
| 164 | |||
| 163 | @item C-M-q | 165 | @item C-M-q |
| 164 | Indent all the lines of the subprogram that point is in | 166 | Indent all the lines of the subprogram that point is in |
| 165 | (@code{fortran-indent-subprogram}). | 167 | (@code{fortran-indent-subprogram}). |
| 168 | |||
| 166 | @item M-q | 169 | @item M-q |
| 167 | Fill a comment block or statement (using @code{fortran-fill-paragraph} | 170 | Fill a comment block or statement (using @code{fortran-fill-paragraph} |
| 168 | or @code{fortran-fill-statement}). | 171 | or @code{fortran-fill-statement}). |
| @@ -185,7 +188,7 @@ lines. | |||
| 185 | @kindex M-^ @r{(Fortran mode)} | 188 | @kindex M-^ @r{(Fortran mode)} |
| 186 | @kindex C-c C-d @r{(Fortran mode)} | 189 | @kindex C-c C-d @r{(Fortran mode)} |
| 187 | @findex fortran-join-line | 190 | @findex fortran-join-line |
| 188 | @kbd{M-^} or @kbd{C-c C-d} runs the command @code{fortran-join-line}, | 191 | @kbd{M-^} or @kbd{C-c C-d} run the command @code{fortran-join-line}, |
| 189 | which joins a continuation line back to the previous line, roughly as | 192 | which joins a continuation line back to the previous line, roughly as |
| 190 | the inverse of @code{fortran-split-line}. The point must be on a | 193 | the inverse of @code{fortran-split-line}. The point must be on a |
| 191 | continuation line when this command is invoked. | 194 | continuation line when this command is invoked. |
| @@ -203,7 +206,9 @@ point is in. This removes any excess statement continuations. | |||
| 203 | If the first non-space character on a line is in column 5, then that | 206 | If the first non-space character on a line is in column 5, then that |
| 204 | line is a continuation of the previous line. We call this @dfn{fixed | 207 | line is a continuation of the previous line. We call this @dfn{fixed |
| 205 | form}. (In GNU Emacs we always count columns from 0; but note that | 208 | form}. (In GNU Emacs we always count columns from 0; but note that |
| 206 | the Fortran standard counts from 1.) The variable | 209 | the Fortran standard counts from 1. You can customize the variable |
| 210 | @code{column-number-indicator-zero-based} to make the column display | ||
| 211 | Fortran-like; @pxref{Optional Mode Line}.) The variable | ||
| 207 | @code{fortran-continuation-string} specifies what character to put in | 212 | @code{fortran-continuation-string} specifies what character to put in |
| 208 | column 5. A line that starts with a tab character followed by any digit | 213 | column 5. A line that starts with a tab character followed by any digit |
| 209 | except @samp{0} is also a continuation line. We call this style of | 214 | except @samp{0} is also a continuation line. We call this style of |
| @@ -229,10 +234,10 @@ accordingly. | |||
| 229 | If the text on a line starts with the Fortran continuation marker | 234 | If the text on a line starts with the Fortran continuation marker |
| 230 | @samp{$}, or if it begins with any non-whitespace character in column | 235 | @samp{$}, or if it begins with any non-whitespace character in column |
| 231 | 5, Fortran mode treats it as a continuation line. When you indent a | 236 | 5, Fortran mode treats it as a continuation line. When you indent a |
| 232 | continuation line with @key{TAB}, it converts the line to the current | 237 | continuation line with @kbd{@key{TAB}}, it converts the line to the |
| 233 | continuation style. When you split a Fortran statement with | 238 | current continuation style. When you split a Fortran statement with |
| 234 | @kbd{C-M-j}, the continuation marker on the newline is created according | 239 | @kbd{C-M-j}, the continuation marker on the newline is created |
| 235 | to the continuation style. | 240 | according to the continuation style. |
| 236 | 241 | ||
| 237 | The setting of continuation style affects several other aspects of | 242 | The setting of continuation style affects several other aspects of |
| 238 | editing in Fortran mode. In fixed form mode, the minimum column | 243 | editing in Fortran mode. In fixed form mode, the minimum column |
| @@ -247,7 +252,9 @@ column 8 must consist of one tab character. | |||
| 247 | 252 | ||
| 248 | If a number is the first non-whitespace in the line, Fortran | 253 | If a number is the first non-whitespace in the line, Fortran |
| 249 | indentation assumes it is a line number and moves it to columns 0 | 254 | indentation assumes it is a line number and moves it to columns 0 |
| 250 | through 4. (Columns always count from 0 in Emacs.) | 255 | through 4. (Columns always count from 0 in Emacs, but setting |
| 256 | @code{column-number-indicator-zero-based} to @code{nil} can change | ||
| 257 | that, @pxref{Optional Mode Line}.) | ||
| 251 | 258 | ||
| 252 | @vindex fortran-line-number-indent | 259 | @vindex fortran-line-number-indent |
| 253 | Line numbers of four digits or less are normally indented one space. | 260 | Line numbers of four digits or less are normally indented one space. |
| @@ -320,7 +327,7 @@ Extra indentation within each level of @samp{structure}, @samp{union}, | |||
| 320 | Extra indentation for bodies of continuation lines (default 5). | 327 | Extra indentation for bodies of continuation lines (default 5). |
| 321 | 328 | ||
| 322 | @item fortran-check-all-num-for-matching-do | 329 | @item fortran-check-all-num-for-matching-do |
| 323 | In Fortran 77, a numbered @samp{do} statement is ended by any statement | 330 | In Fortran 77, a numbered @samp{do} statement is terminated by any statement |
| 324 | with a matching line number. It is common (but not compulsory) to use a | 331 | with a matching line number. It is common (but not compulsory) to use a |
| 325 | @samp{continue} statement for this purpose. If this variable has a | 332 | @samp{continue} statement for this purpose. If this variable has a |
| 326 | non-@code{nil} value, indenting any numbered statement must check for a | 333 | non-@code{nil} value, indenting any numbered statement must check for a |
| @@ -330,7 +337,7 @@ then you can speed up indentation by setting this variable to | |||
| 330 | @code{nil} (the default). | 337 | @code{nil} (the default). |
| 331 | 338 | ||
| 332 | @item fortran-blink-matching-if | 339 | @item fortran-blink-matching-if |
| 333 | If this is @code{t}, indenting an @samp{endif} (or @samp{enddo} | 340 | If this is @code{t}, indenting an @samp{endif} (or @samp{enddo}) |
| 334 | statement moves the cursor momentarily to the matching @samp{if} (or | 341 | statement moves the cursor momentarily to the matching @samp{if} (or |
| 335 | @samp{do}) statement to show where it is. The default is @code{nil}. | 342 | @samp{do}) statement to show where it is. The default is @code{nil}. |
| 336 | 343 | ||
| @@ -386,7 +393,7 @@ Fortran mode as in other modes. | |||
| 386 | 393 | ||
| 387 | When a new comment must be inserted, if the current line is blank, a | 394 | When a new comment must be inserted, if the current line is blank, a |
| 388 | full-line comment is inserted. On a non-blank line, a nonstandard @samp{!} | 395 | full-line comment is inserted. On a non-blank line, a nonstandard @samp{!} |
| 389 | comment is inserted if you have said you want to use them. Otherwise a | 396 | comment is inserted if you have said you want to use them. Otherwise, a |
| 390 | full-line comment is inserted on a new line before the current line. | 397 | full-line comment is inserted on a new line before the current line. |
| 391 | 398 | ||
| 392 | Nonstandard @samp{!} comments are aligned like comments in other | 399 | Nonstandard @samp{!} comments are aligned like comments in other |
| @@ -434,7 +441,7 @@ distinctive font-locking. | |||
| 434 | 441 | ||
| 435 | The normal Emacs comment command @kbd{C-x ;} (@code{comment-set-column}) | 442 | The normal Emacs comment command @kbd{C-x ;} (@code{comment-set-column}) |
| 436 | has not been redefined. If you use @samp{!} comments, this command | 443 | has not been redefined. If you use @samp{!} comments, this command |
| 437 | can be used with them. Otherwise it is useless in Fortran mode. | 444 | can be used with them. Otherwise, it is useless in Fortran mode. |
| 438 | 445 | ||
| 439 | @kindex C-c ; @r{(Fortran mode)} | 446 | @kindex C-c ; @r{(Fortran mode)} |
| 440 | @findex fortran-comment-region | 447 | @findex fortran-comment-region |
| @@ -457,9 +464,9 @@ minor mode that automatically splits statements as you insert them | |||
| 457 | when they become too wide. Splitting a statement involves making | 464 | when they become too wide. Splitting a statement involves making |
| 458 | continuation lines using @code{fortran-continuation-string} | 465 | continuation lines using @code{fortran-continuation-string} |
| 459 | (@pxref{ForIndent Cont}). This splitting happens when you type | 466 | (@pxref{ForIndent Cont}). This splitting happens when you type |
| 460 | @key{SPC}, @key{RET}, or @key{TAB}, and also in the Fortran | 467 | @kbd{@key{SPC}}, @kbd{@key{RET}}, or @kbd{@key{TAB}}, and also in the |
| 461 | indentation commands. You activate Auto Fill in Fortran mode in the | 468 | Fortran indentation commands. You activate Auto Fill in Fortran mode |
| 462 | normal way. | 469 | in the normal way. |
| 463 | @iftex | 470 | @iftex |
| 464 | @xref{Auto Fill,,, emacs, the Emacs Manual}. | 471 | @xref{Auto Fill,,, emacs, the Emacs Manual}. |
| 465 | @end iftex | 472 | @end iftex |
| @@ -501,15 +508,18 @@ will confuse font-lock.) | |||
| 501 | @item C-c C-r | 508 | @item C-c C-r |
| 502 | Display a column ruler momentarily above the current line | 509 | Display a column ruler momentarily above the current line |
| 503 | (@code{fortran-column-ruler}). | 510 | (@code{fortran-column-ruler}). |
| 511 | |||
| 504 | @item C-c C-w | 512 | @item C-c C-w |
| 505 | Split the current window horizontally temporarily so that it is | 513 | Split the current window horizontally temporarily so that it is |
| 506 | @code{fortran-line-length} columns wide | 514 | @code{fortran-line-length} columns wide |
| 507 | (@code{fortran-window-create-momentarily}). This may help you avoid | 515 | (@code{fortran-window-create-momentarily}). This may help you avoid |
| 508 | making lines longer than the limit imposed by your Fortran compiler. | 516 | making lines longer than the limit imposed by your Fortran compiler. |
| 517 | |||
| 509 | @item C-u C-c C-w | 518 | @item C-u C-c C-w |
| 510 | Split the current window horizontally so that it is | 519 | Split the current window horizontally so that it is |
| 511 | @code{fortran-line-length} columns wide (@code{fortran-window-create}). | 520 | @code{fortran-line-length} columns wide (@code{fortran-window-create}). |
| 512 | You can then continue editing. | 521 | You can then continue editing. |
| 522 | |||
| 513 | @item M-x fortran-strip-sequence-nos | 523 | @item M-x fortran-strip-sequence-nos |
| 514 | Delete all text in column @code{fortran-line-length} and beyond. | 524 | Delete all text in column @code{fortran-line-length} and beyond. |
| 515 | @end table | 525 | @end table |
| @@ -523,7 +533,9 @@ Fortran programs. Square brackets show the limits of the columns for line | |||
| 523 | numbers, and curly brackets show the limits of the columns for the | 533 | numbers, and curly brackets show the limits of the columns for the |
| 524 | statement body. Column numbers appear above them. | 534 | statement body. Column numbers appear above them. |
| 525 | 535 | ||
| 526 | Note that the column numbers count from zero, as always in GNU Emacs. | 536 | Note that the column numbers count from zero, as always in GNU Emacs |
| 537 | (but customizing @code{column-number-indicator-zero-based} can change | ||
| 538 | column display to match that of Fortran; @pxref{Optional Mode Line}). | ||
| 527 | As a result, the numbers may be one less than those you are familiar | 539 | As a result, the numbers may be one less than those you are familiar |
| 528 | with; but the positions they indicate in the line are standard for | 540 | with; but the positions they indicate in the line are standard for |
| 529 | Fortran. | 541 | Fortran. |
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi index 2ed264258eb..6c093f13d05 100644 --- a/doc/emacs/help.texi +++ b/doc/emacs/help.texi | |||
| @@ -642,7 +642,7 @@ Display information about where to get external packages | |||
| 642 | @item C-h C-f | 642 | @item C-h C-f |
| 643 | Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}). | 643 | Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}). |
| 644 | @item C-h g | 644 | @item C-h g |
| 645 | Visit a @uref{https://www.gnu.org} page with information about the GNU | 645 | Visit the @uref{https://www.gnu.org, page} with information about the GNU |
| 646 | Project (@code{describe-gnu-project}). | 646 | Project (@code{describe-gnu-project}). |
| 647 | @item C-h C-m | 647 | @item C-h C-m |
| 648 | Display information about ordering printed copies of Emacs manuals | 648 | Display information about ordering printed copies of Emacs manuals |
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index 3416db53f4e..19aa9077d70 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi | |||
| @@ -675,7 +675,7 @@ use to alter a buffer, then point is always at the end. | |||
| 675 | 675 | ||
| 676 | @kbd{M-x prepend-to-buffer} is just like @code{append-to-buffer} | 676 | @kbd{M-x prepend-to-buffer} is just like @code{append-to-buffer} |
| 677 | except that point in the other buffer is left before the copied text, so | 677 | except that point in the other buffer is left before the copied text, so |
| 678 | successive prependings add text in reverse order. @kbd{M-x | 678 | successive uses of this command add text in reverse order. @kbd{M-x |
| 679 | copy-to-buffer} is similar, except that any existing text in the other | 679 | copy-to-buffer} is similar, except that any existing text in the other |
| 680 | buffer is deleted, so the buffer is left containing just the text newly | 680 | buffer is deleted, so the buffer is left containing just the text newly |
| 681 | copied into it. | 681 | copied into it. |
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 127c27c0378..1234db84b2f 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi | |||
| @@ -2203,7 +2203,7 @@ In Ada, the same name can be used for different kinds of entity | |||
| 2203 | (e.g., for a procedure and for a function). Also, for things like | 2203 | (e.g., for a procedure and for a function). Also, for things like |
| 2204 | packages, procedures and functions, there is the spec (i.e., the | 2204 | packages, procedures and functions, there is the spec (i.e., the |
| 2205 | interface) and the body (i.e., the implementation). To make it | 2205 | interface) and the body (i.e., the implementation). To make it |
| 2206 | easier to pick the definition you want, Ada tag name have suffixes | 2206 | easier to pick the definition you want, Ada tag names have suffixes |
| 2207 | indicating the type of entity: | 2207 | indicating the type of entity: |
| 2208 | 2208 | ||
| 2209 | @table @samp | 2209 | @table @samp |
diff --git a/doc/emacs/msdos.texi b/doc/emacs/msdos.texi index dd368adb54a..2790d56e01c 100644 --- a/doc/emacs/msdos.texi +++ b/doc/emacs/msdos.texi | |||
| @@ -69,6 +69,20 @@ right-click on the shortcut, select ``Properties'', and in the | |||
| 69 | ``Shortcut'' tab modify the ``Start in'' field to your liking. | 69 | ``Shortcut'' tab modify the ``Start in'' field to your liking. |
| 70 | 70 | ||
| 71 | @item | 71 | @item |
| 72 | @cindex pinning Emacs to Windows task bar | ||
| 73 | From a task-bar shortcut icon, by clicking once the left mouse button. | ||
| 74 | Windows versions since Vista allow you to create such shortcuts by | ||
| 75 | @dfn{pinning} the icon of a running program that appears in the task | ||
| 76 | bar. You can do that with Emacs, but afterwards you will have to | ||
| 77 | change the properties of the pinned shortcut to run | ||
| 78 | @file{runemacs.exe}, @emph{not} of @file{emacs.exe}. You can also pin | ||
| 79 | Emacs to the task bar by clicking the right mouse button on its icon | ||
| 80 | in the Start menu, then selecting @samp{Pin to taskbar}. Once again, | ||
| 81 | be sure to specify @file{runemacs.exe} as the program to run. You can | ||
| 82 | control where Emacs starts by setting the ``Start in'' field of the | ||
| 83 | shortcut's Properties. | ||
| 84 | |||
| 85 | @item | ||
| 72 | From the Command Prompt window, by typing @kbd{emacs @key{RET}} at the | 86 | From the Command Prompt window, by typing @kbd{emacs @key{RET}} at the |
| 73 | prompt. The Command Prompt window where you did that will not be | 87 | prompt. The Command Prompt window where you did that will not be |
| 74 | available for invoking other commands until Emacs exits. In this | 88 | available for invoking other commands until Emacs exits. In this |
| @@ -81,6 +95,12 @@ immediately available for invoking other commands. In this case, | |||
| 81 | Emacs will start in the current directory of the Windows shell. | 95 | Emacs will start in the current directory of the Windows shell. |
| 82 | 96 | ||
| 83 | @item | 97 | @item |
| 98 | From the Windows @code{Run} dialog (normally reached by clicking the | ||
| 99 | @code{Start} button). Typing @kbd{runemacs @key{RET}} into the dialog | ||
| 100 | will start Emacs in the parent directory of the Windows equivalent of | ||
| 101 | your user's @code{HOME} directory, see @ref{Windows HOME}. | ||
| 102 | |||
| 103 | @item | ||
| 84 | @cindex invoking Emacs from Windows Explorer | 104 | @cindex invoking Emacs from Windows Explorer |
| 85 | @pindex emacsclient.exe | 105 | @pindex emacsclient.exe |
| 86 | @pindex emacsclientw.exe | 106 | @pindex emacsclientw.exe |
| @@ -204,8 +224,8 @@ designates directory @file{\foo} on drive Z as an untranslated file | |||
| 204 | system. | 224 | system. |
| 205 | 225 | ||
| 206 | Most often you would use @code{add-untranslated-filesystem} in your | 226 | Most often you would use @code{add-untranslated-filesystem} in your |
| 207 | @file{.emacs} file, or in @file{site-start.el} so that all the users at | 227 | @file{.emacs} or @file{init.el} init file, or in @file{site-start.el} |
| 208 | your site get the benefit of it. | 228 | so that all the users at your site get the benefit of it. |
| 209 | 229 | ||
| 210 | @findex remove-untranslated-filesystem | 230 | @findex remove-untranslated-filesystem |
| 211 | To countermand the effect of @code{add-untranslated-filesystem}, use | 231 | To countermand the effect of @code{add-untranslated-filesystem}, use |
| @@ -215,8 +235,8 @@ previously with @code{add-untranslated-filesystem}. | |||
| 215 | 235 | ||
| 216 | Designating a file system as untranslated does not affect character | 236 | Designating a file system as untranslated does not affect character |
| 217 | set conversion, only end-of-line conversion. Essentially, it directs | 237 | set conversion, only end-of-line conversion. Essentially, it directs |
| 218 | Emacs to create new files with the Unix-style convention of using | 238 | Emacs to default to creating new files with the Unix-style convention |
| 219 | newline at the end of a line. @xref{Coding Systems}. | 239 | of using newline at the end of a line. @xref{Coding Systems}. |
| 220 | 240 | ||
| 221 | @node Windows Files | 241 | @node Windows Files |
| 222 | @section File Names on MS-Windows | 242 | @section File Names on MS-Windows |
| @@ -229,7 +249,9 @@ backslash, and also knows about drive letters in file names. | |||
| 229 | 249 | ||
| 230 | @cindex file-name completion, on MS-Windows | 250 | @cindex file-name completion, on MS-Windows |
| 231 | On MS-DOS/MS-Windows, file names are case-insensitive, so Emacs by | 251 | On MS-DOS/MS-Windows, file names are case-insensitive, so Emacs by |
| 232 | default ignores letter-case in file names during completion. | 252 | default ignores letter-case in file names during completion. To this |
| 253 | end, the default value of @code{read-file-name-completion-ignore-case} | ||
| 254 | is non-@code{nil} on MS-DOS/MS-Windows. @xref{Completion Options}. | ||
| 233 | 255 | ||
| 234 | @vindex w32-get-true-file-attributes | 256 | @vindex w32-get-true-file-attributes |
| 235 | The variable @code{w32-get-true-file-attributes} controls whether | 257 | The variable @code{w32-get-true-file-attributes} controls whether |
| @@ -311,9 +333,9 @@ it doesn't support all of them. Here's the list of the switches it | |||
| 311 | does support: @option{-A}, @option{-a}, @option{-B}, @option{-C}, | 333 | does support: @option{-A}, @option{-a}, @option{-B}, @option{-C}, |
| 312 | @option{-c}, @option{-G}, @option{-g}, @option{-h}, @option{-i}, @option{-n}, | 334 | @option{-c}, @option{-G}, @option{-g}, @option{-h}, @option{-i}, @option{-n}, |
| 313 | @option{-R}, @option{-r}, @option{-S}, @option{-s}, @option{-t}, @option{-U}, | 335 | @option{-R}, @option{-r}, @option{-S}, @option{-s}, @option{-t}, @option{-U}, |
| 314 | @option{-u}, and @option{-X}. The @option{-F} switch is partially | 336 | @option{-u}, @option{v}, and @option{-X}. The @option{-F} switch is |
| 315 | supported (it appends the character that classifies the file, but does | 337 | partially supported (it appends the character that classifies the |
| 316 | not prevent symlink following). | 338 | file, but does not prevent symlink following). |
| 317 | 339 | ||
| 318 | @vindex ls-lisp-use-insert-directory-program | 340 | @vindex ls-lisp-use-insert-directory-program |
| 319 | On MS-Windows and MS-DOS, @file{ls-lisp.el} is preloaded when Emacs | 341 | On MS-Windows and MS-DOS, @file{ls-lisp.el} is preloaded when Emacs |
| @@ -323,6 +345,26 @@ platforms. If you have a ported @code{ls}, setting | |||
| 323 | will revert to using an external program named by the variable | 345 | will revert to using an external program named by the variable |
| 324 | @code{insert-directory-program}. | 346 | @code{insert-directory-program}. |
| 325 | 347 | ||
| 348 | @cindex Dired sorting order, on MS-Windows/MS-DOS | ||
| 349 | The order in which @file{ls-lisp.el} sorts files depends on several | ||
| 350 | customizable options described below. | ||
| 351 | |||
| 352 | @vindex ls-lisp-use-string-collate | ||
| 353 | The default sorting order follows locale-specific rules derived from | ||
| 354 | your system locale. You can make the order locale-independent by | ||
| 355 | customizing @code{ls-lisp-use-string-collate} to a @code{nil} value. | ||
| 356 | |||
| 357 | @cindex Unicode Collation Algorithm (UCA), and @file{ls-lisp.el} | ||
| 358 | @vindex ls-lisp-UCA-like-collation | ||
| 359 | On GNU and Unix systems, when the locale's encoding is UTF-8, the | ||
| 360 | collation order follows the Unicode Collation Algorithm | ||
| 361 | (@acronym{UCA}). To have a similar effect on MS-Windows, the variable | ||
| 362 | @code{ls-lisp-UCA-like-collation} should have a non-@code{nil} value | ||
| 363 | (this is the default). The resulting sorting order ignores | ||
| 364 | punctuation, symbol characters, and whitespace characters, so | ||
| 365 | @file{.foobar}, @file{foobar} and @w{@file{foo bar}} will appear | ||
| 366 | together rather than far apart. | ||
| 367 | |||
| 326 | @vindex ls-lisp-ignore-case | 368 | @vindex ls-lisp-ignore-case |
| 327 | By default, @file{ls-lisp.el} uses a case-sensitive sort order for | 369 | By default, @file{ls-lisp.el} uses a case-sensitive sort order for |
| 328 | the directory listing it produces; this is so the listing looks the | 370 | the directory listing it produces; this is so the listing looks the |
| @@ -371,10 +413,10 @@ Emulate macOS@. Sets @code{ls-lisp-ignore-case} to @code{t}, and | |||
| 371 | @item MS-Windows | 413 | @item MS-Windows |
| 372 | Emulate MS-Windows. Sets @code{ls-lisp-ignore-case} and | 414 | Emulate MS-Windows. Sets @code{ls-lisp-ignore-case} and |
| 373 | @code{ls-lisp-dirs-first} to @code{t}, and @code{ls-lisp-verbosity} to | 415 | @code{ls-lisp-dirs-first} to @code{t}, and @code{ls-lisp-verbosity} to |
| 374 | @code{(links)} on Windows NT/2K/XP/2K3 and to @code{nil} on Windows 9X@. | 416 | @code{nil} on Windows 9X and to @code{t} on modern versions of |
| 375 | Note that the default emulation is @emph{not} @code{MS-Windows}, even | 417 | Windows. Note that the default emulation is @emph{not} |
| 376 | on Windows, since many users of Emacs on those platforms prefer the | 418 | @code{MS-Windows}, even on Windows, since many users of Emacs on those |
| 377 | @sc{gnu} defaults. | 419 | platforms prefer the @sc{gnu} defaults. |
| 378 | @end table | 420 | @end table |
| 379 | 421 | ||
| 380 | @noindent | 422 | @noindent |
| @@ -421,6 +463,8 @@ formats file time stamps according to what | |||
| 421 | @code{ls-lisp-format-time-list} specifies. The @samp{%}-sequences in | 463 | @code{ls-lisp-format-time-list} specifies. The @samp{%}-sequences in |
| 422 | @code{ls-lisp-format-time-list} produce locale-dependent month and day | 464 | @code{ls-lisp-format-time-list} produce locale-dependent month and day |
| 423 | names, which might cause misalignment of columns in Dired display. | 465 | names, which might cause misalignment of columns in Dired display. |
| 466 | The default value of @code{ls-lisp-use-localized-time-format} is | ||
| 467 | @code{nil}. | ||
| 424 | @end ifnottex | 468 | @end ifnottex |
| 425 | 469 | ||
| 426 | @node Windows HOME | 470 | @node Windows HOME |
| @@ -453,7 +497,8 @@ default @code{HOME} location, and will not look in the application | |||
| 453 | data directory, even if it exists. Note that only @file{.emacs} is | 497 | data directory, even if it exists. Note that only @file{.emacs} is |
| 454 | looked for in @file{C:\}; the older name @file{_emacs} (see below) is | 498 | looked for in @file{C:\}; the older name @file{_emacs} (see below) is |
| 455 | not. This use of @file{C:\.emacs} to define @code{HOME} is | 499 | not. This use of @file{C:\.emacs} to define @code{HOME} is |
| 456 | deprecated. | 500 | deprecated; Emacs will display a warning about its use during |
| 501 | startup. | ||
| 457 | 502 | ||
| 458 | Whatever the final place is, Emacs sets the internal value of the | 503 | Whatever the final place is, Emacs sets the internal value of the |
| 459 | @env{HOME} environment variable to point to it, and it will use that | 504 | @env{HOME} environment variable to point to it, and it will use that |
| @@ -467,15 +512,15 @@ first line. Likewise, to visit your init file, type @kbd{C-x C-f | |||
| 467 | ~/.emacs @key{RET}} (assuming the file's name is @file{.emacs}). | 512 | ~/.emacs @key{RET}} (assuming the file's name is @file{.emacs}). |
| 468 | 513 | ||
| 469 | @cindex init file @file{.emacs} on MS-Windows | 514 | @cindex init file @file{.emacs} on MS-Windows |
| 470 | The home directory is where your init file is stored. It can have | 515 | Your init file can have any name mentioned in @ref{Init File}. |
| 471 | any name mentioned in @ref{Init File}. | ||
| 472 | 516 | ||
| 473 | @cindex @file{_emacs} init file, MS-Windows | 517 | @cindex @file{_emacs} init file, MS-Windows |
| 474 | Because MS-DOS does not allow file names with leading dots, and | 518 | Because MS-DOS does not allow file names with leading dots, and |
| 475 | older Windows systems made it hard to create files with such names, | 519 | older Windows systems made it hard to create files with such names, |
| 476 | the Windows port of Emacs supports an init file name @file{_emacs}, if | 520 | the Windows port of Emacs supports an init file name @file{_emacs}, if |
| 477 | such a file exists in the home directory and @file{.emacs} does not. | 521 | such a file exists in the home directory and @file{.emacs} does not. |
| 478 | This name is considered obsolete. | 522 | This name is considered obsolete, so Emacs will display a warning if |
| 523 | it is used. | ||
| 479 | 524 | ||
| 480 | @node Windows Keyboard | 525 | @node Windows Keyboard |
| 481 | @section Keyboard Usage on MS-Windows | 526 | @section Keyboard Usage on MS-Windows |
| @@ -491,7 +536,9 @@ Emacs key bindings. (These Emacs key bindings were established years | |||
| 491 | before Microsoft was founded.) Examples of conflicts include | 536 | before Microsoft was founded.) Examples of conflicts include |
| 492 | @kbd{C-c}, @kbd{C-x}, @kbd{C-z}, @kbd{C-a}, and @kbd{W-@key{SPC}}. | 537 | @kbd{C-c}, @kbd{C-x}, @kbd{C-z}, @kbd{C-a}, and @kbd{W-@key{SPC}}. |
| 493 | You can redefine some of them with meanings more like the MS-Windows | 538 | You can redefine some of them with meanings more like the MS-Windows |
| 494 | meanings by enabling CUA Mode (@pxref{CUA Bindings}). | 539 | meanings by enabling CUA Mode (@pxref{CUA Bindings}). Another |
| 540 | optional feature which will make Emacs behave like other Windows | ||
| 541 | applications is Delete Selection mode (@pxref{Using Region}). | ||
| 495 | 542 | ||
| 496 | @iftex | 543 | @iftex |
| 497 | @inforef{Windows Keyboard, , emacs}, for information about additional | 544 | @inforef{Windows Keyboard, , emacs}, for information about additional |
| @@ -690,16 +737,14 @@ is non-@code{nil}, the roles of these two buttons are reversed. | |||
| 690 | @cindex subprocesses on MS-Windows | 737 | @cindex subprocesses on MS-Windows |
| 691 | 738 | ||
| 692 | @cindex DOS applications, running from Emacs | 739 | @cindex DOS applications, running from Emacs |
| 693 | Emacs compiled as a native Windows application (as opposed to the DOS | 740 | Emacs compiled as a native Windows application (as opposed to the |
| 694 | version) includes full support for asynchronous subprocesses. | 741 | DOS version) includes full support for asynchronous subprocesses. In |
| 695 | In the Windows version, synchronous and asynchronous subprocesses work | 742 | the Windows version, synchronous and asynchronous subprocesses work |
| 696 | fine on both | 743 | fine on all versions of MS-Windows, as long as you run only 32-bit or |
| 697 | Windows 9X/ME and Windows NT/2K/XP/Vista/7/8/10 as long as you run | 744 | 64-bit Windows applications. However, when you run a DOS application |
| 698 | only 32-bit or 64-bit Windows | 745 | in a subprocess, you may encounter problems or be unable to run the |
| 699 | applications. However, when you run a DOS application in a subprocess, | 746 | application at all; and if you run two DOS applications at the same |
| 700 | you may encounter problems or be unable to run the application at all; | 747 | time in two subprocesses, you may have to reboot your system. |
| 701 | and if you run two DOS applications at the same time in two | ||
| 702 | subprocesses, you may have to reboot your system. | ||
| 703 | 748 | ||
| 704 | Since the standard command interpreter (and most command line utilities) | 749 | Since the standard command interpreter (and most command line utilities) |
| 705 | on Windows 9X are DOS applications, these problems are significant when | 750 | on Windows 9X are DOS applications, these problems are significant when |
| @@ -724,13 +769,13 @@ first one finishes, even if either or both of them are asynchronous. | |||
| 724 | 769 | ||
| 725 | @cindex kill DOS application | 770 | @cindex kill DOS application |
| 726 | If you can go to the first subprocess, and tell it to exit, the second | 771 | If you can go to the first subprocess, and tell it to exit, the second |
| 727 | subprocess should continue normally. However, if the second subprocess | 772 | subprocess should continue normally. However, if the second |
| 728 | is synchronous, Emacs itself will be hung until the first subprocess | 773 | subprocess is synchronous, Emacs itself will be hung until the first |
| 729 | finishes. If it will not finish without user input, then you have no | 774 | subprocess finishes. If it will not finish without user input, then |
| 730 | choice but to reboot if you are running on Windows 9X@. If you are | 775 | you have no choice but to reboot if you are running on Windows 9X@. |
| 731 | running on Windows NT/2K/XP, you can use a process viewer application to kill | 776 | If you are running on Windows NT and later, you can use a process |
| 732 | the appropriate instance of NTVDM instead (this will terminate both DOS | 777 | viewer application to kill the appropriate instance of NTVDM instead |
| 733 | subprocesses). | 778 | (this will terminate both DOS subprocesses). |
| 734 | 779 | ||
| 735 | If you have to reboot Windows 9X in this situation, do not use the | 780 | If you have to reboot Windows 9X in this situation, do not use the |
| 736 | @code{Shutdown} command on the @code{Start} menu; that usually hangs the | 781 | @code{Shutdown} command on the @code{Start} menu; that usually hangs the |
| @@ -1033,7 +1078,8 @@ the system default antialiasing. | |||
| 1033 | @node Windows Misc | 1078 | @node Windows Misc |
| 1034 | @section Miscellaneous Windows-specific features | 1079 | @section Miscellaneous Windows-specific features |
| 1035 | 1080 | ||
| 1036 | This section describes miscellaneous Windows-specific features. | 1081 | This section describes Windows-specific features that don't fit |
| 1082 | anywhere else. | ||
| 1037 | 1083 | ||
| 1038 | @vindex w32-use-visible-system-caret | 1084 | @vindex w32-use-visible-system-caret |
| 1039 | @cindex screen reader software, MS-Windows | 1085 | @cindex screen reader software, MS-Windows |
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index d7041a0beb4..d0aa6a03b51 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi | |||
| @@ -73,23 +73,27 @@ mode for the C programming language is @code{c-mode}. | |||
| 73 | @cindex Python mode | 73 | @cindex Python mode |
| 74 | @cindex Ruby mode | 74 | @cindex Ruby mode |
| 75 | @cindex Simula mode | 75 | @cindex Simula mode |
| 76 | @cindex Verilog mode | ||
| 76 | @cindex VHDL mode | 77 | @cindex VHDL mode |
| 77 | @cindex M4 mode | 78 | @cindex M4 mode |
| 78 | @cindex Shell-script mode | 79 | @cindex Shell-script mode |
| 80 | @cindex Scheme mode | ||
| 79 | @cindex OPascal mode | 81 | @cindex OPascal mode |
| 80 | @cindex PostScript mode | 82 | @cindex PostScript mode |
| 81 | @cindex Conf mode | 83 | @cindex Conf mode |
| 82 | @cindex DNS mode | 84 | @cindex DNS mode |
| 83 | @cindex Javascript mode | 85 | @cindex Javascript mode |
| 86 | @cindex Awk mode | ||
| 84 | Emacs has programming language modes for Lisp, Scheme, the | 87 | Emacs has programming language modes for Lisp, Scheme, the |
| 85 | Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++, | 88 | Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++, |
| 86 | Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Javascript, Metafont | 89 | Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Javascript, M4, Makefiles, |
| 87 | (@TeX{}'s companion for font creation), Modula2, Object Pascal, Objective-C, | 90 | Metafont (@TeX{}'s companion for font creation), Modula2, Object |
| 88 | Octave, Pascal, Perl, Pike, PostScript, Prolog, Python, Ruby, Simula, Tcl, | 91 | Pascal, Objective-C, Octave, Pascal, Perl, Pike, PostScript, Prolog, |
| 89 | and VHDL@. An alternative mode for Perl is called CPerl mode. Modes are | 92 | Python, Ruby, Simula, SQL, Tcl, Verilog, and VHDL@. An alternative |
| 90 | also available for the scripting languages of the common GNU and Unix | 93 | mode for Perl is called CPerl mode. Modes are also available for the |
| 91 | shells, and MS-DOS/MS-Windows @samp{BAT} files, and for makefiles, | 94 | scripting languages of the common GNU and Unix shells, and |
| 92 | DNS master files, and various sorts of configuration files. | 95 | MS-DOS/MS-Windows @samp{BAT} files, and for makefiles, DNS master |
| 96 | files, and various sorts of configuration files. | ||
| 93 | 97 | ||
| 94 | Ideally, Emacs should have a major mode for each programming | 98 | Ideally, Emacs should have a major mode for each programming |
| 95 | language that you might want to edit. If it doesn't have a mode for | 99 | language that you might want to edit. If it doesn't have a mode for |
| @@ -100,12 +104,13 @@ distributed with Emacs (@pxref{Packages}); or you can contribute one. | |||
| 100 | @findex backward-delete-char-untabify | 104 | @findex backward-delete-char-untabify |
| 101 | In most programming languages, indentation should vary from line to | 105 | In most programming languages, indentation should vary from line to |
| 102 | line to illustrate the structure of the program. Therefore, in most | 106 | line to illustrate the structure of the program. Therefore, in most |
| 103 | programming language modes, typing @key{TAB} updates the indentation | 107 | programming language modes, typing @kbd{@key{TAB}} updates the |
| 104 | of the current line (@pxref{Program Indent}). Furthermore, @key{DEL} | 108 | indentation of the current line (@pxref{Program Indent}). |
| 105 | is usually bound to @code{backward-delete-char-untabify}, which | 109 | Furthermore, @kbd{@key{DEL}} is usually bound to |
| 106 | deletes backward treating each tab as if it were the equivalent number | 110 | @code{backward-delete-char-untabify}, which deletes backward treating |
| 107 | of spaces, so that you can delete one column of indentation without | 111 | each tab as if it were the equivalent number of spaces, so that you |
| 108 | worrying whether the whitespace consists of spaces or tabs. | 112 | can delete one column of indentation without worrying whether the |
| 113 | whitespace consists of spaces or tabs. | ||
| 109 | 114 | ||
| 110 | @cindex mode hook, and major modes | 115 | @cindex mode hook, and major modes |
| 111 | @vindex c-mode-hook | 116 | @vindex c-mode-hook |
| @@ -122,13 +127,14 @@ For instance, entering C mode runs the hooks @code{prog-mode-hook} and | |||
| 122 | @ifnottex | 127 | @ifnottex |
| 123 | Separate manuals are available for the modes for Ada (@pxref{Top,, | 128 | Separate manuals are available for the modes for Ada (@pxref{Top,, |
| 124 | Ada Mode, ada-mode, Ada Mode}), C/C++/Objective C/Java/Corba | 129 | Ada Mode, ada-mode, Ada Mode}), C/C++/Objective C/Java/Corba |
| 125 | IDL/Pike/AWK (@pxref{Top, , CC Mode, ccmode, CC Mode}), and IDLWAVE | 130 | IDL/Pike/AWK (@pxref{Top, , CC Mode, ccmode, CC Mode}), Octave, VHDL, |
| 126 | (@pxref{Top,, IDLWAVE, idlwave, IDLWAVE User Manual}). | 131 | and IDLWAVE (@pxref{Top,, IDLWAVE, idlwave, IDLWAVE User Manual}). |
| 127 | @end ifnottex | 132 | @end ifnottex |
| 128 | @iftex | 133 | @iftex |
| 129 | The Emacs distribution contains Info manuals for the major modes for | 134 | The Emacs distribution contains Info manuals for the major modes for |
| 130 | Ada, C/C++/Objective C/Java/Corba IDL/Pike/AWK, and IDLWAVE@. For | 135 | Ada, C/C++/Objective C/Java/Corba IDL/Pike/AWK, Octave, VHDL, and |
| 131 | Fortran mode, @pxref{Fortran,,, emacs-xtra, Specialized Emacs Features}. | 136 | IDLWAVE@. For Fortran mode, @pxref{Fortran,,, emacs-xtra, Specialized |
| 137 | Emacs Features}. | ||
| 132 | @end iftex | 138 | @end iftex |
| 133 | 139 | ||
| 134 | @node Defuns | 140 | @node Defuns |
| @@ -328,6 +334,7 @@ language modes. | |||
| 328 | @cindex pretty-printer | 334 | @cindex pretty-printer |
| 329 | Emacs also provides a Lisp pretty-printer in the @code{pp} package, | 335 | Emacs also provides a Lisp pretty-printer in the @code{pp} package, |
| 330 | which reformats Lisp objects with nice-looking indentation. | 336 | which reformats Lisp objects with nice-looking indentation. |
| 337 | @xref{Output Functions, pp,, elisp, The Emacs Lisp Reference Manual}. | ||
| 331 | 338 | ||
| 332 | @node Basic Indent | 339 | @node Basic Indent |
| 333 | @subsection Basic Program Indentation Commands | 340 | @subsection Basic Program Indentation Commands |
| @@ -342,16 +349,18 @@ Insert a newline, then adjust indentation of following line | |||
| 342 | 349 | ||
| 343 | @kindex TAB @r{(programming modes)} | 350 | @kindex TAB @r{(programming modes)} |
| 344 | @findex indent-line-function | 351 | @findex indent-line-function |
| 345 | The basic indentation command is @key{TAB} | 352 | The basic indentation command is @kbd{@key{TAB}} |
| 346 | (@code{indent-for-tab-command}), which was documented in | 353 | (@code{indent-for-tab-command}), which was documented in |
| 347 | @ref{Indentation}. In programming language modes, @key{TAB} indents | 354 | @ref{Indentation}. In programming language modes, @kbd{@key{TAB}} |
| 348 | the current line, based on the indentation and syntactic content of | 355 | indents the current line, based on the indentation and syntactic |
| 349 | the preceding lines; if the region is active, @key{TAB} indents each | 356 | content of the preceding lines; if the region is active, |
| 350 | line within the region, not just the current line. | 357 | @kbd{@key{TAB}} indents each line within the region, not just the |
| 358 | current line. | ||
| 351 | 359 | ||
| 352 | The command @key{RET} (@code{newline}), which was documented in | 360 | The command @kbd{@key{RET}} (@code{newline}), which was documented |
| 353 | @ref{Inserting Text}, does the same as @kbd{C-j} followed by | 361 | in @ref{Inserting Text}, does the same as @kbd{C-j} followed by |
| 354 | @key{TAB}: it inserts a new line, then adjusts the line's indentation. | 362 | @kbd{@key{TAB}}: it inserts a new line, then adjusts the line's |
| 363 | indentation. | ||
| 355 | 364 | ||
| 356 | When indenting a line that starts within a parenthetical grouping, | 365 | When indenting a line that starts within a parenthetical grouping, |
| 357 | Emacs usually places the start of the line under the preceding line | 366 | Emacs usually places the start of the line under the preceding line |
| @@ -360,7 +369,7 @@ manually give one of these lines a nonstandard indentation (e.g., for | |||
| 360 | aesthetic purposes), the lines below will follow it. | 369 | aesthetic purposes), the lines below will follow it. |
| 361 | 370 | ||
| 362 | The indentation commands for most programming language modes assume | 371 | The indentation commands for most programming language modes assume |
| 363 | that a open-parenthesis, open-brace or other opening delimiter at the | 372 | that an open-parenthesis, open-brace or other opening delimiter at the |
| 364 | left margin is the start of a function. If the code you are editing | 373 | left margin is the start of a function. If the code you are editing |
| 365 | violates this assumption---even if the delimiters occur in strings or | 374 | violates this assumption---even if the delimiters occur in strings or |
| 366 | comments---you must set @code{open-paren-in-column-0-is-defun-start} | 375 | comments---you must set @code{open-paren-in-column-0-is-defun-start} |
| @@ -372,7 +381,7 @@ Paren}. | |||
| 372 | 381 | ||
| 373 | Sometimes, you may want to reindent several lines of code at a time. | 382 | Sometimes, you may want to reindent several lines of code at a time. |
| 374 | One way to do this is to use the mark; when the mark is active and the | 383 | One way to do this is to use the mark; when the mark is active and the |
| 375 | region is non-empty, @key{TAB} indents every line in the region. | 384 | region is non-empty, @kbd{@key{TAB}} indents every line in the region. |
| 376 | Alternatively, the command @kbd{C-M-\} (@code{indent-region}) indents | 385 | Alternatively, the command @kbd{C-M-\} (@code{indent-region}) indents |
| 377 | every line in the region, whether or not the mark is active | 386 | every line in the region, whether or not the mark is active |
| 378 | (@pxref{Indentation Commands}). | 387 | (@pxref{Indentation Commands}). |
| @@ -400,19 +409,19 @@ grouping, without affecting its overall indentation (i.e., the | |||
| 400 | indentation of the line where the grouping starts). The function that | 409 | indentation of the line where the grouping starts). The function that |
| 401 | @kbd{C-M-q} runs depends on the major mode; it is | 410 | @kbd{C-M-q} runs depends on the major mode; it is |
| 402 | @code{indent-pp-sexp} in Lisp mode, @code{c-indent-exp} in C mode, | 411 | @code{indent-pp-sexp} in Lisp mode, @code{c-indent-exp} in C mode, |
| 403 | etc. To correct the overall indentation as well, type @key{TAB} | 412 | etc. To correct the overall indentation as well, type @kbd{@key{TAB}} |
| 404 | first. | 413 | first. |
| 405 | 414 | ||
| 406 | @kindex C-u TAB | 415 | @kindex C-u TAB |
| 407 | If you like the relative indentation within a grouping but not the | 416 | If you like the relative indentation within a grouping but not the |
| 408 | indentation of its first line, move point to that first line and type | 417 | indentation of its first line, move point to that first line and type |
| 409 | @kbd{C-u @key{TAB}}. In Lisp, C, and some other major modes, | 418 | @kbd{C-u @key{TAB}}. In Lisp, C, and some other major modes, |
| 410 | @key{TAB} with a numeric argument reindents the current line as usual, | 419 | @kbd{@key{TAB}} with a numeric argument reindents the current line as |
| 411 | then reindents by the same amount all the lines in the parenthetical | 420 | usual, then reindents by the same amount all the lines in the |
| 412 | grouping starting on the current line. It is clever, though, and does | 421 | parenthetical grouping starting on the current line. It is clever, |
| 413 | not alter lines that start inside strings. Neither does it alter C | 422 | though, and does not alter lines that start inside strings. Neither |
| 414 | preprocessor lines when in C mode, but it does reindent any | 423 | does it alter C preprocessor lines when in C mode, but it does |
| 415 | continuation lines that may be attached to them. | 424 | reindent any continuation lines that may be attached to them. |
| 416 | 425 | ||
| 417 | @findex indent-code-rigidly | 426 | @findex indent-code-rigidly |
| 418 | The command @kbd{M-x indent-code-rigidly} rigidly shifts all the | 427 | The command @kbd{M-x indent-code-rigidly} rigidly shifts all the |
| @@ -454,7 +463,7 @@ expression. | |||
| 454 | You can override the standard pattern in various ways for individual | 463 | You can override the standard pattern in various ways for individual |
| 455 | functions, according to the @code{lisp-indent-function} property of | 464 | functions, according to the @code{lisp-indent-function} property of |
| 456 | the function name. This is normally done for macro definitions, using | 465 | the function name. This is normally done for macro definitions, using |
| 457 | the @code{declare} construct. @xref{Defining Macros,,, elisp, the | 466 | the @code{declare} construct. @xref{Defining Macros,,, elisp, The |
| 458 | Emacs Lisp Reference Manual}. | 467 | Emacs Lisp Reference Manual}. |
| 459 | 468 | ||
| 460 | @node C Indent | 469 | @node C Indent |
| @@ -462,7 +471,7 @@ Emacs Lisp Reference Manual}. | |||
| 462 | 471 | ||
| 463 | Here are special features for indentation in C mode and related modes: | 472 | Here are special features for indentation in C mode and related modes: |
| 464 | 473 | ||
| 465 | @table @code | 474 | @table @kbd |
| 466 | @item C-c C-q | 475 | @item C-c C-q |
| 467 | @kindex C-c C-q @r{(C mode)} | 476 | @kindex C-c C-q @r{(C mode)} |
| 468 | @findex c-indent-defun | 477 | @findex c-indent-defun |
| @@ -884,9 +893,9 @@ also do spell checking on comments with Flyspell Prog mode | |||
| 884 | comments. For example, in Lisp code, comments starting with two | 893 | comments. For example, in Lisp code, comments starting with two |
| 885 | semicolons are indented as if they were lines of code, while those | 894 | semicolons are indented as if they were lines of code, while those |
| 886 | starting with three semicolons are supposed to be aligned to the left | 895 | starting with three semicolons are supposed to be aligned to the left |
| 887 | margin and are often used for sectioning purposes. Emacs understand | 896 | margin and are often used for sectioning purposes. Emacs understands |
| 888 | these conventions; for instance, typing @key{TAB} on a comment line | 897 | these conventions; for instance, typing @kbd{@key{TAB}} on a comment |
| 889 | will indent the comment to the appropriate position. | 898 | line will indent the comment to the appropriate position. |
| 890 | 899 | ||
| 891 | @example | 900 | @example |
| 892 | ;; This function is just an example. | 901 | ;; This function is just an example. |
| @@ -915,14 +924,16 @@ will indent the comment to the appropriate position. | |||
| 915 | Insert or realign comment on current line; if the region is active, | 924 | Insert or realign comment on current line; if the region is active, |
| 916 | comment or uncomment the region instead (@code{comment-dwim}). | 925 | comment or uncomment the region instead (@code{comment-dwim}). |
| 917 | @item @kbd{C-x C-;} | 926 | @item @kbd{C-x C-;} |
| 918 | Comment or uncomment the current line (@code{comment-line}). | 927 | Comment or uncomment the current line (@code{comment-line}). If the |
| 928 | region is active, comment or uncomment the lines in the region | ||
| 929 | instead. | ||
| 919 | @item @kbd{C-u M-;} | 930 | @item @kbd{C-u M-;} |
| 920 | Kill comment on current line (@code{comment-kill}). | 931 | Kill comment on current line (@code{comment-kill}). |
| 921 | @item @kbd{C-x ;} | 932 | @item @kbd{C-x ;} |
| 922 | Set comment column (@code{comment-set-column}). | 933 | Set comment column (@code{comment-set-column}). |
| 923 | @item @kbd{C-M-j} | 934 | @item @kbd{C-M-j} |
| 924 | @itemx @kbd{M-j} | 935 | @itemx @kbd{M-j} |
| 925 | Like @key{RET} followed by inserting and aligning a comment | 936 | Like @kbd{@key{RET}} followed by inserting and aligning a comment |
| 926 | (@code{comment-indent-new-line}). @xref{Multi-Line Comments}. | 937 | (@code{comment-indent-new-line}). @xref{Multi-Line Comments}. |
| 927 | @item @kbd{M-x comment-region} | 938 | @item @kbd{M-x comment-region} |
| 928 | @itemx @kbd{C-c C-c} (in C-like modes) | 939 | @itemx @kbd{C-c C-c} (in C-like modes) |
| @@ -952,8 +963,8 @@ negative argument @var{-n} removes @var{n} delimiters. | |||
| 952 | current line, @kbd{M-;} adds a new comment to the current line. If | 963 | current line, @kbd{M-;} adds a new comment to the current line. If |
| 953 | the line is blank (i.e., empty or containing only whitespace | 964 | the line is blank (i.e., empty or containing only whitespace |
| 954 | characters), the comment is indented to the same position where | 965 | characters), the comment is indented to the same position where |
| 955 | @key{TAB} would indent to (@pxref{Basic Indent}). If the line is | 966 | @kbd{@key{TAB}} would indent to (@pxref{Basic Indent}). If the line |
| 956 | non-blank, the comment is placed after the last non-whitespace | 967 | is non-blank, the comment is placed after the last non-whitespace |
| 957 | character on the line; normally, Emacs tries putting it at the column | 968 | character on the line; normally, Emacs tries putting it at the column |
| 958 | specified by the variable @code{comment-column} (@pxref{Options for | 969 | specified by the variable @code{comment-column} (@pxref{Options for |
| 959 | Comments}), but if the line already extends past that column, it puts | 970 | Comments}), but if the line already extends past that column, it puts |
| @@ -1002,8 +1013,7 @@ region, even if the mark is inactive. In C mode and related modes, | |||
| 1002 | this command is bound to @kbd{C-c C-c}. The command @kbd{M-x | 1013 | this command is bound to @kbd{C-c C-c}. The command @kbd{M-x |
| 1003 | uncomment-region} uncomments each line in the region; a numeric prefix | 1014 | uncomment-region} uncomments each line in the region; a numeric prefix |
| 1004 | argument specifies the number of comment delimiters to remove | 1015 | argument specifies the number of comment delimiters to remove |
| 1005 | (negative arguments specify the number of comment to delimiters to | 1016 | (negative arguments specify the number of comment delimiters to add). |
| 1006 | add). | ||
| 1007 | 1017 | ||
| 1008 | For C-like modes, you can configure the exact effect of @kbd{M-;} by | 1018 | For C-like modes, you can configure the exact effect of @kbd{M-;} by |
| 1009 | setting the variables @code{c-indent-comment-alist} and | 1019 | setting the variables @code{c-indent-comment-alist} and |
| @@ -1108,8 +1118,8 @@ comment or for aligning an existing comment. It is set differently by | |||
| 1108 | various major modes. The function is called with no arguments, but with | 1118 | various major modes. The function is called with no arguments, but with |
| 1109 | point at the beginning of the comment, or at the end of a line if a new | 1119 | point at the beginning of the comment, or at the end of a line if a new |
| 1110 | comment is to be inserted. It should return the column in which the | 1120 | comment is to be inserted. It should return the column in which the |
| 1111 | comment ought to start. For example, the default hook function bases | 1121 | comment ought to start. For example, the default function bases its |
| 1112 | its decision on how many comment characters begin an existing comment. | 1122 | decision on how many comment characters begin an existing comment. |
| 1113 | 1123 | ||
| 1114 | Emacs also tries to align comments on adjacent lines. To override | 1124 | Emacs also tries to align comments on adjacent lines. To override |
| 1115 | this, the function may return a cons of two (possibly equal) integers | 1125 | this, the function may return a cons of two (possibly equal) integers |
| @@ -1140,10 +1150,10 @@ buffer at point. For example, in C mode this looks for the symbol in | |||
| 1140 | the C Library Manual. The command only works if the appropriate | 1150 | the C Library Manual. The command only works if the appropriate |
| 1141 | manual's Info files are installed. | 1151 | manual's Info files are installed. |
| 1142 | 1152 | ||
| 1143 | The major mode determines where to look for documentation for the | 1153 | Emacs determines where to look for documentation for the |
| 1144 | symbol---which Info files to look in, and which indices to search. | 1154 | symbol---which Info files to look in, and which indices to |
| 1145 | You can also use @kbd{M-x info-lookup-file} to look for documentation | 1155 | search---based on the major mode. You can also use @kbd{M-x |
| 1146 | for a file name. | 1156 | info-lookup-file} to look for documentation for a file name. |
| 1147 | 1157 | ||
| 1148 | If you use @kbd{C-h S} in a major mode that does not support it, | 1158 | If you use @kbd{C-h S} in a major mode that does not support it, |
| 1149 | it asks you to specify the symbol help mode. You should enter | 1159 | it asks you to specify the symbol help mode. You should enter |
| @@ -1213,6 +1223,10 @@ several manual pages by the same name exist in different sections, it | |||
| 1213 | pops up a window with possible candidates asking you to choose one of | 1223 | pops up a window with possible candidates asking you to choose one of |
| 1214 | them. | 1224 | them. |
| 1215 | 1225 | ||
| 1226 | Note that @kbd{M-x woman} doesn't yet support the latest features of | ||
| 1227 | modern man pages, so we recommend using @kbd{M-x man} if that is | ||
| 1228 | available on your system. | ||
| 1229 | |||
| 1216 | For more information about setting up and using @kbd{M-x woman}, see | 1230 | For more information about setting up and using @kbd{M-x woman}, see |
| 1217 | @ifinfo | 1231 | @ifinfo |
| 1218 | @ref{Top, WoMan, Browse UN*X Manual Pages WithOut Man, woman, The | 1232 | @ref{Top, WoMan, Browse UN*X Manual Pages WithOut Man, woman, The |
| @@ -1293,7 +1307,7 @@ Hide all top-level blocks (@code{hs-hide-all}). | |||
| 1293 | @item C-c @@ C-M-s | 1307 | @item C-c @@ C-M-s |
| 1294 | @itemx C-c @@ C-a | 1308 | @itemx C-c @@ C-a |
| 1295 | Show all blocks in the buffer (@code{hs-show-all}). | 1309 | Show all blocks in the buffer (@code{hs-show-all}). |
| 1296 | @item C-c @@ C-l | 1310 | @item C-u @var{n} C-c @@ C-l |
| 1297 | Hide all blocks @var{n} levels below this block | 1311 | Hide all blocks @var{n} levels below this block |
| 1298 | (@code{hs-hide-level}). | 1312 | (@code{hs-hide-level}). |
| 1299 | @end table | 1313 | @end table |
| @@ -1415,8 +1429,8 @@ the menu item named @samp{Source Code Parsers (Semantic)} in the | |||
| 1415 | 1429 | ||
| 1416 | When Semantic mode is enabled, Emacs automatically attempts to | 1430 | When Semantic mode is enabled, Emacs automatically attempts to |
| 1417 | parse each file you visit. Currently, Semantic understands C, C++, | 1431 | parse each file you visit. Currently, Semantic understands C, C++, |
| 1418 | Scheme, Javascript, Java, HTML, and Make. Within each parsed buffer, | 1432 | HTML, Java, Javascript, Make, Python, Scheme, SRecode, and Texinfo. |
| 1419 | the following commands are available: | 1433 | Within each parsed buffer, the following commands are available: |
| 1420 | 1434 | ||
| 1421 | @table @kbd | 1435 | @table @kbd |
| 1422 | @item C-c , j | 1436 | @item C-c , j |
| @@ -1433,10 +1447,10 @@ parsed, and move point there (@code{semantic-complete-jump}). | |||
| 1433 | @kindex C-c , SPC | 1447 | @kindex C-c , SPC |
| 1434 | Display a list of possible completions for the symbol at point | 1448 | Display a list of possible completions for the symbol at point |
| 1435 | (@code{semantic-complete-analyze-inline}). This also activates a set | 1449 | (@code{semantic-complete-analyze-inline}). This also activates a set |
| 1436 | of special key bindings for choosing a completion: @key{RET} accepts | 1450 | of special key bindings for choosing a completion: @kbd{@key{RET}} |
| 1437 | the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible | 1451 | accepts the current completion, @kbd{M-n} and @kbd{M-p} cycle through |
| 1438 | completions, @key{TAB} completes as far as possible and then cycles, | 1452 | possible completions, @kbd{@key{TAB}} completes as far as possible and |
| 1439 | and @kbd{C-g} or any other key aborts completion. | 1453 | then cycles, and @kbd{C-g} or any other key aborts completion. |
| 1440 | 1454 | ||
| 1441 | @item C-c , l | 1455 | @item C-c , l |
| 1442 | @kindex C-c , l | 1456 | @kindex C-c , l |
| @@ -1460,7 +1474,7 @@ is idle. | |||
| 1460 | programs are useful for that nonetheless. | 1474 | programs are useful for that nonetheless. |
| 1461 | 1475 | ||
| 1462 | The Emacs commands that operate on words, sentences and paragraphs | 1476 | The Emacs commands that operate on words, sentences and paragraphs |
| 1463 | are useful for editing code. Most symbols names contain words | 1477 | are useful for editing code. Most symbol names contain words |
| 1464 | (@pxref{Words}), while sentences can be found in strings and comments | 1478 | (@pxref{Words}), while sentences can be found in strings and comments |
| 1465 | (@pxref{Sentences}). As for paragraphs, they are defined in most | 1479 | (@pxref{Sentences}). As for paragraphs, they are defined in most |
| 1466 | programming language modes to begin and end at blank lines | 1480 | programming language modes to begin and end at blank lines |
| @@ -1635,8 +1649,9 @@ electric characters are @kbd{@{}, @kbd{@}}, @kbd{:}, @kbd{#}, | |||
| 1635 | You might find electric indentation inconvenient if you are editing | 1649 | You might find electric indentation inconvenient if you are editing |
| 1636 | chaotically indented code. If you are new to CC Mode, you might find | 1650 | chaotically indented code. If you are new to CC Mode, you might find |
| 1637 | it disconcerting. You can toggle electric action with the command | 1651 | it disconcerting. You can toggle electric action with the command |
| 1638 | @kbd{C-c C-l}; when it is enabled, @samp{/l} appears in the mode line | 1652 | @kbd{C-c C-l}; when it is enabled, @samp{/@var{c}l} appears in the |
| 1639 | after the mode name: | 1653 | mode line after the mode name (where @var{c}, if present, is @samp{*} |
| 1654 | or @samp{/}): | ||
| 1640 | 1655 | ||
| 1641 | @table @kbd | 1656 | @table @kbd |
| 1642 | @item C-c C-l | 1657 | @item C-c C-l |
| @@ -1649,8 +1664,8 @@ negative one it disables it. | |||
| 1649 | 1664 | ||
| 1650 | Electric characters insert newlines only when, in addition to the | 1665 | Electric characters insert newlines only when, in addition to the |
| 1651 | electric state, the @dfn{auto-newline} feature is enabled (indicated | 1666 | electric state, the @dfn{auto-newline} feature is enabled (indicated |
| 1652 | by @samp{/la} in the mode line after the mode name). You can turn | 1667 | by @samp{/@var{c}la} in the mode line after the mode name). You can |
| 1653 | this feature on or off with the command @kbd{C-c C-a}: | 1668 | turn this feature on or off with the command @kbd{C-c C-a}: |
| 1654 | 1669 | ||
| 1655 | @table @kbd | 1670 | @table @kbd |
| 1656 | @item C-c C-a | 1671 | @item C-c C-a |
| @@ -1694,10 +1709,11 @@ Delete the entire block of whitespace after point (@code{c-hungry-delete-forward | |||
| 1694 | @end table | 1709 | @end table |
| 1695 | 1710 | ||
| 1696 | As an alternative to the above commands, you can enable @dfn{hungry | 1711 | As an alternative to the above commands, you can enable @dfn{hungry |
| 1697 | delete mode}. When this feature is enabled (indicated by @samp{/h} in | 1712 | delete mode}. When this feature is enabled (indicated by @samp{h} |
| 1698 | the mode line after the mode name), a single @key{DEL} deletes all | 1713 | after a @samp{/} in the mode line after the mode name), a single |
| 1699 | preceding whitespace, not just one space, and a single @kbd{C-d} | 1714 | @kbd{@key{DEL}} deletes all preceding whitespace, not just one space, |
| 1700 | (but @emph{not} plain @key{Delete}) deletes all following whitespace. | 1715 | and a single @kbd{C-d} (but @emph{not} plain @kbd{@key{Delete}}) |
| 1716 | deletes all following whitespace. | ||
| 1701 | 1717 | ||
| 1702 | @table @kbd | 1718 | @table @kbd |
| 1703 | @item M-x c-toggle-hungry-state | 1719 | @item M-x c-toggle-hungry-state |
| @@ -1720,14 +1736,14 @@ hungry-delete feature is enabled. | |||
| 1720 | @findex c-context-line-break | 1736 | @findex c-context-line-break |
| 1721 | This command inserts a line break and indents the new line in a manner | 1737 | This command inserts a line break and indents the new line in a manner |
| 1722 | appropriate to the context. In normal code, it does the work of | 1738 | appropriate to the context. In normal code, it does the work of |
| 1723 | @key{RET} (@code{newline}), in a C preprocessor line it additionally | 1739 | @kbd{@key{RET}} (@code{newline}), in a C preprocessor line it additionally |
| 1724 | inserts a @samp{\} at the line break, and within comments it's like | 1740 | inserts a @samp{\} at the line break, and within comments it's like |
| 1725 | @kbd{M-j} (@code{c-indent-new-comment-line}). | 1741 | @kbd{M-j} (@code{c-indent-new-comment-line}). |
| 1726 | 1742 | ||
| 1727 | @code{c-context-line-break} isn't bound to a key by default, but it | 1743 | @code{c-context-line-break} isn't bound to a key by default, but it |
| 1728 | needs a binding to be useful. The following code will bind it to | 1744 | needs a binding to be useful. The following code will bind it to |
| 1729 | @key{RET}. We use @code{c-initialization-hook} here to make sure | 1745 | @kbd{@key{RET}}. We use @code{c-initialization-hook} here to make |
| 1730 | the keymap is loaded before we try to change it. | 1746 | sure the keymap is loaded before we try to change it. |
| 1731 | 1747 | ||
| 1732 | @example | 1748 | @example |
| 1733 | (defun my-bind-clb () | 1749 | (defun my-bind-clb () |
| @@ -1852,11 +1868,14 @@ defines these commands: | |||
| 1852 | @item @key{TAB} | 1868 | @item @key{TAB} |
| 1853 | @code{tab-to-tab-stop}. | 1869 | @code{tab-to-tab-stop}. |
| 1854 | @c FIXME: Maybe this should be consistent with other programming modes. | 1870 | @c FIXME: Maybe this should be consistent with other programming modes. |
| 1871 | |||
| 1855 | @item C-j | 1872 | @item C-j |
| 1856 | Insert a newline and then indent using @code{tab-to-tab-stop}. | 1873 | Insert a newline and then indent using @code{tab-to-tab-stop}. |
| 1874 | |||
| 1857 | @item : | 1875 | @item : |
| 1858 | Insert a colon and then remove the indentation from before the label | 1876 | Insert a colon and then remove the indentation from before the label |
| 1859 | preceding colon. Then do @code{tab-to-tab-stop}. | 1877 | preceding colon. Then do @code{tab-to-tab-stop}. |
| 1878 | |||
| 1860 | @item ; | 1879 | @item ; |
| 1861 | Insert or align a comment. | 1880 | Insert or align a comment. |
| 1862 | @end table | 1881 | @end table |
diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index dd9e4d7cc7c..8ff36ca554d 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi | |||
| @@ -18,7 +18,7 @@ or a number (such as @samp{1}); case matters, so register @samp{a} is | |||
| 18 | not the same as register @samp{A}. You can also set a register in | 18 | not the same as register @samp{A}. You can also set a register in |
| 19 | non-alphanumeric characters, for instance @samp{*} or @samp{C-d}. | 19 | non-alphanumeric characters, for instance @samp{*} or @samp{C-d}. |
| 20 | Note, it's not possible to set a register in @samp{C-g} or @samp{ESC}, | 20 | Note, it's not possible to set a register in @samp{C-g} or @samp{ESC}, |
| 21 | because these keys are reserved to terminate interactive commands. | 21 | because these keys are reserved for quitting (@pxref{Quitting}). |
| 22 | 22 | ||
| 23 | @findex view-register | 23 | @findex view-register |
| 24 | A register can store a position, a piece of text, a rectangle, a | 24 | A register can store a position, a piece of text, a rectangle, a |
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 51a06851977..319f64fbae1 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | @c -*- coding: utf-8 -*- | ||
| 1 | @c This is part of the Emacs manual. | 2 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2018 Free Software | 3 | @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2018 Free Software |
| 3 | @c Foundation, Inc. | 4 | @c Foundation, Inc. |
| @@ -902,7 +903,8 @@ starting and ending characters with a @samp{-} between them. Thus, | |||
| 902 | @samp{[a-z]} matches any lower-case @acronym{ASCII} letter. Ranges may be | 903 | @samp{[a-z]} matches any lower-case @acronym{ASCII} letter. Ranges may be |
| 903 | intermixed freely with individual characters, as in @samp{[a-z$%.]}, | 904 | intermixed freely with individual characters, as in @samp{[a-z$%.]}, |
| 904 | which matches any lower-case @acronym{ASCII} letter or @samp{$}, @samp{%} or | 905 | which matches any lower-case @acronym{ASCII} letter or @samp{$}, @samp{%} or |
| 905 | period. | 906 | period. As another example, @samp{[α-ωί]} matches all lower-case |
| 907 | Greek letters. | ||
| 906 | 908 | ||
| 907 | You can also include certain special @dfn{character classes} in a | 909 | You can also include certain special @dfn{character classes} in a |
| 908 | character set. A @samp{[:} and balancing @samp{:]} enclose a | 910 | character set. A @samp{[:} and balancing @samp{:]} enclose a |
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index 58c592081a0..d32bb3c7689 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi | |||
| @@ -1694,7 +1694,7 @@ when you type the corresponding one. | |||
| 1694 | @node TeX Print | 1694 | @node TeX Print |
| 1695 | @subsection @TeX{} Printing Commands | 1695 | @subsection @TeX{} Printing Commands |
| 1696 | 1696 | ||
| 1697 | You can invoke @TeX{} as an subprocess of Emacs, supplying either | 1697 | You can invoke @TeX{} as a subprocess of Emacs, supplying either |
| 1698 | the entire contents of the buffer or just part of it (e.g., one | 1698 | the entire contents of the buffer or just part of it (e.g., one |
| 1699 | chapter of a larger document). | 1699 | chapter of a larger document). |
| 1700 | 1700 | ||
| @@ -1746,7 +1746,7 @@ C-p} (@code{tex-print}) to print a hardcopy of the output file. | |||
| 1746 | output of @TeX{} also goes in this directory. To run @TeX{} in a | 1746 | output of @TeX{} also goes in this directory. To run @TeX{} in a |
| 1747 | different directory, change the variable @code{tex-directory} to | 1747 | different directory, change the variable @code{tex-directory} to |
| 1748 | the desired directory. If your environment variable @env{TEXINPUTS} | 1748 | the desired directory. If your environment variable @env{TEXINPUTS} |
| 1749 | contains relative names, or if your files contains | 1749 | contains relative names, or if your files contain |
| 1750 | @samp{\input} commands with relative file names, then | 1750 | @samp{\input} commands with relative file names, then |
| 1751 | @code{tex-directory} @emph{must} be @code{"."} or you will get the | 1751 | @code{tex-directory} @emph{must} be @code{"."} or you will get the |
| 1752 | wrong results. Otherwise, it is safe to specify some other directory, | 1752 | wrong results. Otherwise, it is safe to specify some other directory, |
| @@ -2017,7 +2017,7 @@ used as a cheap preview (@code{sgml-tags-invisible}). | |||
| 2017 | @findex nxml-mode | 2017 | @findex nxml-mode |
| 2018 | @cindex XML schema | 2018 | @cindex XML schema |
| 2019 | The major mode for editing XML documents is called nXML mode. This | 2019 | The major mode for editing XML documents is called nXML mode. This |
| 2020 | is a powerful major mode that can recognize many existing XML schema | 2020 | is a powerful major mode that can recognize many existing XML schemas |
| 2021 | and use them to provide completion of XML elements via | 2021 | and use them to provide completion of XML elements via |
| 2022 | @kbd{M-@key{TAB}}, as well as on-the-fly XML | 2022 | @kbd{M-@key{TAB}}, as well as on-the-fly XML |
| 2023 | validation with error highlighting. To enable nXML mode in an | 2023 | validation with error highlighting. To enable nXML mode in an |
| @@ -2290,7 +2290,7 @@ Prompt for a color, and apply it as a background color. | |||
| 2290 | @end table | 2290 | @end table |
| 2291 | 2291 | ||
| 2292 | @noindent | 2292 | @noindent |
| 2293 | These command are also available via the Text Properties menu. | 2293 | These commands are also available via the Text Properties menu. |
| 2294 | 2294 | ||
| 2295 | A self-inserting character normally inherits the face properties | 2295 | A self-inserting character normally inherits the face properties |
| 2296 | (and most other text properties) from the preceding character in the | 2296 | (and most other text properties) from the preceding character in the |
diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi index 945b7cb941e..9f3b1b6a079 100644 --- a/doc/emacs/windows.texi +++ b/doc/emacs/windows.texi | |||
| @@ -465,7 +465,7 @@ bottom of the selected frame, regardless of the number of windows | |||
| 465 | already shown on that frame. | 465 | already shown on that frame. |
| 466 | 466 | ||
| 467 | If you prefer Emacs to display a temporary buffer in a different | 467 | If you prefer Emacs to display a temporary buffer in a different |
| 468 | fashion, we recommend to customize the variable | 468 | fashion, we recommend customizing the variable |
| 469 | @code{display-buffer-alist} (@pxref{Choosing Window,,Choosing a Window | 469 | @code{display-buffer-alist} (@pxref{Choosing Window,,Choosing a Window |
| 470 | for Display, elisp, The Emacs Lisp Reference Manual}). For example, | 470 | for Display, elisp, The Emacs Lisp Reference Manual}). For example, |
| 471 | to display @file{*Completions*} by splitting a window as described in | 471 | to display @file{*Completions*} by splitting a window as described in |
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 7bf03b8558e..64b8c0a22fa 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -6966,14 +6966,16 @@ means to use the default for that slot, as stated below. | |||
| 6966 | @table @asis | 6966 | @table @asis |
| 6967 | @item 0 | 6967 | @item 0 |
| 6968 | The glyph for the end of a truncated screen line (the default for this | 6968 | The glyph for the end of a truncated screen line (the default for this |
| 6969 | is @samp{$}). @xref{Glyphs}. On graphical terminals, Emacs uses | 6969 | is @samp{$}). @xref{Glyphs}. On graphical terminals, Emacs by |
| 6970 | arrows in the fringes to indicate truncation, so the display table has | 6970 | default uses arrows in the fringes to indicate truncation, so the |
| 6971 | no effect. | 6971 | display table has no effect, unless you disable the fringes |
| 6972 | (@pxref{Fringes,, Window Fringes, emacs, the Gnu Emacs Manual}). | ||
| 6972 | 6973 | ||
| 6973 | @item 1 | 6974 | @item 1 |
| 6974 | The glyph for the end of a continued line (the default is @samp{\}). | 6975 | The glyph for the end of a continued line (the default is @samp{\}). |
| 6975 | On graphical terminals, Emacs uses curved arrows in the fringes to | 6976 | On graphical terminals, Emacs by default uses curved arrows in the |
| 6976 | indicate continuation, so the display table has no effect. | 6977 | fringes to indicate continuation, so the display table has no effect, |
| 6978 | unless you disable the fringes. | ||
| 6977 | 6979 | ||
| 6978 | @item 2 | 6980 | @item 2 |
| 6979 | The glyph for indicating a character displayed as an octal character | 6981 | The glyph for indicating a character displayed as an octal character |
| @@ -6988,9 +6990,12 @@ default is @samp{...}). @xref{Selective Display}. | |||
| 6988 | 6990 | ||
| 6989 | @item 5 | 6991 | @item 5 |
| 6990 | The glyph used to draw the border between side-by-side windows (the | 6992 | The glyph used to draw the border between side-by-side windows (the |
| 6991 | default is @samp{|}). @xref{Splitting Windows}. This takes effect only | 6993 | default is @samp{|}). @xref{Splitting Windows}. This currently has |
| 6992 | when there are no scroll bars; if scroll bars are supported and in use, | 6994 | effect only on text terminals; on graphical terminals, if vertical |
| 6993 | a scroll bar separates the two windows. | 6995 | scroll bars are supported and in use, a scroll bar separates the two |
| 6996 | windows, and if there are no vertical scroll bars and no dividers | ||
| 6997 | (@pxref{Window Dividers}), Emacs uses a thin line to indicate the | ||
| 6998 | border. | ||
| 6994 | @end table | 6999 | @end table |
| 6995 | 7000 | ||
| 6996 | For example, here is how to construct a display table that mimics | 7001 | For example, here is how to construct a display table that mimics |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index e21df5ac39b..0dd82c582c2 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -1,18 +1,16 @@ | |||
| 1 | \input texinfo @c -*- mode: texinfo; coding: utf-8 -*- | 1 | \input texinfo @c -*- mode: texinfo; coding: utf-8 -*- |
| 2 | @setfilename ../../info/tramp.info | 2 | @setfilename ../../info/tramp.info |
| 3 | @c %**start of header | 3 | @c %**start of header |
| 4 | @settitle TRAMP User Manual | ||
| 5 | @include docstyle.texi | 4 | @include docstyle.texi |
| 6 | @c %**end of header | ||
| 7 | |||
| 8 | @c This is *so* much nicer :) | ||
| 9 | @footnotestyle end | ||
| 10 | |||
| 11 | @c In the Tramp repository, the version number is auto-frobbed from | 5 | @c In the Tramp repository, the version number is auto-frobbed from |
| 12 | @c configure.ac, so you should edit that file and run | 6 | @c configure.ac, so you should edit that file and run |
| 13 | @c "autoconf && ./configure" to change the version number. | 7 | @c "autoconf && ./configure" to change the version number. |
| 14 | |||
| 15 | @include trampver.texi | 8 | @include trampver.texi |
| 9 | @settitle @value{tramp} @value{trampver} User Manual | ||
| 10 | @c %**end of header | ||
| 11 | |||
| 12 | @c This is *so* much nicer :) | ||
| 13 | @footnotestyle end | ||
| 16 | 14 | ||
| 17 | @c Macro for formatting a file name according to the respective | 15 | @c Macro for formatting a file name according to the respective |
| 18 | @c syntax. Macro arguments should not have any leading or trailing | 16 | @c syntax. Macro arguments should not have any leading or trailing |
| @@ -48,7 +46,7 @@ copy and modify this GNU manual.'' | |||
| 48 | @end direntry | 46 | @end direntry |
| 49 | 47 | ||
| 50 | @titlepage | 48 | @titlepage |
| 51 | @title @value{tramp} version @value{trampver} User Manual | 49 | @title @value{tramp} @value{trampver} User Manual |
| 52 | @author by Daniel Pittman | 50 | @author by Daniel Pittman |
| 53 | @author based on documentation by Kai Großjohann | 51 | @author based on documentation by Kai Großjohann |
| 54 | @end titlepage | 52 | @end titlepage |
| @@ -57,9 +55,9 @@ copy and modify this GNU manual.'' | |||
| 57 | 55 | ||
| 58 | 56 | ||
| 59 | @node Top, Overview, (dir), (dir) | 57 | @node Top, Overview, (dir), (dir) |
| 60 | @top @value{tramp} version @value{trampver} User Manual | 58 | @top @value{tramp} @value{trampver} User Manual |
| 61 | 59 | ||
| 62 | This file documents @value{tramp} version @value{trampver}, a remote file | 60 | This file documents @value{tramp} @value{trampver}, a remote file |
| 63 | editing package for Emacs. | 61 | editing package for Emacs. |
| 64 | 62 | ||
| 65 | @value{tramp} stands for ``Transparent Remote (file) Access, Multiple | 63 | @value{tramp} stands for ``Transparent Remote (file) Access, Multiple |
| @@ -320,7 +318,7 @@ behind the scenes when you open a file with @value{tramp}. | |||
| 320 | @chapter Obtaining @value{tramp} | 318 | @chapter Obtaining @value{tramp} |
| 321 | @cindex obtaining @value{tramp} | 319 | @cindex obtaining @value{tramp} |
| 322 | 320 | ||
| 323 | @value{tramp} is included as part of Emacs (since Emacs version 22.1). | 321 | @value{tramp} is included as part of Emacs (since Emacs 22.1). |
| 324 | 322 | ||
| 325 | @value{tramp} is also freely packaged for download on the Internet at | 323 | @value{tramp} is also freely packaged for download on the Internet at |
| 326 | @uref{https://ftp.gnu.org/gnu/tramp/}. | 324 | @uref{https://ftp.gnu.org/gnu/tramp/}. |
| @@ -1462,8 +1460,8 @@ server. | |||
| 1462 | 1460 | ||
| 1463 | Both ssh and PuTTY support such proxy settings, using an HTTP tunnel | 1461 | Both ssh and PuTTY support such proxy settings, using an HTTP tunnel |
| 1464 | via the @command{CONNECT} command (conforming to RFC 2616, 2817 | 1462 | via the @command{CONNECT} command (conforming to RFC 2616, 2817 |
| 1465 | specifications). Proxy servers using HTTP version 1.1 or later | 1463 | specifications). Proxy servers using HTTP 1.1 or later protocol |
| 1466 | protocol support this command. | 1464 | support this command. |
| 1467 | 1465 | ||
| 1468 | @subsection Tunneling with ssh | 1466 | @subsection Tunneling with ssh |
| 1469 | 1467 | ||
| @@ -1501,6 +1499,7 @@ proxy server @samp{proxy.your.domain} on port 3128. | |||
| 1501 | @cindex using non-standard methods | 1499 | @cindex using non-standard methods |
| 1502 | @cindex create your own methods | 1500 | @cindex create your own methods |
| 1503 | 1501 | ||
| 1502 | @vindex tramp-methods | ||
| 1504 | The @code{tramp-methods} variable currently has an exhaustive list of | 1503 | The @code{tramp-methods} variable currently has an exhaustive list of |
| 1505 | predefined methods. Any part of this list can be modified with more | 1504 | predefined methods. Any part of this list can be modified with more |
| 1506 | suitable settings. Refer to the Lisp documentation of that variable, | 1505 | suitable settings. Refer to the Lisp documentation of that variable, |
| @@ -1511,8 +1510,8 @@ accessible with @kbd{C-h v tramp-methods @key{RET}}. | |||
| 1511 | @section Selecting config files for user/host name completion | 1510 | @section Selecting config files for user/host name completion |
| 1512 | @cindex customizing completion | 1511 | @cindex customizing completion |
| 1513 | @cindex selecting config files | 1512 | @cindex selecting config files |
| 1514 | @vindex tramp-completion-function-alist | ||
| 1515 | 1513 | ||
| 1514 | @vindex tramp-completion-function-alist | ||
| 1516 | @code{tramp-completion-function-alist} uses predefined files for user | 1515 | @code{tramp-completion-function-alist} uses predefined files for user |
| 1517 | and host name completion (@pxref{File name completion}). For each | 1516 | and host name completion (@pxref{File name completion}). For each |
| 1518 | method, it keeps a set of configuration files and a function that can | 1517 | method, it keeps a set of configuration files and a function that can |
| @@ -1650,8 +1649,8 @@ the need. | |||
| 1650 | 1649 | ||
| 1651 | @anchor{Using an authentication file} | 1650 | @anchor{Using an authentication file} |
| 1652 | @subsection Using an authentication file | 1651 | @subsection Using an authentication file |
| 1653 | @vindex auth-sources | ||
| 1654 | 1652 | ||
| 1653 | @vindex auth-sources | ||
| 1655 | The package @file{auth-source.el}, originally developed for No Gnus, | 1654 | The package @file{auth-source.el}, originally developed for No Gnus, |
| 1656 | reads passwords from different sources, @xref{Help for users, , | 1655 | reads passwords from different sources, @xref{Help for users, , |
| 1657 | auth-source, auth}. The default authentication file is | 1656 | auth-source, auth}. The default authentication file is |
| @@ -1697,7 +1696,6 @@ Set @code{password-cache} to @code{nil} to disable password caching. | |||
| 1697 | @node Connection caching | 1696 | @node Connection caching |
| 1698 | @section Reusing connection related information | 1697 | @section Reusing connection related information |
| 1699 | @cindex caching | 1698 | @cindex caching |
| 1700 | @vindex tramp-persistency-file-name | ||
| 1701 | 1699 | ||
| 1702 | @vindex tramp-persistency-file-name | 1700 | @vindex tramp-persistency-file-name |
| 1703 | For faster initial connection times, @value{tramp} stores previous | 1701 | For faster initial connection times, @value{tramp} stores previous |
| @@ -1721,11 +1719,11 @@ connection related information for that host and creates a new entry. | |||
| 1721 | 1719 | ||
| 1722 | @node Predefined connection information | 1720 | @node Predefined connection information |
| 1723 | @section Setting own connection related information | 1721 | @section Setting own connection related information |
| 1724 | @vindex tramp-connection-properties | ||
| 1725 | 1722 | ||
| 1726 | For more precise customization, parameters specified by | 1723 | For more precise customization, parameters specified by |
| 1727 | @code{tramp-methods} can be overwritten manually. | 1724 | @code{tramp-methods} can be overwritten manually. |
| 1728 | 1725 | ||
| 1726 | @vindex tramp-connection-properties | ||
| 1729 | Set @option{tramp-connection-properties} to manually override | 1727 | Set @option{tramp-connection-properties} to manually override |
| 1730 | @code{tramp-methods}. Properties in this list are in the form | 1728 | @code{tramp-methods}. Properties in this list are in the form |
| 1731 | @code{(@var{regexp} @var{property} @var{value})}. @var{regexp} | 1729 | @code{(@var{regexp} @var{property} @var{value})}. @var{regexp} |
| @@ -1900,7 +1898,6 @@ prompts, for which @value{tramp} uses @option{tramp-wrong-passwd-regexp}. | |||
| 1900 | @item @command{tset} and other questions | 1898 | @item @command{tset} and other questions |
| 1901 | @cindex unix command @command{tset} | 1899 | @cindex unix command @command{tset} |
| 1902 | @cindex @command{tset} unix command | 1900 | @cindex @command{tset} unix command |
| 1903 | @vindex tramp-terminal-type | ||
| 1904 | 1901 | ||
| 1905 | @vindex tramp-terminal-type | 1902 | @vindex tramp-terminal-type |
| 1906 | To suppress inappropriate prompts for terminal type, @value{tramp} | 1903 | To suppress inappropriate prompts for terminal type, @value{tramp} |
| @@ -1981,9 +1978,9 @@ shell-specific config files. For example, bash can use | |||
| 1981 | 1978 | ||
| 1982 | @value{tramp} redefines the remote shell prompt internally for robust | 1979 | @value{tramp} redefines the remote shell prompt internally for robust |
| 1983 | parsing. This redefinition affects the looks of a prompt in an | 1980 | parsing. This redefinition affects the looks of a prompt in an |
| 1984 | interactive remote shell through commands, such as @kbd{M-x | 1981 | interactive remote shell through commands, such as @kbd{M-x shell |
| 1985 | shell}. Such prompts, however, can be reset to something more readable | 1982 | @key{RET}}. Such prompts, however, can be reset to something more |
| 1986 | and recognizable using these @value{tramp} variables. | 1983 | readable and recognizable using these @value{tramp} variables. |
| 1987 | 1984 | ||
| 1988 | @value{tramp} sets the @env{INSIDE_EMACS} variable in the startup | 1985 | @value{tramp} sets the @env{INSIDE_EMACS} variable in the startup |
| 1989 | script file @file{~/.emacs_SHELLNAME}. | 1986 | script file @file{~/.emacs_SHELLNAME}. |
| @@ -2096,8 +2093,8 @@ directory for temporary files: | |||
| 2096 | 2093 | ||
| 2097 | @item | 2094 | @item |
| 2098 | Open a remote connection with the command @kbd{C-x C-f | 2095 | Open a remote connection with the command @kbd{C-x C-f |
| 2099 | @trampfn{ssh,192.168.0.26#2222,}}, where @command{sshd} is listening | 2096 | @trampfn{ssh,192.168.0.26#2222,} @key{RET}}, where @command{sshd} is |
| 2100 | on port @samp{2222}. | 2097 | listening on port @samp{2222}. |
| 2101 | 2098 | ||
| 2102 | To add a corresponding entry to the @file{~/.ssh/config} file | 2099 | To add a corresponding entry to the @file{~/.ssh/config} file |
| 2103 | (recommended), use this: | 2100 | (recommended), use this: |
| @@ -2124,7 +2121,7 @@ the previous example, fix the connection properties as follows: | |||
| 2124 | 2121 | ||
| 2125 | @noindent | 2122 | @noindent |
| 2126 | Open a remote connection with a more concise command @kbd{C-x C-f | 2123 | Open a remote connection with a more concise command @kbd{C-x C-f |
| 2127 | @trampfn{ssh,android,}}. | 2124 | @trampfn{ssh,android,} @key{RET}}. |
| 2128 | @end itemize | 2125 | @end itemize |
| 2129 | 2126 | ||
| 2130 | 2127 | ||
| @@ -2132,8 +2129,8 @@ Open a remote connection with a more concise command @kbd{C-x C-f | |||
| 2132 | @section Auto-save and Backup configuration | 2129 | @section Auto-save and Backup configuration |
| 2133 | @cindex auto-save | 2130 | @cindex auto-save |
| 2134 | @cindex backup | 2131 | @cindex backup |
| 2135 | @vindex backup-directory-alist | ||
| 2136 | 2132 | ||
| 2133 | @vindex backup-directory-alist | ||
| 2137 | To avoid @value{tramp} from saving backup files owned by @samp{root} | 2134 | To avoid @value{tramp} from saving backup files owned by @samp{root} |
| 2138 | to locations accessible to others, default backup settings in | 2135 | to locations accessible to others, default backup settings in |
| 2139 | @option{backup-directory-alist} have to be altered. | 2136 | @option{backup-directory-alist} have to be altered. |
| @@ -2176,7 +2173,6 @@ Disabling backups can be targeted to just the @option{su} and | |||
| 2176 | @end group | 2173 | @end group |
| 2177 | @end lisp | 2174 | @end lisp |
| 2178 | 2175 | ||
| 2179 | @vindex backup-directory-alist | ||
| 2180 | @vindex tramp-backup-directory-alist | 2176 | @vindex tramp-backup-directory-alist |
| 2181 | Another option is to create better backup file naming with user and | 2177 | Another option is to create better backup file naming with user and |
| 2182 | host names prefixed to the file name. For example, transforming | 2178 | host names prefixed to the file name. For example, transforming |
| @@ -2237,8 +2233,9 @@ This section is incomplete. Please share your solutions. | |||
| 2237 | @cindex @option{sshx} method with cygwin | 2233 | @cindex @option{sshx} method with cygwin |
| 2238 | 2234 | ||
| 2239 | Cygwin's @command{ssh} works only with a Cygwin version of Emacs. To | 2235 | Cygwin's @command{ssh} works only with a Cygwin version of Emacs. To |
| 2240 | check for compatibility: type @kbd{M-x eshell}, and start @kbd{ssh | 2236 | check for compatibility: type @kbd{M-x eshell @key{RET}}, and start |
| 2241 | test.host}. Incompatibilities trigger this message: | 2237 | @kbd{ssh test.host @key{RET}}. Incompatibilities trigger this |
| 2238 | message: | ||
| 2242 | 2239 | ||
| 2243 | @example | 2240 | @example |
| 2244 | Pseudo-terminal will not be allocated because stdin is not a terminal. | 2241 | Pseudo-terminal will not be allocated because stdin is not a terminal. |
| @@ -2555,8 +2552,8 @@ remote host name and file name. For example, hopping over a single | |||
| 2555 | proxy @samp{bird@@bastion} to a remote file on @samp{you@@remotehost}: | 2552 | proxy @samp{bird@@bastion} to a remote file on @samp{you@@remotehost}: |
| 2556 | 2553 | ||
| 2557 | @example | 2554 | @example |
| 2558 | @c @kbd{C-x C-f @trampfn{ssh@value{postfixhop}bird@@bastion|ssh,you,remotehost,/path}} | 2555 | @c @kbd{C-x C-f @trampfn{ssh@value{postfixhop}bird@@bastion|ssh,you,remotehost,/path} @key{RET}} |
| 2559 | @kbd{C-x C-f @value{prefix}ssh@value{postfixhop}bird@@bastion|ssh@value{postfixhop}you@@remotehost@value{postfix}/path} | 2556 | @kbd{C-x C-f @value{prefix}ssh@value{postfixhop}bird@@bastion|ssh@value{postfixhop}you@@remotehost@value{postfix}/path @key{RET}} |
| 2560 | @end example | 2557 | @end example |
| 2561 | 2558 | ||
| 2562 | Proxies can take patterns @code{%h} or @code{%u}. | 2559 | Proxies can take patterns @code{%h} or @code{%u}. |
| @@ -2671,9 +2668,9 @@ this. You could overwrite this behavior by evaluating | |||
| 2671 | @end lisp | 2668 | @end lisp |
| 2672 | 2669 | ||
| 2673 | In addition to @option{tramp-remote-process-environment}, you can set | 2670 | In addition to @option{tramp-remote-process-environment}, you can set |
| 2674 | environment variables for invidivual remote process calls by | 2671 | environment variables for individual remote process calls by |
| 2675 | let-binding @code{process-environment}. @value{tramp} will apply any | 2672 | let-binding @code{process-environment}. @value{tramp} applies any |
| 2676 | entries which are not present in the global default value of | 2673 | entries not present in the global default value of |
| 2677 | @code{process-environment} (overriding | 2674 | @code{process-environment} (overriding |
| 2678 | @option{tramp-remote-process-environment} settings, if they conflict). | 2675 | @option{tramp-remote-process-environment} settings, if they conflict). |
| 2679 | For example: | 2676 | For example: |
| @@ -2778,14 +2775,15 @@ host. Example: | |||
| 2778 | @example | 2775 | @example |
| 2779 | @group | 2776 | @group |
| 2780 | @kbd{C-x C-f @trampfn{sudo,,} @key{RET}} | 2777 | @kbd{C-x C-f @trampfn{sudo,,} @key{RET}} |
| 2781 | @kbd{M-! tail -f /var/log/syslog.log & @key{RET}} | 2778 | @kbd{M-& tail -f /var/log/syslog.log @key{RET}} |
| 2782 | @end group | 2779 | @end group |
| 2783 | @end example | 2780 | @end example |
| 2784 | 2781 | ||
| 2785 | @command{tail} command outputs continuously to the local buffer, | 2782 | @command{tail} command outputs continuously to the local buffer, |
| 2786 | @file{*Async Shell Command*} | 2783 | @file{*Async Shell Command*} |
| 2787 | 2784 | ||
| 2788 | @kbd{M-x auto-revert-tail-mode} runs similarly showing continuous output. | 2785 | @kbd{M-x auto-revert-tail-mode @key{RET}} runs similarly showing |
| 2786 | continuous output. | ||
| 2789 | 2787 | ||
| 2790 | 2788 | ||
| 2791 | @subsection Running @code{eshell} on a remote host | 2789 | @subsection Running @code{eshell} on a remote host |
| @@ -2794,8 +2792,8 @@ host. Example: | |||
| 2794 | @value{tramp} is integrated into @file{eshell.el}, which enables | 2792 | @value{tramp} is integrated into @file{eshell.el}, which enables |
| 2795 | interactive eshell sessions on remote hosts at the command prompt. | 2793 | interactive eshell sessions on remote hosts at the command prompt. |
| 2796 | You must add the module @code{em-tramp} to @code{eshell-modules-list}. | 2794 | You must add the module @code{em-tramp} to @code{eshell-modules-list}. |
| 2797 | Here's a sample interaction after opening @kbd{M-x eshell} on a remote | 2795 | Here's a sample interaction after opening @kbd{M-x eshell @key{RET}} |
| 2798 | host: | 2796 | on a remote host: |
| 2799 | 2797 | ||
| 2800 | @example | 2798 | @example |
| 2801 | @group | 2799 | @group |
| @@ -2876,7 +2874,7 @@ calls include: | |||
| 2876 | @end group | 2874 | @end group |
| 2877 | @end example | 2875 | @end example |
| 2878 | 2876 | ||
| 2879 | Just the local part of a remote file name, such as @kbd{perl -d | 2877 | Just the local part of a remote file name, such as @command{perl -d |
| 2880 | /home/user/myprog.pl}, is not possible. | 2878 | /home/user/myprog.pl}, is not possible. |
| 2881 | 2879 | ||
| 2882 | Arguments of the program to be debugged must be literal, can take | 2880 | Arguments of the program to be debugged must be literal, can take |
| @@ -2896,8 +2894,8 @@ command. Powershell V2.0 on the remote host is required to run | |||
| 2896 | processes triggered from @value{tramp}. | 2894 | processes triggered from @value{tramp}. |
| 2897 | 2895 | ||
| 2898 | @option{explicit-shell-file-name} and @option{explicit-*-args} have to | 2896 | @option{explicit-shell-file-name} and @option{explicit-*-args} have to |
| 2899 | be set properly so @kbd{M-x shell} can open a proper remote shell on a | 2897 | be set properly so @kbd{M-x shell @key{RET}} can open a proper remote |
| 2900 | MS Windows host. To open @command{cmd}, set it as follows: | 2898 | shell on a MS Windows host. To open @command{cmd}, set it as follows: |
| 2901 | 2899 | ||
| 2902 | @lisp | 2900 | @lisp |
| 2903 | @group | 2901 | @group |
| @@ -3189,9 +3187,9 @@ Before sending a bug report, run the test suite first @ref{Testing}. | |||
| 3189 | Check if the bug or problem is already addressed in @xref{Frequently | 3187 | Check if the bug or problem is already addressed in @xref{Frequently |
| 3190 | Asked Questions}. | 3188 | Asked Questions}. |
| 3191 | 3189 | ||
| 3192 | Run @kbd{M-x tramp-bug} to generate a buffer with details of the | 3190 | Run @kbd{M-x tramp-bug @key{RET}} to generate a buffer with details of |
| 3193 | system along with the details of the @value{tramp} | 3191 | the system along with the details of the @value{tramp} installation. |
| 3194 | installation. Please include these details with the bug report. | 3192 | Please include these details with the bug report. |
| 3195 | 3193 | ||
| 3196 | The bug report must describe in as excruciating detail as possible the | 3194 | The bug report must describe in as excruciating detail as possible the |
| 3197 | steps required to reproduce the problem. These details must include | 3195 | steps required to reproduce the problem. These details must include |
| @@ -3317,7 +3315,7 @@ put the cursor at the top of the buffer, and then apply the following | |||
| 3317 | expression: | 3315 | expression: |
| 3318 | 3316 | ||
| 3319 | @example | 3317 | @example |
| 3320 | @kbd{M-: (re-search-forward (concat tramp-shell-prompt-pattern "$"))} | 3318 | @kbd{M-: (re-search-forward (concat tramp-shell-prompt-pattern "$")) @key{RET}} |
| 3321 | @end example | 3319 | @end example |
| 3322 | 3320 | ||
| 3323 | If the cursor has not moved to the prompt at the bottom of the buffer, | 3321 | If the cursor has not moved to the prompt at the bottom of the buffer, |
| @@ -3521,9 +3519,10 @@ the following code in @file{~/.emacs} file. | |||
| 3521 | How to get a Visual Warning when working with @samp{root} privileges? | 3519 | How to get a Visual Warning when working with @samp{root} privileges? |
| 3522 | Host indication in the mode line? | 3520 | Host indication in the mode line? |
| 3523 | 3521 | ||
| 3522 | @cindex @value{tramp} theme | ||
| 3524 | @vindex tramp-theme-face-remapping-alist | 3523 | @vindex tramp-theme-face-remapping-alist |
| 3525 | Install @file{tramp-theme} from GNU ELPA via Emacs' Package Manager. | 3524 | Install @file{tramp-theme} from GNU ELPA via Emacs' Package Manager. |
| 3526 | Enable it via @kbd{M-x load-theme @key{RET} tramp}. Further | 3525 | Enable it via @kbd{M-x load-theme @key{RET} tramp @key{RET}}. Further |
| 3527 | customization is explained in user option | 3526 | customization is explained in user option |
| 3528 | @option{tramp-theme-face-remapping-alist}. | 3527 | @option{tramp-theme-face-remapping-alist}. |
| 3529 | 3528 | ||
| @@ -3598,6 +3597,24 @@ is @file{@trampfn{ssh,news@@news.my.domain,/opt/news/etc}}, then: | |||
| 3598 | @enumerate | 3597 | @enumerate |
| 3599 | 3598 | ||
| 3600 | @item | 3599 | @item |
| 3600 | Use simplified syntax: | ||
| 3601 | |||
| 3602 | If you always apply the default method (@pxref{Default Method}), you | ||
| 3603 | could use the simplified @value{tramp} syntax (@pxref{Change file name | ||
| 3604 | syntax}): | ||
| 3605 | |||
| 3606 | @lisp | ||
| 3607 | @group | ||
| 3608 | (customize-set-variable 'tramp-default-method "ssh") | ||
| 3609 | (tramp-change-syntax 'simplified) | ||
| 3610 | @end group | ||
| 3611 | @end lisp | ||
| 3612 | |||
| 3613 | The reduced typing: @kbd{C-x C-f | ||
| 3614 | @code{@value{prefix}news@@news.my.domain@value{postfix}/opt/news/etc} | ||
| 3615 | @key{RET}}. | ||
| 3616 | |||
| 3617 | @item | ||
| 3601 | Use default values for method name and user name: | 3618 | Use default values for method name and user name: |
| 3602 | 3619 | ||
| 3603 | You can define default methods and user names for hosts, | 3620 | You can define default methods and user names for hosts, |
| @@ -3611,11 +3628,12 @@ You can define default methods and user names for hosts, | |||
| 3611 | @end group | 3628 | @end group |
| 3612 | @end lisp | 3629 | @end lisp |
| 3613 | 3630 | ||
| 3614 | The reduced typing: @kbd{C-x C-f @trampfn{-,news.my.domain,/opt/news/etc}}. | 3631 | The reduced typing: @kbd{C-x C-f |
| 3632 | @trampfn{-,news.my.domain,/opt/news/etc} @key{RET}}. | ||
| 3615 | 3633 | ||
| 3616 | @strong{Note} that there are some useful shortcuts already. Accessing | 3634 | @strong{Note} that there are some useful shortcuts already. Accessing |
| 3617 | your local host as @samp{root} user, is possible just by @kbd{C-x C-f | 3635 | your local host as @samp{root} user, is possible just by @kbd{C-x C-f |
| 3618 | @trampfn{su,,}}. | 3636 | @trampfn{su,,} @key{RET}}. |
| 3619 | 3637 | ||
| 3620 | @item | 3638 | @item |
| 3621 | Use configuration options of the access method: | 3639 | Use configuration options of the access method: |
| @@ -3632,7 +3650,7 @@ Host xy | |||
| 3632 | @end group | 3650 | @end group |
| 3633 | @end example | 3651 | @end example |
| 3634 | 3652 | ||
| 3635 | The reduced typing: @kbd{C-x C-f @trampfn{ssh,xy,/opt/news/etc}}. | 3653 | The reduced typing: @kbd{C-x C-f @trampfn{ssh,xy,/opt/news/etc} @key{RET}}. |
| 3636 | 3654 | ||
| 3637 | Depending on the number of files in the directories, host names | 3655 | Depending on the number of files in the directories, host names |
| 3638 | completion can further reduce key strokes: @kbd{C-x C-f | 3656 | completion can further reduce key strokes: @kbd{C-x C-f |
| @@ -3800,8 +3818,8 @@ Load @file{bbdb} in Emacs: | |||
| 3800 | @end group | 3818 | @end group |
| 3801 | @end lisp | 3819 | @end lisp |
| 3802 | 3820 | ||
| 3803 | Create a BBDB entry with @kbd{M-x bbdb-create-ftp-site}. Then specify | 3821 | Create a BBDB entry with @kbd{M-x bbdb-create-ftp-site @key{RET}}. |
| 3804 | a method and user name where needed. Examples: | 3822 | Then specify a method and user name where needed. Examples: |
| 3805 | 3823 | ||
| 3806 | @example | 3824 | @example |
| 3807 | @group | 3825 | @group |
| @@ -3937,8 +3955,8 @@ To disable both @value{tramp} (and Ange FTP), set @code{tramp-mode} to | |||
| 3937 | @end lisp | 3955 | @end lisp |
| 3938 | 3956 | ||
| 3939 | @item | 3957 | @item |
| 3940 | To unload @value{tramp}, type @kbd{M-x tramp-unload-tramp}. Unloading | 3958 | To unload @value{tramp}, type @kbd{M-x tramp-unload-tramp @key{RET}}. |
| 3941 | @value{tramp} resets Ange FTP plugins also. | 3959 | Unloading @value{tramp} resets Ange FTP plugins also. |
| 3942 | @end itemize | 3960 | @end itemize |
| 3943 | @end itemize | 3961 | @end itemize |
| 3944 | 3962 | ||
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index a64c88c4f0d..1bf6d04b63b 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -295,6 +295,11 @@ The information is logged to `byte-compile-log-buffer'." | |||
| 295 | "If true, the byte-compiler reports warnings with `error'." | 295 | "If true, the byte-compiler reports warnings with `error'." |
| 296 | :group 'bytecomp | 296 | :group 'bytecomp |
| 297 | :type 'boolean) | 297 | :type 'boolean) |
| 298 | ;; This needs to be autoloaded because it needs to be available to | ||
| 299 | ;; Emacs before the byte compiler is loaded, otherwise Emacs will not | ||
| 300 | ;; know that this variable is marked as safe until it is too late. | ||
| 301 | ;; (See https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html ) | ||
| 302 | ;;;###autoload(put 'byte-compile-error-on-warn 'safe-local-variable 'booleanp) | ||
| 298 | 303 | ||
| 299 | (defconst byte-compile-warning-types | 304 | (defconst byte-compile-warning-types |
| 300 | '(redefine callargs free-vars unresolved | 305 | '(redefine callargs free-vars unresolved |
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index 1d7dc9927e5..353d4352f60 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el | |||
| @@ -1917,7 +1917,10 @@ before point that's highlighted as misspelled." | |||
| 1917 | ;;*---------------------------------------------------------------------*/ | 1917 | ;;*---------------------------------------------------------------------*/ |
| 1918 | (defun flyspell-auto-correct-word () | 1918 | (defun flyspell-auto-correct-word () |
| 1919 | "Correct the current word. | 1919 | "Correct the current word. |
| 1920 | This command proposes various successive corrections for the current word." | 1920 | This command proposes various successive corrections for the |
| 1921 | current word. If invoked repeatedly on the same position, it | ||
| 1922 | cycles through the possible corrections of the word at or near | ||
| 1923 | that position." | ||
| 1921 | (interactive) | 1924 | (interactive) |
| 1922 | ;; If we are not in the construct where flyspell should be active, | 1925 | ;; If we are not in the construct where flyspell should be active, |
| 1923 | ;; invoke the original binding of M-TAB, if that was recorded. | 1926 | ;; invoke the original binding of M-TAB, if that was recorded. |
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index 47172dd52fa..9274714cc60 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el | |||
| @@ -243,8 +243,11 @@ Should be consistent with the Git config value i18n.logOutputEncoding." | |||
| 243 | (vc-git--run-command-string nil "version"))) | 243 | (vc-git--run-command-string nil "version"))) |
| 244 | (setq vc-git--program-version | 244 | (setq vc-git--program-version |
| 245 | (if (and version-string | 245 | (if (and version-string |
| 246 | (string-match "git version \\([0-9.]+\\)$" | 246 | ;; Git for Windows appends ".windows.N" to the |
| 247 | version-string)) | 247 | ;; numerical version reported by Git. |
| 248 | (string-match | ||
| 249 | "git version \\([0-9.]+\\)\\(\.windows.[0-9]+\\)?$" | ||
| 250 | version-string)) | ||
| 248 | (match-string 1 version-string) | 251 | (match-string 1 version-string) |
| 249 | "0"))))) | 252 | "0"))))) |
| 250 | 253 | ||