[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
The principal purpose of coding systems is for use in reading and writing
files. The function insert-file-contents
uses a coding system for
decoding the file data, and write-region
uses one to encode the
buffer contents.
You can specify the coding system to use either explicitly
(voir la section Specifying a Coding System for One Operation), or implicitly using a default mechanism
(voir la section Default Coding Systems). But these methods may not completely
specify what to do. For example, they may choose a coding system such as
undefined
which leaves the character code conversion to be determined
from the data. In these cases, the I/O operation finishes the job of
choosing a coding system. Very often you will want to find out afterwards
which coding system was chosen.
This buffer-local variable records the coding system that was used to visit
the current buffer. It is used for saving the buffer, and for writing part
of the buffer with write-region
. If the text to be written cannot be
safely encoded using the coding system specified by this variable, these
operations select an alternative encoding by calling the function
select-safe-coding-system
(voir la section User-Chosen Coding Systems). If
selecting a different encoding requires to ask the user to specify a coding
system, buffer-file-coding-system
is updated to the newly selected
coding system.
buffer-file-coding-system
does not affect sending text to a
subprocess.
This variable specifies the coding system for saving the buffer (by
overriding buffer-file-coding-system
). Note that it is not used for
write-region
.
When a command to save the buffer starts out to use
buffer-file-coding-system
(or save-buffer-coding-system
), and
that coding system cannot handle the actual text in the buffer, the command
asks the user to choose another coding system (by calling
select-safe-coding-system
). After that happens, the command also
updates buffer-file-coding-system
to represent the coding system that
the user specified.
I/O operations for files and subprocesses set this variable to the coding system name that was used. The explicit encoding and decoding functions (voir la section Explicit Encoding and Decoding) set it too.
Warning: Since receiving subprocess output sets this variable, it can change whenever Emacs waits; therefore, you should copy the value shortly after the function call that stores the value you are interested in.
The variable selection-coding-system
specifies how to encode
selections for the window system. Voir la section Window System Selections.
The variable file-name-coding-system
specifies the coding system to
use for encoding file names. Emacs encodes file names using that coding
system for all file operations. If file-name-coding-system
is
nil
, Emacs uses a default coding system determined by the selected
language environment. In the default language environment, any
non-ASCII characters in file names are not encoded specially; they
appear in the file system using the internal Emacs representation.
Warning: if you change 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 the earlier
coding system and are handled differently under the new coding system. If
you try to save one of these buffers under the visited file name, saving may
use the wrong file name, or it may get an error. If such a problem happens,
use C-x C-w to specify a new file name for that buffer.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.