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
This commit is contained in:
Glenn Morris 2018-02-16 09:44:04 -08:00
commit 47106da23a
19 changed files with 322 additions and 215 deletions

View file

@ -649,7 +649,7 @@ Set a breakpoint on the source line that point is on.
buffer, sets a debugger breakpoint on the current source line. This
command is available only after starting GUD@. If you call it in a
buffer that is not associated with any debugger subprocess, it signals
a error.
an error.
@kindex C-x C-a @r{(GUD)}
The following commands are available both in the GUD interaction
@ -1096,9 +1096,9 @@ display the corresponding buffer in a new frame.
When you create a buffer showing information about some specific
thread, it becomes bound to that thread and keeps showing actual
information while you debug your program. The mode indicator for each
GDB buffer shows the number of thread it is showing information about.
The thread number is also included in the buffer name of bound
buffers.
GDB buffer shows the number of the thread whose information that
buffer displays. The thread number is also included in the name of
each bound buffer.
Further commands are available in the GDB Threads buffer which
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
@vindex load-dangerous-libraries
@cindex Lisp files byte-compiled by XEmacs
By default, Emacs refuses to load compiled Lisp files which were
compiled with XEmacs, a modified versions of Emacs---they can cause
compiled with XEmacs, a modified version of Emacs---they can cause
Emacs to crash. Set the variable @code{load-dangerous-libraries} to
@code{t} if you want to try loading them.

View file

@ -2567,11 +2567,3 @@ instance:
@noindent
Type @kbd{C-q}, followed by the key you want to bind, to insert @var{char}.
@strong{Warning:} if you change the keyboard encoding, or change
between multibyte and unibyte mode, or anything that would alter which
code @kbd{C-q} would insert for that character, this key binding may
stop working. It is therefore advisable to use one and only one
coding system, for your init file as well as the files you edit. For
example, don't mix the @samp{latin-1} and @samp{latin-9} coding
systems.

View file

@ -579,9 +579,10 @@ might be inconsistent with the file on disk if its contents have changed
since it was last visited. If you don't want this, you may wish to
revert the files you have visited in your buffers, or to turn on
the @code{auto-revert} mode in those buffers, before invoking this
command. @xref{Reverting}. If you prefer that this command always revisit
the file, without having to revert the file or enable @code{auto-revert}
mode, you might want to set @code{dired-always-read-filesystem} to non-@code{nil}.
command. @xref{Reverting}. If you prefer that this command always
revisits the file, without having to revert the file or enable
@code{auto-revert} mode, you might want to set
@code{dired-always-read-filesystem} to non-@code{nil}.
@item C-/
@itemx C-x u
@ -1184,7 +1185,7 @@ without having to remove the Dired marks on files in those
subdirectories.
@xref{Subdirectories in Dired}, for how to insert a subdirectory
listing, and @pxref{Dired Updating} for how delete it.
listing, and see @ref{Dired Updating}, for how to delete it.
@node Dired Updating
@section Updating the Dired Buffer

View file

@ -694,11 +694,12 @@ Otherwise, renaming is the default choice.
When a file is managed with a version control system (@pxref{Version
Control}), Emacs does not normally make backups in the usual way for
that file. But check-in and check-out are similar in some ways to
making backups. One unfortunate similarity is that these operations
typically break hard links, disconnecting the file name you visited from
any alternate names for the same file. This has nothing to do with
Emacs---the version control system does it.
that file. But @dfn{committing} (a.k.a.@: @dfn{checking in},
@pxref{VCS Concepts}) new versions of files is similar in some ways
to making backups. One unfortunate similarity is that these
operations typically break hard links, disconnecting the file name you
visited from any alternate names for the same file. This has nothing
to do with Emacs---the version control system does it.
@node Customize Save
@subsection Customizing Saving of Files

View file

@ -158,11 +158,14 @@ the required columns.
@item C-M-j
Break the current line at point and set up a continuation line
(@code{fortran-split-line}).
@item M-^
Join this line to the previous line (@code{fortran-join-line}).
@item C-M-q
Indent all the lines of the subprogram that point is in
(@code{fortran-indent-subprogram}).
@item M-q
Fill a comment block or statement (using @code{fortran-fill-paragraph}
or @code{fortran-fill-statement}).
@ -185,7 +188,7 @@ lines.
@kindex M-^ @r{(Fortran mode)}
@kindex C-c C-d @r{(Fortran mode)}
@findex fortran-join-line
@kbd{M-^} or @kbd{C-c C-d} runs the command @code{fortran-join-line},
@kbd{M-^} or @kbd{C-c C-d} run the command @code{fortran-join-line},
which joins a continuation line back to the previous line, roughly as
the inverse of @code{fortran-split-line}. The point must be on a
continuation line when this command is invoked.
@ -203,7 +206,9 @@ point is in. This removes any excess statement continuations.
If the first non-space character on a line is in column 5, then that
line is a continuation of the previous line. We call this @dfn{fixed
form}. (In GNU Emacs we always count columns from 0; but note that
the Fortran standard counts from 1.) The variable
the Fortran standard counts from 1. You can customize the variable
@code{column-number-indicator-zero-based} to make the column display
Fortran-like; @pxref{Optional Mode Line}.) The variable
@code{fortran-continuation-string} specifies what character to put in
column 5. A line that starts with a tab character followed by any digit
except @samp{0} is also a continuation line. We call this style of
@ -229,10 +234,10 @@ accordingly.
If the text on a line starts with the Fortran continuation marker
@samp{$}, or if it begins with any non-whitespace character in column
5, Fortran mode treats it as a continuation line. When you indent a
continuation line with @key{TAB}, it converts the line to the current
continuation style. When you split a Fortran statement with
@kbd{C-M-j}, the continuation marker on the newline is created according
to the continuation style.
continuation line with @kbd{@key{TAB}}, it converts the line to the
current continuation style. When you split a Fortran statement with
@kbd{C-M-j}, the continuation marker on the newline is created
according to the continuation style.
The setting of continuation style affects several other aspects of
editing in Fortran mode. In fixed form mode, the minimum column
@ -247,7 +252,9 @@ column 8 must consist of one tab character.
If a number is the first non-whitespace in the line, Fortran
indentation assumes it is a line number and moves it to columns 0
through 4. (Columns always count from 0 in Emacs.)
through 4. (Columns always count from 0 in Emacs, but setting
@code{column-number-indicator-zero-based} to @code{nil} can change
that, @pxref{Optional Mode Line}.)
@vindex fortran-line-number-indent
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},
Extra indentation for bodies of continuation lines (default 5).
@item fortran-check-all-num-for-matching-do
In Fortran 77, a numbered @samp{do} statement is ended by any statement
In Fortran 77, a numbered @samp{do} statement is terminated by any statement
with a matching line number. It is common (but not compulsory) to use a
@samp{continue} statement for this purpose. If this variable has a
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
@code{nil} (the default).
@item fortran-blink-matching-if
If this is @code{t}, indenting an @samp{endif} (or @samp{enddo}
If this is @code{t}, indenting an @samp{endif} (or @samp{enddo})
statement moves the cursor momentarily to the matching @samp{if} (or
@samp{do}) statement to show where it is. The default is @code{nil}.
@ -386,7 +393,7 @@ Fortran mode as in other modes.
When a new comment must be inserted, if the current line is blank, a
full-line comment is inserted. On a non-blank line, a nonstandard @samp{!}
comment is inserted if you have said you want to use them. Otherwise a
comment is inserted if you have said you want to use them. Otherwise, a
full-line comment is inserted on a new line before the current line.
Nonstandard @samp{!} comments are aligned like comments in other
@ -434,7 +441,7 @@ distinctive font-locking.
The normal Emacs comment command @kbd{C-x ;} (@code{comment-set-column})
has not been redefined. If you use @samp{!} comments, this command
can be used with them. Otherwise it is useless in Fortran mode.
can be used with them. Otherwise, it is useless in Fortran mode.
@kindex C-c ; @r{(Fortran mode)}
@findex fortran-comment-region
@ -457,9 +464,9 @@ minor mode that automatically splits statements as you insert them
when they become too wide. Splitting a statement involves making
continuation lines using @code{fortran-continuation-string}
(@pxref{ForIndent Cont}). This splitting happens when you type
@key{SPC}, @key{RET}, or @key{TAB}, and also in the Fortran
indentation commands. You activate Auto Fill in Fortran mode in the
normal way.
@kbd{@key{SPC}}, @kbd{@key{RET}}, or @kbd{@key{TAB}}, and also in the
Fortran indentation commands. You activate Auto Fill in Fortran mode
in the normal way.
@iftex
@xref{Auto Fill,,, emacs, the Emacs Manual}.
@end iftex
@ -501,15 +508,18 @@ will confuse font-lock.)
@item C-c C-r
Display a column ruler momentarily above the current line
(@code{fortran-column-ruler}).
@item C-c C-w
Split the current window horizontally temporarily so that it is
@code{fortran-line-length} columns wide
(@code{fortran-window-create-momentarily}). This may help you avoid
making lines longer than the limit imposed by your Fortran compiler.
@item C-u C-c C-w
Split the current window horizontally so that it is
@code{fortran-line-length} columns wide (@code{fortran-window-create}).
You can then continue editing.
@item M-x fortran-strip-sequence-nos
Delete all text in column @code{fortran-line-length} and beyond.
@end table
@ -523,7 +533,9 @@ Fortran programs. Square brackets show the limits of the columns for line
numbers, and curly brackets show the limits of the columns for the
statement body. Column numbers appear above them.
Note that the column numbers count from zero, as always in GNU Emacs.
Note that the column numbers count from zero, as always in GNU Emacs
(but customizing @code{column-number-indicator-zero-based} can change
column display to match that of Fortran; @pxref{Optional Mode Line}).
As a result, the numbers may be one less than those you are familiar
with; but the positions they indicate in the line are standard for
Fortran.

View file

@ -642,7 +642,7 @@ Display information about where to get external packages
@item C-h C-f
Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}).
@item C-h g
Visit a @uref{https://www.gnu.org} page with information about the GNU
Visit the @uref{https://www.gnu.org, page} with information about the GNU
Project (@code{describe-gnu-project}).
@item C-h C-m
Display information about ordering printed copies of Emacs manuals

View file

@ -675,7 +675,7 @@ use to alter a buffer, then point is always at the end.
@kbd{M-x prepend-to-buffer} is just like @code{append-to-buffer}
except that point in the other buffer is left before the copied text, so
successive prependings add text in reverse order. @kbd{M-x
successive uses of this command add text in reverse order. @kbd{M-x
copy-to-buffer} is similar, except that any existing text in the other
buffer is deleted, so the buffer is left containing just the text newly
copied into it.

View file

@ -2203,7 +2203,7 @@ In Ada, the same name can be used for different kinds of entity
(e.g., for a procedure and for a function). Also, for things like
packages, procedures and functions, there is the spec (i.e., the
interface) and the body (i.e., the implementation). To make it
easier to pick the definition you want, Ada tag name have suffixes
easier to pick the definition you want, Ada tag names have suffixes
indicating the type of entity:
@table @samp

View file

@ -68,6 +68,20 @@ directory specified by the shortcut. To control where that is,
right-click on the shortcut, select ``Properties'', and in the
``Shortcut'' tab modify the ``Start in'' field to your liking.
@item
@cindex pinning Emacs to Windows task bar
From a task-bar shortcut icon, by clicking once the left mouse button.
Windows versions since Vista allow you to create such shortcuts by
@dfn{pinning} the icon of a running program that appears in the task
bar. You can do that with Emacs, but afterwards you will have to
change the properties of the pinned shortcut to run
@file{runemacs.exe}, @emph{not} of @file{emacs.exe}. You can also pin
Emacs to the task bar by clicking the right mouse button on its icon
in the Start menu, then selecting @samp{Pin to taskbar}. Once again,
be sure to specify @file{runemacs.exe} as the program to run. You can
control where Emacs starts by setting the ``Start in'' field of the
shortcut's Properties.
@item
From the Command Prompt window, by typing @kbd{emacs @key{RET}} at the
prompt. The Command Prompt window where you did that will not be
@ -80,6 +94,12 @@ the prompt. The Command Prompt window where you did that will be
immediately available for invoking other commands. In this case,
Emacs will start in the current directory of the Windows shell.
@item
From the Windows @code{Run} dialog (normally reached by clicking the
@code{Start} button). Typing @kbd{runemacs @key{RET}} into the dialog
will start Emacs in the parent directory of the Windows equivalent of
your user's @code{HOME} directory, see @ref{Windows HOME}.
@item
@cindex invoking Emacs from Windows Explorer
@pindex emacsclient.exe
@ -204,8 +224,8 @@ designates directory @file{\foo} on drive Z as an untranslated file
system.
Most often you would use @code{add-untranslated-filesystem} in your
@file{.emacs} file, or in @file{site-start.el} so that all the users at
your site get the benefit of it.
@file{.emacs} or @file{init.el} init file, or in @file{site-start.el}
so that all the users at your site get the benefit of it.
@findex remove-untranslated-filesystem
To countermand the effect of @code{add-untranslated-filesystem}, use
@ -215,8 +235,8 @@ previously with @code{add-untranslated-filesystem}.
Designating a file system as untranslated does not affect character
set conversion, only end-of-line conversion. Essentially, it directs
Emacs to create new files with the Unix-style convention of using
newline at the end of a line. @xref{Coding Systems}.
Emacs to default to creating new files with the Unix-style convention
of using newline at the end of a line. @xref{Coding Systems}.
@node Windows Files
@section File Names on MS-Windows
@ -229,7 +249,9 @@ backslash, and also knows about drive letters in file names.
@cindex file-name completion, on MS-Windows
On MS-DOS/MS-Windows, file names are case-insensitive, so Emacs by
default ignores letter-case in file names during completion.
default ignores letter-case in file names during completion. To this
end, the default value of @code{read-file-name-completion-ignore-case}
is non-@code{nil} on MS-DOS/MS-Windows. @xref{Completion Options}.
@vindex w32-get-true-file-attributes
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
does support: @option{-A}, @option{-a}, @option{-B}, @option{-C},
@option{-c}, @option{-G}, @option{-g}, @option{-h}, @option{-i}, @option{-n},
@option{-R}, @option{-r}, @option{-S}, @option{-s}, @option{-t}, @option{-U},
@option{-u}, and @option{-X}. The @option{-F} switch is partially
supported (it appends the character that classifies the file, but does
not prevent symlink following).
@option{-u}, @option{v}, and @option{-X}. The @option{-F} switch is
partially supported (it appends the character that classifies the
file, but does not prevent symlink following).
@vindex ls-lisp-use-insert-directory-program
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
will revert to using an external program named by the variable
@code{insert-directory-program}.
@cindex Dired sorting order, on MS-Windows/MS-DOS
The order in which @file{ls-lisp.el} sorts files depends on several
customizable options described below.
@vindex ls-lisp-use-string-collate
The default sorting order follows locale-specific rules derived from
your system locale. You can make the order locale-independent by
customizing @code{ls-lisp-use-string-collate} to a @code{nil} value.
@cindex Unicode Collation Algorithm (UCA), and @file{ls-lisp.el}
@vindex ls-lisp-UCA-like-collation
On GNU and Unix systems, when the locale's encoding is UTF-8, the
collation order follows the Unicode Collation Algorithm
(@acronym{UCA}). To have a similar effect on MS-Windows, the variable
@code{ls-lisp-UCA-like-collation} should have a non-@code{nil} value
(this is the default). The resulting sorting order ignores
punctuation, symbol characters, and whitespace characters, so
@file{.foobar}, @file{foobar} and @w{@file{foo bar}} will appear
together rather than far apart.
@vindex ls-lisp-ignore-case
By default, @file{ls-lisp.el} uses a case-sensitive sort order for
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
@item MS-Windows
Emulate MS-Windows. Sets @code{ls-lisp-ignore-case} and
@code{ls-lisp-dirs-first} to @code{t}, and @code{ls-lisp-verbosity} to
@code{(links)} on Windows NT/2K/XP/2K3 and to @code{nil} on Windows 9X@.
Note that the default emulation is @emph{not} @code{MS-Windows}, even
on Windows, since many users of Emacs on those platforms prefer the
@sc{gnu} defaults.
@code{nil} on Windows 9X and to @code{t} on modern versions of
Windows. Note that the default emulation is @emph{not}
@code{MS-Windows}, even on Windows, since many users of Emacs on those
platforms prefer the @sc{gnu} defaults.
@end table
@noindent
@ -421,6 +463,8 @@ formats file time stamps according to what
@code{ls-lisp-format-time-list} specifies. The @samp{%}-sequences in
@code{ls-lisp-format-time-list} produce locale-dependent month and day
names, which might cause misalignment of columns in Dired display.
The default value of @code{ls-lisp-use-localized-time-format} is
@code{nil}.
@end ifnottex
@node Windows HOME
@ -453,7 +497,8 @@ default @code{HOME} location, and will not look in the application
data directory, even if it exists. Note that only @file{.emacs} is
looked for in @file{C:\}; the older name @file{_emacs} (see below) is
not. This use of @file{C:\.emacs} to define @code{HOME} is
deprecated.
deprecated; Emacs will display a warning about its use during
startup.
Whatever the final place is, Emacs sets the internal value of the
@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
~/.emacs @key{RET}} (assuming the file's name is @file{.emacs}).
@cindex init file @file{.emacs} on MS-Windows
The home directory is where your init file is stored. It can have
any name mentioned in @ref{Init File}.
Your init file can have any name mentioned in @ref{Init File}.
@cindex @file{_emacs} init file, MS-Windows
Because MS-DOS does not allow file names with leading dots, and
older Windows systems made it hard to create files with such names,
the Windows port of Emacs supports an init file name @file{_emacs}, if
such a file exists in the home directory and @file{.emacs} does not.
This name is considered obsolete.
This name is considered obsolete, so Emacs will display a warning if
it is used.
@node Windows Keyboard
@section Keyboard Usage on MS-Windows
@ -491,7 +536,9 @@ Emacs key bindings. (These Emacs key bindings were established years
before Microsoft was founded.) Examples of conflicts include
@kbd{C-c}, @kbd{C-x}, @kbd{C-z}, @kbd{C-a}, and @kbd{W-@key{SPC}}.
You can redefine some of them with meanings more like the MS-Windows
meanings by enabling CUA Mode (@pxref{CUA Bindings}).
meanings by enabling CUA Mode (@pxref{CUA Bindings}). Another
optional feature which will make Emacs behave like other Windows
applications is Delete Selection mode (@pxref{Using Region}).
@iftex
@inforef{Windows Keyboard, , emacs}, for information about additional
@ -690,16 +737,14 @@ is non-@code{nil}, the roles of these two buttons are reversed.
@cindex subprocesses on MS-Windows
@cindex DOS applications, running from Emacs
Emacs compiled as a native Windows application (as opposed to the DOS
version) includes full support for asynchronous subprocesses.
In the Windows version, synchronous and asynchronous subprocesses work
fine on both
Windows 9X/ME and Windows NT/2K/XP/Vista/7/8/10 as long as you run
only 32-bit or 64-bit Windows
applications. However, when you run a DOS application in a subprocess,
you may encounter problems or be unable to run the application at all;
and if you run two DOS applications at the same time in two
subprocesses, you may have to reboot your system.
Emacs compiled as a native Windows application (as opposed to the
DOS version) includes full support for asynchronous subprocesses. In
the Windows version, synchronous and asynchronous subprocesses work
fine on all versions of MS-Windows, as long as you run only 32-bit or
64-bit Windows applications. However, when you run a DOS application
in a subprocess, you may encounter problems or be unable to run the
application at all; and if you run two DOS applications at the same
time in two subprocesses, you may have to reboot your system.
Since the standard command interpreter (and most command line utilities)
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.
@cindex kill DOS application
If you can go to the first subprocess, and tell it to exit, the second
subprocess should continue normally. However, if the second subprocess
is synchronous, Emacs itself will be hung until the first subprocess
finishes. If it will not finish without user input, then you have no
choice but to reboot if you are running on Windows 9X@. If you are
running on Windows NT/2K/XP, you can use a process viewer application to kill
the appropriate instance of NTVDM instead (this will terminate both DOS
subprocesses).
subprocess should continue normally. However, if the second
subprocess is synchronous, Emacs itself will be hung until the first
subprocess finishes. If it will not finish without user input, then
you have no choice but to reboot if you are running on Windows 9X@.
If you are running on Windows NT and later, you can use a process
viewer application to kill the appropriate instance of NTVDM instead
(this will terminate both DOS subprocesses).
If you have to reboot Windows 9X in this situation, do not use the
@code{Shutdown} command on the @code{Start} menu; that usually hangs the
@ -1033,7 +1078,8 @@ the system default antialiasing.
@node Windows Misc
@section Miscellaneous Windows-specific features
This section describes miscellaneous Windows-specific features.
This section describes Windows-specific features that don't fit
anywhere else.
@vindex w32-use-visible-system-caret
@cindex screen reader software, MS-Windows

View file

@ -73,23 +73,27 @@ mode for the C programming language is @code{c-mode}.
@cindex Python mode
@cindex Ruby mode
@cindex Simula mode
@cindex Verilog mode
@cindex VHDL mode
@cindex M4 mode
@cindex Shell-script mode
@cindex Scheme mode
@cindex OPascal mode
@cindex PostScript mode
@cindex Conf mode
@cindex DNS mode
@cindex Javascript mode
@cindex Awk mode
Emacs has programming language modes for Lisp, Scheme, the
Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++,
Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Javascript, Metafont
(@TeX{}'s companion for font creation), Modula2, Object Pascal, Objective-C,
Octave, Pascal, Perl, Pike, PostScript, Prolog, Python, Ruby, Simula, Tcl,
and VHDL@. An alternative mode for Perl is called CPerl mode. Modes are
also available for the scripting languages of the common GNU and Unix
shells, and MS-DOS/MS-Windows @samp{BAT} files, and for makefiles,
DNS master files, and various sorts of configuration files.
Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Javascript, M4, Makefiles,
Metafont (@TeX{}'s companion for font creation), Modula2, Object
Pascal, Objective-C, Octave, Pascal, Perl, Pike, PostScript, Prolog,
Python, Ruby, Simula, SQL, Tcl, Verilog, and VHDL@. An alternative
mode for Perl is called CPerl mode. Modes are also available for the
scripting languages of the common GNU and Unix shells, and
MS-DOS/MS-Windows @samp{BAT} files, and for makefiles, DNS master
files, and various sorts of configuration files.
Ideally, Emacs should have a major mode for each programming
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.
@findex backward-delete-char-untabify
In most programming languages, indentation should vary from line to
line to illustrate the structure of the program. Therefore, in most
programming language modes, typing @key{TAB} updates the indentation
of the current line (@pxref{Program Indent}). Furthermore, @key{DEL}
is usually bound to @code{backward-delete-char-untabify}, which
deletes backward treating each tab as if it were the equivalent number
of spaces, so that you can delete one column of indentation without
worrying whether the whitespace consists of spaces or tabs.
programming language modes, typing @kbd{@key{TAB}} updates the
indentation of the current line (@pxref{Program Indent}).
Furthermore, @kbd{@key{DEL}} is usually bound to
@code{backward-delete-char-untabify}, which deletes backward treating
each tab as if it were the equivalent number of spaces, so that you
can delete one column of indentation without worrying whether the
whitespace consists of spaces or tabs.
@cindex mode hook, and major modes
@vindex c-mode-hook
@ -122,13 +127,14 @@ For instance, entering C mode runs the hooks @code{prog-mode-hook} and
@ifnottex
Separate manuals are available for the modes for Ada (@pxref{Top,,
Ada Mode, ada-mode, Ada Mode}), C/C++/Objective C/Java/Corba
IDL/Pike/AWK (@pxref{Top, , CC Mode, ccmode, CC Mode}), and IDLWAVE
(@pxref{Top,, IDLWAVE, idlwave, IDLWAVE User Manual}).
IDL/Pike/AWK (@pxref{Top, , CC Mode, ccmode, CC Mode}), Octave, VHDL,
and IDLWAVE (@pxref{Top,, IDLWAVE, idlwave, IDLWAVE User Manual}).
@end ifnottex
@iftex
The Emacs distribution contains Info manuals for the major modes for
Ada, C/C++/Objective C/Java/Corba IDL/Pike/AWK, and IDLWAVE@. For
Fortran mode, @pxref{Fortran,,, emacs-xtra, Specialized Emacs Features}.
Ada, C/C++/Objective C/Java/Corba IDL/Pike/AWK, Octave, VHDL, and
IDLWAVE@. For Fortran mode, @pxref{Fortran,,, emacs-xtra, Specialized
Emacs Features}.
@end iftex
@node Defuns
@ -328,6 +334,7 @@ language modes.
@cindex pretty-printer
Emacs also provides a Lisp pretty-printer in the @code{pp} package,
which reformats Lisp objects with nice-looking indentation.
@xref{Output Functions, pp,, elisp, The Emacs Lisp Reference Manual}.
@node Basic Indent
@subsection Basic Program Indentation Commands
@ -342,16 +349,18 @@ Insert a newline, then adjust indentation of following line
@kindex TAB @r{(programming modes)}
@findex indent-line-function
The basic indentation command is @key{TAB}
The basic indentation command is @kbd{@key{TAB}}
(@code{indent-for-tab-command}), which was documented in
@ref{Indentation}. In programming language modes, @key{TAB} indents
the current line, based on the indentation and syntactic content of
the preceding lines; if the region is active, @key{TAB} indents each
line within the region, not just the current line.
@ref{Indentation}. In programming language modes, @kbd{@key{TAB}}
indents the current line, based on the indentation and syntactic
content of the preceding lines; if the region is active,
@kbd{@key{TAB}} indents each line within the region, not just the
current line.
The command @key{RET} (@code{newline}), which was documented in
@ref{Inserting Text}, does the same as @kbd{C-j} followed by
@key{TAB}: it inserts a new line, then adjusts the line's indentation.
The command @kbd{@key{RET}} (@code{newline}), which was documented
in @ref{Inserting Text}, does the same as @kbd{C-j} followed by
@kbd{@key{TAB}}: it inserts a new line, then adjusts the line's
indentation.
When indenting a line that starts within a parenthetical grouping,
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
aesthetic purposes), the lines below will follow it.
The indentation commands for most programming language modes assume
that a open-parenthesis, open-brace or other opening delimiter at the
that an open-parenthesis, open-brace or other opening delimiter at the
left margin is the start of a function. If the code you are editing
violates this assumption---even if the delimiters occur in strings or
comments---you must set @code{open-paren-in-column-0-is-defun-start}
@ -372,7 +381,7 @@ Paren}.
Sometimes, you may want to reindent several lines of code at a time.
One way to do this is to use the mark; when the mark is active and the
region is non-empty, @key{TAB} indents every line in the region.
region is non-empty, @kbd{@key{TAB}} indents every line in the region.
Alternatively, the command @kbd{C-M-\} (@code{indent-region}) indents
every line in the region, whether or not the mark is active
(@pxref{Indentation Commands}).
@ -400,19 +409,19 @@ grouping, without affecting its overall indentation (i.e., the
indentation of the line where the grouping starts). The function that
@kbd{C-M-q} runs depends on the major mode; it is
@code{indent-pp-sexp} in Lisp mode, @code{c-indent-exp} in C mode,
etc. To correct the overall indentation as well, type @key{TAB}
etc. To correct the overall indentation as well, type @kbd{@key{TAB}}
first.
@kindex C-u TAB
If you like the relative indentation within a grouping but not the
indentation of its first line, move point to that first line and type
@kbd{C-u @key{TAB}}. In Lisp, C, and some other major modes,
@key{TAB} with a numeric argument reindents the current line as usual,
then reindents by the same amount all the lines in the parenthetical
grouping starting on the current line. It is clever, though, and does
not alter lines that start inside strings. Neither does it alter C
preprocessor lines when in C mode, but it does reindent any
continuation lines that may be attached to them.
@kbd{@key{TAB}} with a numeric argument reindents the current line as
usual, then reindents by the same amount all the lines in the
parenthetical grouping starting on the current line. It is clever,
though, and does not alter lines that start inside strings. Neither
does it alter C preprocessor lines when in C mode, but it does
reindent any continuation lines that may be attached to them.
@findex indent-code-rigidly
The command @kbd{M-x indent-code-rigidly} rigidly shifts all the
@ -454,7 +463,7 @@ expression.
You can override the standard pattern in various ways for individual
functions, according to the @code{lisp-indent-function} property of
the function name. This is normally done for macro definitions, using
the @code{declare} construct. @xref{Defining Macros,,, elisp, the
the @code{declare} construct. @xref{Defining Macros,,, elisp, The
Emacs Lisp Reference Manual}.
@node C Indent
@ -462,7 +471,7 @@ Emacs Lisp Reference Manual}.
Here are special features for indentation in C mode and related modes:
@table @code
@table @kbd
@item C-c C-q
@kindex C-c C-q @r{(C mode)}
@findex c-indent-defun
@ -884,9 +893,9 @@ also do spell checking on comments with Flyspell Prog mode
comments. For example, in Lisp code, comments starting with two
semicolons are indented as if they were lines of code, while those
starting with three semicolons are supposed to be aligned to the left
margin and are often used for sectioning purposes. Emacs understand
these conventions; for instance, typing @key{TAB} on a comment line
will indent the comment to the appropriate position.
margin and are often used for sectioning purposes. Emacs understands
these conventions; for instance, typing @kbd{@key{TAB}} on a comment
line will indent the comment to the appropriate position.
@example
;; This function is just an example.
@ -915,14 +924,16 @@ will indent the comment to the appropriate position.
Insert or realign comment on current line; if the region is active,
comment or uncomment the region instead (@code{comment-dwim}).
@item @kbd{C-x C-;}
Comment or uncomment the current line (@code{comment-line}).
Comment or uncomment the current line (@code{comment-line}). If the
region is active, comment or uncomment the lines in the region
instead.
@item @kbd{C-u M-;}
Kill comment on current line (@code{comment-kill}).
@item @kbd{C-x ;}
Set comment column (@code{comment-set-column}).
@item @kbd{C-M-j}
@itemx @kbd{M-j}
Like @key{RET} followed by inserting and aligning a comment
Like @kbd{@key{RET}} followed by inserting and aligning a comment
(@code{comment-indent-new-line}). @xref{Multi-Line Comments}.
@item @kbd{M-x comment-region}
@itemx @kbd{C-c C-c} (in C-like modes)
@ -952,8 +963,8 @@ negative argument @var{-n} removes @var{n} delimiters.
current line, @kbd{M-;} adds a new comment to the current line. If
the line is blank (i.e., empty or containing only whitespace
characters), the comment is indented to the same position where
@key{TAB} would indent to (@pxref{Basic Indent}). If the line is
non-blank, the comment is placed after the last non-whitespace
@kbd{@key{TAB}} would indent to (@pxref{Basic Indent}). If the line
is non-blank, the comment is placed after the last non-whitespace
character on the line; normally, Emacs tries putting it at the column
specified by the variable @code{comment-column} (@pxref{Options for
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,
this command is bound to @kbd{C-c C-c}. The command @kbd{M-x
uncomment-region} uncomments each line in the region; a numeric prefix
argument specifies the number of comment delimiters to remove
(negative arguments specify the number of comment to delimiters to
add).
(negative arguments specify the number of comment delimiters to add).
For C-like modes, you can configure the exact effect of @kbd{M-;} by
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
various major modes. The function is called with no arguments, but with
point at the beginning of the comment, or at the end of a line if a new
comment is to be inserted. It should return the column in which the
comment ought to start. For example, the default hook function bases
its decision on how many comment characters begin an existing comment.
comment ought to start. For example, the default function bases its
decision on how many comment characters begin an existing comment.
Emacs also tries to align comments on adjacent lines. To override
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
the C Library Manual. The command only works if the appropriate
manual's Info files are installed.
The major mode determines where to look for documentation for the
symbol---which Info files to look in, and which indices to search.
You can also use @kbd{M-x info-lookup-file} to look for documentation
for a file name.
Emacs determines where to look for documentation for the
symbol---which Info files to look in, and which indices to
search---based on the major mode. You can also use @kbd{M-x
info-lookup-file} to look for documentation for a file name.
If you use @kbd{C-h S} in a major mode that does not support it,
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
pops up a window with possible candidates asking you to choose one of
them.
Note that @kbd{M-x woman} doesn't yet support the latest features of
modern man pages, so we recommend using @kbd{M-x man} if that is
available on your system.
For more information about setting up and using @kbd{M-x woman}, see
@ifinfo
@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}).
@item C-c @@ C-M-s
@itemx C-c @@ C-a
Show all blocks in the buffer (@code{hs-show-all}).
@item C-c @@ C-l
@item C-u @var{n} C-c @@ C-l
Hide all blocks @var{n} levels below this block
(@code{hs-hide-level}).
@end table
@ -1415,8 +1429,8 @@ the menu item named @samp{Source Code Parsers (Semantic)} in the
When Semantic mode is enabled, Emacs automatically attempts to
parse each file you visit. Currently, Semantic understands C, C++,
Scheme, Javascript, Java, HTML, and Make. Within each parsed buffer,
the following commands are available:
HTML, Java, Javascript, Make, Python, Scheme, SRecode, and Texinfo.
Within each parsed buffer, the following commands are available:
@table @kbd
@item C-c , j
@ -1433,10 +1447,10 @@ parsed, and move point there (@code{semantic-complete-jump}).
@kindex C-c , SPC
Display a list of possible completions for the symbol at point
(@code{semantic-complete-analyze-inline}). This also activates a set
of special key bindings for choosing a completion: @key{RET} accepts
the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible
completions, @key{TAB} completes as far as possible and then cycles,
and @kbd{C-g} or any other key aborts completion.
of special key bindings for choosing a completion: @kbd{@key{RET}}
accepts the current completion, @kbd{M-n} and @kbd{M-p} cycle through
possible completions, @kbd{@key{TAB}} completes as far as possible and
then cycles, and @kbd{C-g} or any other key aborts completion.
@item C-c , l
@kindex C-c , l
@ -1460,7 +1474,7 @@ is idle.
programs are useful for that nonetheless.
The Emacs commands that operate on words, sentences and paragraphs
are useful for editing code. Most symbols names contain words
are useful for editing code. Most symbol names contain words
(@pxref{Words}), while sentences can be found in strings and comments
(@pxref{Sentences}). As for paragraphs, they are defined in most
programming language modes to begin and end at blank lines
@ -1635,8 +1649,9 @@ electric characters are @kbd{@{}, @kbd{@}}, @kbd{:}, @kbd{#},
You might find electric indentation inconvenient if you are editing
chaotically indented code. If you are new to CC Mode, you might find
it disconcerting. You can toggle electric action with the command
@kbd{C-c C-l}; when it is enabled, @samp{/l} appears in the mode line
after the mode name:
@kbd{C-c C-l}; when it is enabled, @samp{/@var{c}l} appears in the
mode line after the mode name (where @var{c}, if present, is @samp{*}
or @samp{/}):
@table @kbd
@item C-c C-l
@ -1649,8 +1664,8 @@ negative one it disables it.
Electric characters insert newlines only when, in addition to the
electric state, the @dfn{auto-newline} feature is enabled (indicated
by @samp{/la} in the mode line after the mode name). You can turn
this feature on or off with the command @kbd{C-c C-a}:
by @samp{/@var{c}la} in the mode line after the mode name). You can
turn this feature on or off with the command @kbd{C-c C-a}:
@table @kbd
@item C-c C-a
@ -1694,10 +1709,11 @@ Delete the entire block of whitespace after point (@code{c-hungry-delete-forward
@end table
As an alternative to the above commands, you can enable @dfn{hungry
delete mode}. When this feature is enabled (indicated by @samp{/h} in
the mode line after the mode name), a single @key{DEL} deletes all
preceding whitespace, not just one space, and a single @kbd{C-d}
(but @emph{not} plain @key{Delete}) deletes all following whitespace.
delete mode}. When this feature is enabled (indicated by @samp{h}
after a @samp{/} in the mode line after the mode name), a single
@kbd{@key{DEL}} deletes all preceding whitespace, not just one space,
and a single @kbd{C-d} (but @emph{not} plain @kbd{@key{Delete}})
deletes all following whitespace.
@table @kbd
@item M-x c-toggle-hungry-state
@ -1720,14 +1736,14 @@ hungry-delete feature is enabled.
@findex c-context-line-break
This command inserts a line break and indents the new line in a manner
appropriate to the context. In normal code, it does the work of
@key{RET} (@code{newline}), in a C preprocessor line it additionally
@kbd{@key{RET}} (@code{newline}), in a C preprocessor line it additionally
inserts a @samp{\} at the line break, and within comments it's like
@kbd{M-j} (@code{c-indent-new-comment-line}).
@code{c-context-line-break} isn't bound to a key by default, but it
needs a binding to be useful. The following code will bind it to
@key{RET}. We use @code{c-initialization-hook} here to make sure
the keymap is loaded before we try to change it.
@kbd{@key{RET}}. We use @code{c-initialization-hook} here to make
sure the keymap is loaded before we try to change it.
@example
(defun my-bind-clb ()
@ -1852,11 +1868,14 @@ defines these commands:
@item @key{TAB}
@code{tab-to-tab-stop}.
@c FIXME: Maybe this should be consistent with other programming modes.
@item C-j
Insert a newline and then indent using @code{tab-to-tab-stop}.
@item :
Insert a colon and then remove the indentation from before the label
preceding colon. Then do @code{tab-to-tab-stop}.
@item ;
Insert or align a comment.
@end table

View file

@ -18,7 +18,7 @@ or a number (such as @samp{1}); case matters, so register @samp{a} is
not the same as register @samp{A}. You can also set a register in
non-alphanumeric characters, for instance @samp{*} or @samp{C-d}.
Note, it's not possible to set a register in @samp{C-g} or @samp{ESC},
because these keys are reserved to terminate interactive commands.
because these keys are reserved for quitting (@pxref{Quitting}).
@findex view-register
A register can store a position, a piece of text, a rectangle, a

View file

@ -1,3 +1,4 @@
@c -*- coding: utf-8 -*-
@c This is part of the Emacs manual.
@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2018 Free Software
@c Foundation, Inc.
@ -902,7 +903,8 @@ starting and ending characters with a @samp{-} between them. Thus,
@samp{[a-z]} matches any lower-case @acronym{ASCII} letter. Ranges may be
intermixed freely with individual characters, as in @samp{[a-z$%.]},
which matches any lower-case @acronym{ASCII} letter or @samp{$}, @samp{%} or
period.
period. As another example, @samp{[α-ωί]} matches all lower-case
Greek letters.
You can also include certain special @dfn{character classes} in a
character set. A @samp{[:} and balancing @samp{:]} enclose a

View file

@ -1694,7 +1694,7 @@ when you type the corresponding one.
@node TeX Print
@subsection @TeX{} Printing Commands
You can invoke @TeX{} as an subprocess of Emacs, supplying either
You can invoke @TeX{} as a subprocess of Emacs, supplying either
the entire contents of the buffer or just part of it (e.g., one
chapter of a larger document).
@ -1746,7 +1746,7 @@ C-p} (@code{tex-print}) to print a hardcopy of the output file.
output of @TeX{} also goes in this directory. To run @TeX{} in a
different directory, change the variable @code{tex-directory} to
the desired directory. If your environment variable @env{TEXINPUTS}
contains relative names, or if your files contains
contains relative names, or if your files contain
@samp{\input} commands with relative file names, then
@code{tex-directory} @emph{must} be @code{"."} or you will get the
wrong results. Otherwise, it is safe to specify some other directory,
@ -2017,7 +2017,7 @@ used as a cheap preview (@code{sgml-tags-invisible}).
@findex nxml-mode
@cindex XML schema
The major mode for editing XML documents is called nXML mode. This
is a powerful major mode that can recognize many existing XML schema
is a powerful major mode that can recognize many existing XML schemas
and use them to provide completion of XML elements via
@kbd{M-@key{TAB}}, as well as on-the-fly XML
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.
@end table
@noindent
These command are also available via the Text Properties menu.
These commands are also available via the Text Properties menu.
A self-inserting character normally inherits the face properties
(and most other text properties) from the preceding character in the

View file

@ -465,7 +465,7 @@ bottom of the selected frame, regardless of the number of windows
already shown on that frame.
If you prefer Emacs to display a temporary buffer in a different
fashion, we recommend to customize the variable
fashion, we recommend customizing the variable
@code{display-buffer-alist} (@pxref{Choosing Window,,Choosing a Window
for Display, elisp, The Emacs Lisp Reference Manual}). For example,
to display @file{*Completions*} by splitting a window as described in

View file

@ -6966,14 +6966,16 @@ means to use the default for that slot, as stated below.
@table @asis
@item 0
The glyph for the end of a truncated screen line (the default for this
is @samp{$}). @xref{Glyphs}. On graphical terminals, Emacs uses
arrows in the fringes to indicate truncation, so the display table has
no effect.
is @samp{$}). @xref{Glyphs}. On graphical terminals, Emacs by
default uses arrows in the fringes to indicate truncation, so the
display table has no effect, unless you disable the fringes
(@pxref{Fringes,, Window Fringes, emacs, the Gnu Emacs Manual}).
@item 1
The glyph for the end of a continued line (the default is @samp{\}).
On graphical terminals, Emacs uses curved arrows in the fringes to
indicate continuation, so the display table has no effect.
On graphical terminals, Emacs by default uses curved arrows in the
fringes to indicate continuation, so the display table has no effect,
unless you disable the fringes.
@item 2
The glyph for indicating a character displayed as an octal character
@ -6988,9 +6990,12 @@ default is @samp{...}). @xref{Selective Display}.
@item 5
The glyph used to draw the border between side-by-side windows (the
default is @samp{|}). @xref{Splitting Windows}. This takes effect only
when there are no scroll bars; if scroll bars are supported and in use,
a scroll bar separates the two windows.
default is @samp{|}). @xref{Splitting Windows}. This currently has
effect only on text terminals; on graphical terminals, if vertical
scroll bars are supported and in use, a scroll bar separates the two
windows, and if there are no vertical scroll bars and no dividers
(@pxref{Window Dividers}), Emacs uses a thin line to indicate the
border.
@end table
For example, here is how to construct a display table that mimics

View file

@ -1,19 +1,17 @@
\input texinfo @c -*- mode: texinfo; coding: utf-8 -*-
@setfilename ../../info/tramp.info
@c %**start of header
@settitle TRAMP User Manual
@include docstyle.texi
@c In the Tramp repository, the version number is auto-frobbed from
@c configure.ac, so you should edit that file and run
@c "autoconf && ./configure" to change the version number.
@include trampver.texi
@settitle @value{tramp} @value{trampver} User Manual
@c %**end of header
@c This is *so* much nicer :)
@footnotestyle end
@c In the Tramp repository, the version number is auto-frobbed from
@c configure.ac, so you should edit that file and run
@c "autoconf && ./configure" to change the version number.
@include trampver.texi
@c Macro for formatting a file name according to the respective
@c syntax. Macro arguments should not have any leading or trailing
@c whitespace. Not very elegant, but I don't know it better.
@ -48,7 +46,7 @@ copy and modify this GNU manual.''
@end direntry
@titlepage
@title @value{tramp} version @value{trampver} User Manual
@title @value{tramp} @value{trampver} User Manual
@author by Daniel Pittman
@author based on documentation by Kai Großjohann
@end titlepage
@ -57,9 +55,9 @@ copy and modify this GNU manual.''
@node Top, Overview, (dir), (dir)
@top @value{tramp} version @value{trampver} User Manual
@top @value{tramp} @value{trampver} User Manual
This file documents @value{tramp} version @value{trampver}, a remote file
This file documents @value{tramp} @value{trampver}, a remote file
editing package for Emacs.
@value{tramp} stands for ``Transparent Remote (file) Access, Multiple
@ -320,7 +318,7 @@ behind the scenes when you open a file with @value{tramp}.
@chapter Obtaining @value{tramp}
@cindex obtaining @value{tramp}
@value{tramp} is included as part of Emacs (since Emacs version 22.1).
@value{tramp} is included as part of Emacs (since Emacs 22.1).
@value{tramp} is also freely packaged for download on the Internet at
@uref{https://ftp.gnu.org/gnu/tramp/}.
@ -1462,8 +1460,8 @@ server.
Both ssh and PuTTY support such proxy settings, using an HTTP tunnel
via the @command{CONNECT} command (conforming to RFC 2616, 2817
specifications). Proxy servers using HTTP version 1.1 or later
protocol support this command.
specifications). Proxy servers using HTTP 1.1 or later protocol
support this command.
@subsection Tunneling with ssh
@ -1501,6 +1499,7 @@ proxy server @samp{proxy.your.domain} on port 3128.
@cindex using non-standard methods
@cindex create your own methods
@vindex tramp-methods
The @code{tramp-methods} variable currently has an exhaustive list of
predefined methods. Any part of this list can be modified with more
suitable settings. Refer to the Lisp documentation of that variable,
@ -1511,8 +1510,8 @@ accessible with @kbd{C-h v tramp-methods @key{RET}}.
@section Selecting config files for user/host name completion
@cindex customizing completion
@cindex selecting config files
@vindex tramp-completion-function-alist
@vindex tramp-completion-function-alist
@code{tramp-completion-function-alist} uses predefined files for user
and host name completion (@pxref{File name completion}). For each
method, it keeps a set of configuration files and a function that can
@ -1650,8 +1649,8 @@ the need.
@anchor{Using an authentication file}
@subsection Using an authentication file
@vindex auth-sources
@vindex auth-sources
The package @file{auth-source.el}, originally developed for No Gnus,
reads passwords from different sources, @xref{Help for users, ,
auth-source, auth}. The default authentication file is
@ -1697,7 +1696,6 @@ Set @code{password-cache} to @code{nil} to disable password caching.
@node Connection caching
@section Reusing connection related information
@cindex caching
@vindex tramp-persistency-file-name
@vindex tramp-persistency-file-name
For faster initial connection times, @value{tramp} stores previous
@ -1721,11 +1719,11 @@ connection related information for that host and creates a new entry.
@node Predefined connection information
@section Setting own connection related information
@vindex tramp-connection-properties
For more precise customization, parameters specified by
@code{tramp-methods} can be overwritten manually.
@vindex tramp-connection-properties
Set @option{tramp-connection-properties} to manually override
@code{tramp-methods}. Properties in this list are in the form
@code{(@var{regexp} @var{property} @var{value})}. @var{regexp}
@ -1900,7 +1898,6 @@ prompts, for which @value{tramp} uses @option{tramp-wrong-passwd-regexp}.
@item @command{tset} and other questions
@cindex unix command @command{tset}
@cindex @command{tset} unix command
@vindex tramp-terminal-type
@vindex tramp-terminal-type
To suppress inappropriate prompts for terminal type, @value{tramp}
@ -1981,9 +1978,9 @@ shell-specific config files. For example, bash can use
@value{tramp} redefines the remote shell prompt internally for robust
parsing. This redefinition affects the looks of a prompt in an
interactive remote shell through commands, such as @kbd{M-x
shell}. Such prompts, however, can be reset to something more readable
and recognizable using these @value{tramp} variables.
interactive remote shell through commands, such as @kbd{M-x shell
@key{RET}}. Such prompts, however, can be reset to something more
readable and recognizable using these @value{tramp} variables.
@value{tramp} sets the @env{INSIDE_EMACS} variable in the startup
script file @file{~/.emacs_SHELLNAME}.
@ -2096,8 +2093,8 @@ directory for temporary files:
@item
Open a remote connection with the command @kbd{C-x C-f
@trampfn{ssh,192.168.0.26#2222,}}, where @command{sshd} is listening
on port @samp{2222}.
@trampfn{ssh,192.168.0.26#2222,} @key{RET}}, where @command{sshd} is
listening on port @samp{2222}.
To add a corresponding entry to the @file{~/.ssh/config} file
(recommended), use this:
@ -2124,7 +2121,7 @@ the previous example, fix the connection properties as follows:
@noindent
Open a remote connection with a more concise command @kbd{C-x C-f
@trampfn{ssh,android,}}.
@trampfn{ssh,android,} @key{RET}}.
@end itemize
@ -2132,8 +2129,8 @@ Open a remote connection with a more concise command @kbd{C-x C-f
@section Auto-save and Backup configuration
@cindex auto-save
@cindex backup
@vindex backup-directory-alist
@vindex backup-directory-alist
To avoid @value{tramp} from saving backup files owned by @samp{root}
to locations accessible to others, default backup settings in
@option{backup-directory-alist} have to be altered.
@ -2176,7 +2173,6 @@ Disabling backups can be targeted to just the @option{su} and
@end group
@end lisp
@vindex backup-directory-alist
@vindex tramp-backup-directory-alist
Another option is to create better backup file naming with user and
host names prefixed to the file name. For example, transforming
@ -2237,8 +2233,9 @@ This section is incomplete. Please share your solutions.
@cindex @option{sshx} method with cygwin
Cygwin's @command{ssh} works only with a Cygwin version of Emacs. To
check for compatibility: type @kbd{M-x eshell}, and start @kbd{ssh
test.host}. Incompatibilities trigger this message:
check for compatibility: type @kbd{M-x eshell @key{RET}}, and start
@kbd{ssh test.host @key{RET}}. Incompatibilities trigger this
message:
@example
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
proxy @samp{bird@@bastion} to a remote file on @samp{you@@remotehost}:
@example
@c @kbd{C-x C-f @trampfn{ssh@value{postfixhop}bird@@bastion|ssh,you,remotehost,/path}}
@kbd{C-x C-f @value{prefix}ssh@value{postfixhop}bird@@bastion|ssh@value{postfixhop}you@@remotehost@value{postfix}/path}
@c @kbd{C-x C-f @trampfn{ssh@value{postfixhop}bird@@bastion|ssh,you,remotehost,/path} @key{RET}}
@kbd{C-x C-f @value{prefix}ssh@value{postfixhop}bird@@bastion|ssh@value{postfixhop}you@@remotehost@value{postfix}/path @key{RET}}
@end example
Proxies can take patterns @code{%h} or @code{%u}.
@ -2671,9 +2668,9 @@ this. You could overwrite this behavior by evaluating
@end lisp
In addition to @option{tramp-remote-process-environment}, you can set
environment variables for invidivual remote process calls by
let-binding @code{process-environment}. @value{tramp} will apply any
entries which are not present in the global default value of
environment variables for individual remote process calls by
let-binding @code{process-environment}. @value{tramp} applies any
entries not present in the global default value of
@code{process-environment} (overriding
@option{tramp-remote-process-environment} settings, if they conflict).
For example:
@ -2778,14 +2775,15 @@ host. Example:
@example
@group
@kbd{C-x C-f @trampfn{sudo,,} @key{RET}}
@kbd{M-! tail -f /var/log/syslog.log & @key{RET}}
@kbd{M-& tail -f /var/log/syslog.log @key{RET}}
@end group
@end example
@command{tail} command outputs continuously to the local buffer,
@file{*Async Shell Command*}
@kbd{M-x auto-revert-tail-mode} runs similarly showing continuous output.
@kbd{M-x auto-revert-tail-mode @key{RET}} runs similarly showing
continuous output.
@subsection Running @code{eshell} on a remote host
@ -2794,8 +2792,8 @@ host. Example:
@value{tramp} is integrated into @file{eshell.el}, which enables
interactive eshell sessions on remote hosts at the command prompt.
You must add the module @code{em-tramp} to @code{eshell-modules-list}.
Here's a sample interaction after opening @kbd{M-x eshell} on a remote
host:
Here's a sample interaction after opening @kbd{M-x eshell @key{RET}}
on a remote host:
@example
@group
@ -2876,7 +2874,7 @@ calls include:
@end group
@end example
Just the local part of a remote file name, such as @kbd{perl -d
Just the local part of a remote file name, such as @command{perl -d
/home/user/myprog.pl}, is not possible.
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
processes triggered from @value{tramp}.
@option{explicit-shell-file-name} and @option{explicit-*-args} have to
be set properly so @kbd{M-x shell} can open a proper remote shell on a
MS Windows host. To open @command{cmd}, set it as follows:
be set properly so @kbd{M-x shell @key{RET}} can open a proper remote
shell on a MS Windows host. To open @command{cmd}, set it as follows:
@lisp
@group
@ -3189,9 +3187,9 @@ Before sending a bug report, run the test suite first @ref{Testing}.
Check if the bug or problem is already addressed in @xref{Frequently
Asked Questions}.
Run @kbd{M-x tramp-bug} to generate a buffer with details of the
system along with the details of the @value{tramp}
installation. Please include these details with the bug report.
Run @kbd{M-x tramp-bug @key{RET}} to generate a buffer with details of
the system along with the details of the @value{tramp} installation.
Please include these details with the bug report.
The bug report must describe in as excruciating detail as possible the
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
expression:
@example
@kbd{M-: (re-search-forward (concat tramp-shell-prompt-pattern "$"))}
@kbd{M-: (re-search-forward (concat tramp-shell-prompt-pattern "$")) @key{RET}}
@end example
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.
How to get a Visual Warning when working with @samp{root} privileges?
Host indication in the mode line?
@cindex @value{tramp} theme
@vindex tramp-theme-face-remapping-alist
Install @file{tramp-theme} from GNU ELPA via Emacs' Package Manager.
Enable it via @kbd{M-x load-theme @key{RET} tramp}. Further
Enable it via @kbd{M-x load-theme @key{RET} tramp @key{RET}}. Further
customization is explained in user option
@option{tramp-theme-face-remapping-alist}.
@ -3597,6 +3596,24 @@ is @file{@trampfn{ssh,news@@news.my.domain,/opt/news/etc}}, then:
@enumerate
@item
Use simplified syntax:
If you always apply the default method (@pxref{Default Method}), you
could use the simplified @value{tramp} syntax (@pxref{Change file name
syntax}):
@lisp
@group
(customize-set-variable 'tramp-default-method "ssh")
(tramp-change-syntax 'simplified)
@end group
@end lisp
The reduced typing: @kbd{C-x C-f
@code{@value{prefix}news@@news.my.domain@value{postfix}/opt/news/etc}
@key{RET}}.
@item
Use default values for method name and user name:
@ -3611,11 +3628,12 @@ You can define default methods and user names for hosts,
@end group
@end lisp
The reduced typing: @kbd{C-x C-f @trampfn{-,news.my.domain,/opt/news/etc}}.
The reduced typing: @kbd{C-x C-f
@trampfn{-,news.my.domain,/opt/news/etc} @key{RET}}.
@strong{Note} that there are some useful shortcuts already. Accessing
your local host as @samp{root} user, is possible just by @kbd{C-x C-f
@trampfn{su,,}}.
@trampfn{su,,} @key{RET}}.
@item
Use configuration options of the access method:
@ -3632,7 +3650,7 @@ Host xy
@end group
@end example
The reduced typing: @kbd{C-x C-f @trampfn{ssh,xy,/opt/news/etc}}.
The reduced typing: @kbd{C-x C-f @trampfn{ssh,xy,/opt/news/etc} @key{RET}}.
Depending on the number of files in the directories, host names
completion can further reduce key strokes: @kbd{C-x C-f
@ -3800,8 +3818,8 @@ Load @file{bbdb} in Emacs:
@end group
@end lisp
Create a BBDB entry with @kbd{M-x bbdb-create-ftp-site}. Then specify
a method and user name where needed. Examples:
Create a BBDB entry with @kbd{M-x bbdb-create-ftp-site @key{RET}}.
Then specify a method and user name where needed. Examples:
@example
@group
@ -3937,8 +3955,8 @@ To disable both @value{tramp} (and Ange FTP), set @code{tramp-mode} to
@end lisp
@item
To unload @value{tramp}, type @kbd{M-x tramp-unload-tramp}. Unloading
@value{tramp} resets Ange FTP plugins also.
To unload @value{tramp}, type @kbd{M-x tramp-unload-tramp @key{RET}}.
Unloading @value{tramp} resets Ange FTP plugins also.
@end itemize
@end itemize

View file

@ -295,6 +295,11 @@ The information is logged to `byte-compile-log-buffer'."
"If true, the byte-compiler reports warnings with `error'."
:group 'bytecomp
:type 'boolean)
;; This needs to be autoloaded because it needs to be available to
;; Emacs before the byte compiler is loaded, otherwise Emacs will not
;; know that this variable is marked as safe until it is too late.
;; (See https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html )
;;;###autoload(put 'byte-compile-error-on-warn 'safe-local-variable 'booleanp)
(defconst byte-compile-warning-types
'(redefine callargs free-vars unresolved

View file

@ -1917,7 +1917,10 @@ before point that's highlighted as misspelled."
;;*---------------------------------------------------------------------*/
(defun flyspell-auto-correct-word ()
"Correct the current word.
This command proposes various successive corrections for the current word."
This command proposes various successive corrections for the
current word. If invoked repeatedly on the same position, it
cycles through the possible corrections of the word at or near
that position."
(interactive)
;; If we are not in the construct where flyspell should be active,
;; invoke the original binding of M-TAB, if that was recorded.

View file

@ -243,8 +243,11 @@ Should be consistent with the Git config value i18n.logOutputEncoding."
(vc-git--run-command-string nil "version")))
(setq vc-git--program-version
(if (and version-string
(string-match "git version \\([0-9.]+\\)$"
version-string))
;; Git for Windows appends ".windows.N" to the
;; numerical version reported by Git.
(string-match
"git version \\([0-9.]+\\)\\(\.windows.[0-9]+\\)?$"
version-string))
(match-string 1 version-string)
"0")))))