Updated documentation.
This commit is contained in:
parent
577c8624d0
commit
7df14908a3
4 changed files with 41 additions and 2 deletions
|
@ -1130,6 +1130,21 @@ In the default language environment, non-@acronym{ASCII} characters in
|
|||
file names are not encoded specially; they appear in the file system
|
||||
using the internal Emacs representation.
|
||||
|
||||
@cindex file-name encoding, MS-Windows
|
||||
@vindex w32-unicode-filenames
|
||||
When Emacs runs on MS-Windows versions that are descendants of the
|
||||
NT family (Windows 2000, XP, Vista, Windows 7, and Windows 8), the
|
||||
value of @code{file-name-coding-system} is largely ignored, as Emacs
|
||||
by default uses APIs that allow to pass Unicode file names directly.
|
||||
By contrast, on Windows 9X, file names are encoded using
|
||||
@code{file-name-coding-system}, which should be set to the codepage
|
||||
(@pxref{Coding Systems, codepage}) pertinent for the current system
|
||||
locale. The value of the variable @code{w32-unicode-filenames}
|
||||
controls whether Emacs uses the Unicode APIs when it calls OS
|
||||
functions that accept file names. This variable is set by the startup
|
||||
code to @code{nil} on Windows 9X, and to @code{t} on newer versions of
|
||||
MS-Windows.
|
||||
|
||||
@strong{Warning:} if you change @code{file-name-coding-system} (or the
|
||||
language environment) in the middle of an Emacs session, problems can
|
||||
result if you have already visited files whose names were encoded using
|
||||
|
|
|
@ -1108,6 +1108,16 @@ visited file name, saving may use the wrong file name, or it may get
|
|||
an error. If such a problem happens, use @kbd{C-x C-w} to specify a
|
||||
new file name for that buffer.
|
||||
|
||||
@cindex file-name encoding, MS-Windows
|
||||
On Windows 2000 and later, Emacs by default uses Unicode APIs to
|
||||
pass file names to the OS, so the value of
|
||||
@code{file-name-coding-system} is largely ignored. Lisp applications
|
||||
that need to encode or decode file names on the Lisp level should use
|
||||
@code{utf-8} coding-system when @code{system-type} is
|
||||
@code{windows-nt}; the conversion of UTF-8 encoded file names to the
|
||||
encoding appropriate for communicating with the OS is performed
|
||||
internally by Emacs.
|
||||
|
||||
@node Lisp and Coding Systems
|
||||
@subsection Coding Systems in Lisp
|
||||
|
||||
|
|
8
etc/NEWS
8
etc/NEWS
|
@ -930,6 +930,14 @@ files are in share/emacs/VERSION/etc. (Emacs knows about all these
|
|||
directories and will find the files in there automatically; there's no
|
||||
need to set any variables due to this change.)
|
||||
|
||||
+++
|
||||
** Emacs on Windows 2000 and later can now access files and directories
|
||||
whose names cannot be encoded in the current system codepage.
|
||||
|
||||
The new variable `w32-unicode-filenames' controls this feature: if it
|
||||
is t, Emacs uses Unicode APIs to pass file names to system calls,
|
||||
which lifts the limitation of file names to the current locale.
|
||||
|
||||
+++
|
||||
** The "generate a backtrace on fatal error" feature now works on MS Windows.
|
||||
The backtrace is written to the 'emacs_backtrace.txt' file in the
|
||||
|
|
10
src/fileio.c
10
src/fileio.c
|
@ -5849,7 +5849,10 @@ syms_of_fileio (void)
|
|||
|
||||
DEFVAR_LISP ("file-name-coding-system", Vfile_name_coding_system,
|
||||
doc: /* Coding system for encoding file names.
|
||||
If it is nil, `default-file-name-coding-system' (which see) is used. */);
|
||||
If it is nil, `default-file-name-coding-system' (which see) is used.
|
||||
|
||||
On MS-Windows, the value of this variable is largely ignored if
|
||||
\`w32-unicode-filenames' (which see) is non-nil. */);
|
||||
Vfile_name_coding_system = Qnil;
|
||||
|
||||
DEFVAR_LISP ("default-file-name-coding-system",
|
||||
|
@ -5860,7 +5863,10 @@ This variable is used only when `file-name-coding-system' is nil.
|
|||
This variable is set/changed by the command `set-language-environment'.
|
||||
User should not set this variable manually,
|
||||
instead use `file-name-coding-system' to get a constant encoding
|
||||
of file names regardless of the current language environment. */);
|
||||
of file names regardless of the current language environment.
|
||||
|
||||
On MS-Windows, the value of this variable is largely ignored if
|
||||
\`w32-unicode-filenames' (which see) is non-nil. */);
|
||||
Vdefault_file_name_coding_system = Qnil;
|
||||
|
||||
DEFSYM (Qformat_decode, "format-decode");
|
||||
|
|
Loading…
Add table
Reference in a new issue