Commit e9c7ddc6 authored by Eli Zaretskii's avatar Eli Zaretskii

Improve the MS-Windows appendix of the Emacs manual

* doc/emacs/msdos.texi (Windows Startup): Describe the pinned
shortcuts for starting Emacs.
(Text and Binary): Minor wording changes.
(Windows Files): Mention 'read-file-name-completion-ignore-case'.
(ls in Lisp): Update the list of supported 'ls' switches.
Document 'ls-lisp-use-string-collate' and
'ls-lisp-UCA-like-collation'.
(Windows HOME): Mention warnings displayed at startup when
deprecated locations of HOME and/or deprecated names for init
files are used.
(Windows Keyboard): Mention delete-selection-mode.
parent 6ddb4bd3
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment