@c This is part of the Emacs manual.
@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Microsoft Windows, Manifesto, Mac OS, Top
@appendix Emacs and Microsoft Windows/MS-DOS
@vindex w32-get-true-file-attributes
If the variable @code{w32-get-true-file-attributes} is
non-@code{nil} (the default), Emacs tries to determine the accurate
-link counts for files. This option is only useful on the NT family of
-Windows (2K/XP/2K3), and it considerably slows down Dired and other
-features.
+link counts for files. This option is only useful on NTFS volumes,
+and it considerably slows down Dired and other features, so use it
+only on fast machines.
@node ls in Lisp
@section Emulation of @code{ls} on MS-Windows
are available. Therefore, Emacs on those systems @emph{emulates}
@code{ls} in Lisp, by using the @file{ls-lisp.el} package. While
@file{ls-lisp.el} provides a reasonably full emulation of @code{ls},
-there are some options and features peculiar to that emulation; they
-are described in this section.
+there are some options and features peculiar to that emulation;
+@iftex
+for more details, see the documentation of the variables whose names
+begin with @code{ls-lisp}.
+@end iftex
+@ifnottex
+they are described in this section.
The @code{ls} emulation supports many of the @code{ls} switches, but
it doesn't support all of them. Here's the list of the switches it
contains one or more of the symbols @code{links}, @code{uid}, and
@code{gid}. @code{links} means display the count of different file
names that are associated with (a.k.a.@: @dfn{links to}) the file's
-data. @code{uid} means display the numerical identifier of the user
-who owns the file. @code{gid} means display the numerical identifier
-of the file owner's group. The default value is @code{(links uid gid)}
-i.e.@: all the 3 optional attributes are displayed.
+data; this is only useful on NTFS volumes. @code{uid} means display
+the numerical identifier of the user who owns the file. @code{gid}
+means display the numerical identifier of the file owner's group. The
+default value is @code{(links uid gid)} i.e.@: all the 3 optional
+attributes are displayed.
@vindex ls-lisp-emulation
The variable @code{ls-lisp-emulation} controls the flavour of the
default), they are treated as shell-style wildcards; otherwise they
are treated as Emacs regular expressions.
+@vindex ls-lisp-format-time-list
+ The variable @code{ls-lisp-format-time-list} defines how to format
+the date and time of files. @emph{The value of this variable is
+ignored}, unless Emacs cannot determine the current locale. (However,
+if the value of @code{ls-lisp-use-localized-time-format} is
+non-@code{nil}, Emacs obeys @code{ls-lisp-format-time-list} even if
+the current locale is available; see below.)
+
+The value of @code{ls-lisp-format-time-list} is a list of 2 strings.
+The first string is used if the file was modified within the current
+year, while the second string is used for older files. In each of
+these two strings you can use @samp{%}-sequences to substitute parts
+of the time. For example:
+@lisp
+("%b %e %H:%M" "%b %e %Y")
+@end lisp
+
+@noindent
+Note that the strings substituted for these @samp{%}-sequences depend
+on the current locale. @xref{Time Parsing,,, elisp, The Emacs Lisp
+Reference Manual}, for more about format time specs.
+
+@vindex ls-lisp-use-localized-time-format
+ Normally, Emacs formats the file time stamps in either traditional
+or ISO-style time format. However, if the value of the variable
+@code{ls-lisp-use-localized-time-format} is non-@code{nil}, Emacs
+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.
+@end ifnottex
+
@node Windows HOME
@section HOME Directory on MS-Windows
@cindex @code{HOME} directory on MS-Windows
- The MS-Windows equivalent of the @code{HOME} directory is the
+ The Windows equivalent of the @code{HOME} directory is the
@dfn{user-specific application data directory}. The actual location
depends on your Windows version and system configuration; typical values
are @file{C:\Documents and Settings\@var{username}\Application Data} on
This section describes the Windows-specific features related to
keyboard input in Emacs.
+@cindex MS-Windows keyboard shortcuts
+ Many key combinations (known as ``keyboard shortcuts'') that have
+conventional uses in MS-Windows programs conflict with traditional
+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}).
+
@kindex F10 @r{(MS-Windows)}
@cindex menu bar access using keyboard @r{(MS-Windows)}
The @key{F10} key on Windows activates the menu bar in a way that
arrow keys traverse the menus, @key{RET} selects a highlighted menu
item, and @key{ESC} closes the menu.
+@iftex
+@inforef{Windows Keyboard, , emacs}, for information about additional
+Windows-specific variables in this category.
+@end iftex
+@ifnottex
@vindex w32-alt-is-meta
@cindex @code{Alt} key (MS-Windows)
By default, the key labeled @key{Alt} is mapped as the @key{META}
@key{NumLock} key will produce the symbol @code{kp-numlock}. The
default is @code{t}, which causes @key{NumLock} to work as expected:
toggle the meaning of the keys on the numeric keypad.
+@end ifnottex
@vindex w32-apps-modifier
The variable @code{w32-apps-modifier} controls the effect of the
key by setting @code{w32-pass-alt-to-system} to a non-@code{nil}
value.
+@ifnottex
@vindex w32-pass-lwindow-to-system
@vindex w32-pass-rwindow-to-system
The variables @code{w32-pass-lwindow-to-system} and
otherwise it is passed to Windows. The default is @code{t} for both
of these variables. Passing each of these keys to Windows produces
its normal effect: for example, @kbd{@key{Lwindow}} opens the
-@code{Start} menu, etc.
+@code{Start} menu, etc.@footnote{
+Some combinations of the ``Windows'' keys with other keys are caught
+by Windows at low level in a way that Emacs currently cannot prevent.
+For example, @kbd{@key{Lwindow} r} always pops up the Windows
+@samp{Run} dialog. Customizing the value of
+@code{w32-phantom-key-code} might help in some cases, though.}
@vindex w32-recognize-altgr
@kindex AltGr @r{(MS-Windows)}
@cindex AltGr key (MS-Windows)
- The variable @code{w32-recognize-altgr} controls whether the right
-@key{Alt} and left @key{Ctrl} keys are recognized as the @key{AltGr}
-key. The default is @code{t}, which means these keys produce
-@code{AltGr}; setting them to @code{nil} causes these keys to be
-interpreted normally (as the respective modifiers).
+ The variable @code{w32-recognize-altgr} controls whether the
+@key{AltGr} key (if it exists on your keyboard), or its equivalent,
+the combination of the right @key{Alt} and left @key{Ctrl} keys
+pressed together, is recognized as the @key{AltGr} key. The default
+is @code{t}, which means these keys produce @code{AltGr}; setting it
+to @code{nil} causes @key{AltGr} or the equivalent key combination to
+be interpreted as the combination of @key{CTRL} and @key{META}
+modifiers.
+@end ifnottex
@node Windows Mouse
@section Mouse Usage on MS-Windows
to do its job.
@vindex w32-quote-process-args
- The variable @code{w32-quote-process-args} controls how the process
-arguments are quoted. If it is non-@code{nil} means they are quoted
-with the @code{"} character. If the value is a character, that
-character will be used to escape any quote characters that appear;
-otherwise a suitable escape character will be chosen based on the type
-of the program.
+ The variable @code{w32-quote-process-args} controls how Emacs quotes
+the process arguments. Non-@code{nil} means quote with the @code{"}
+character. If the value is a character, use that character to escape
+any quote characters that appear; otherwise chose a suitable escape
+character based on the type of the program.
+
+@ifnottex
+@findex w32-shell-execute
+ The function @code{w32-shell-execute} can be useful for writing
+customized commands that run MS-Windows applications registered to
+handle a certain standard Windows operation for a specific type of
+document or file. This function is a wrapper around the Windows
+@code{ShellExecute} API. See the MS-Windows API documentation for
+more details.
+@end ifnottex
@node Windows Printing
@section Printing and MS-Windows
If the value of @code{printer-name} is correct, but printing does
not produce the hardcopy on your printer, it is possible that your
printer does not support printing plain text (some cheap printers omit
-this functionality). In that case, as a workaround, try the
-PostScript print commands, described below, to the same printer
+this functionality). In that case, try the PostScript print commands,
+described below.
@findex print-buffer @r{(MS-DOS)}
@findex print-region @r{(MS-DOS)}
This section describes miscellaneous Windows-specific features.
+@vindex w32-use-visible-system-caret
+@cindex screen reader software, MS-Windows
+ The variable @code{w32-use-visible-system-caret} is a flag that
+determines whether to make the system caret visible. The default is
+@code{nil}, which means Emacs draws its own cursor to indicate the
+position of point. A non-@code{nil} value means Emacs will indicate
+point location by the system caret; this facilitates use of screen
+reader software. When this variable is non-@code{nil}, other
+variables affecting the cursor display have no effect.
+
+@iftex
+@inforef{Windows Misc, , emacs}, for information about additional
+Windows-specific variables in this category.
+@end iftex
+
+@ifnottex
@vindex w32-grab-focus-on-raise
@cindex frame focus policy, MS-Windows
The variable @code{w32-grab-focus-on-raise}, if set to a
proportional fonts are included in the font selection dialog. If its
value is non-@code{nil}, these fonts will be included. The default is
@code{nil}.
-
-@vindex w32-use-visible-system-caret
-@cindex screen reader software, MS-Windows
- The variable @code{w32-use-visible-system-caret} is a flag that
-determines whether to make the system caret visible. The default is
-@code{nil}, which means Emacs draws its own cursor to indicate the
-position of point. A non-@code{nil} value means Emacs will indicate
-point location by the system caret; this facilitates use of screen
-reader software. When this variable is non-@code{nil}, other
-variables affecting the cursor display have no effect.
+@end ifnottex
@ifnottex
@include msdog-xtra.texi