Next: Coding Systems for File Names, Previous: Specifying a Coding System for File Text, Up: International Character Set Support [Contents][Index]
This section explains how to specify coding systems for use in communication with other processes.
Use coding system coding for transferring selections to and from
other graphical applications (set-selection-coding-system
).
Use coding system coding for transferring one
selection—the next one—to or from another graphical application
(set-next-selection-coding-system
).
Use coding systems input-coding and output-coding for
subprocess input and output in the current buffer
(set-buffer-process-coding-system
).
The command C-x RET x (set-selection-coding-system
)
specifies the coding system for sending selected text to other windowing
applications, and for receiving the text of selections made in other
applications. This command applies to all subsequent selections, until
you override it by using the command again. The command C-x
RET X (set-next-selection-coding-system
) specifies the
coding system for the next selection made in Emacs or read by Emacs.
The variable x-select-request-type
specifies the data type to
request from the X Window System for receiving text selections from
other applications. If the value is nil
(the default), Emacs
tries UTF8_STRING
and COMPOUND_TEXT
, in this order, and
uses various heuristics to choose the more appropriate of the two
results; if none of these succeed, Emacs falls back on STRING
.
If the value of x-select-request-type
is one of the symbols
COMPOUND_TEXT
, UTF8_STRING
, STRING
, or
TEXT
, Emacs uses only that request type. If the value is a
list of some of these symbols, Emacs tries only the request types in
the list, in order, until one of them succeeds, or until the list is
exhausted.
The command C-x RET p (set-buffer-process-coding-system
)
specifies the coding system for input and output to a subprocess. This
command applies to the current buffer; normally, each subprocess has its
own buffer, and thus you can use this command to specify translation to
and from a particular subprocess by giving the command in the
corresponding buffer.
You can also use C-x RET c
(universal-coding-system-argument
) just before the command that
runs or starts a subprocess, to specify the coding system for
communicating with that subprocess. See Specifying a Coding System for File Text.
The default for translation of process input and output depends on the current language environment.
The variable locale-coding-system
specifies a coding system
to use when encoding and decoding system strings such as system error
messages and format-time-string
formats and time stamps. That
coding system might also be used for decoding non-ASCII
keyboard input on the X Window System and will also be used to encode
text sent to the standard output and error streams in batch mode. You
should choose a coding system that is compatible with the underlying
system’s text representation, which is normally specified by one of
the environment variables LC_ALL
, LC_CTYPE
, and
LANG
. (The first one, in the order specified above, whose value
is nonempty is the one that determines the text representation.)