conversion, but some of them leave the choice unspecified---to be chosen
heuristically for each file, based on the data.
-In general, a coding system doesn't guarantee a roundtrip identity,
-i.e. decoding followed by encoding in the same coding system can
-result in the different byte sequence. But there are several coding
-systems that go guarantee that the result will be the same as what you
-originally decoded. They are:
+ In general, a coding system doesn't guarantee roundtrip identity:
+decoding a byte sequence using coding system, then encoding the
+resulting text in the same coding system, can produce a different byte
+sequence. However, the following coding systems do guarantee that the
+byte sequence will be the same as what you originally decoded:
@quotation
chinese-big5 chinese-iso-8bit cyrillic-iso-8bit emacs-mule
japanese-iso-8bit japanese-shift-jis korean-iso-8bit raw-text
@end quotation
-Likewise, a coding systme doesn't guarantee the other way of roundtrip
-identity, i.e. encoding buffer text into a coding system followed by
-decoding again with the same coding system will produce the different
-buffer text. For instance, when you encode Latin-2 characters by
-@code{utf-8} and decode it back by the same coding system, you'll get
-Unicode charactes (of charset @code{mule-unicode-0100-24ff}), and when
-you encode Unicode characters by @code{iso-latin-2} and decode it back
-by the same coding system, you'll get Latin-2 characters.
+ Encoding buffer text and then decoding the result can also fail to
+reproduce the original text. For instance, if you encode Latin-2
+characters with @code{utf-8} and decode the result using the same
+coding system, you'll get Unicode characters (of charset
+@code{mule-unicode-0100-24ff}). If you encode Unicode characters with
+@code{iso-latin-2} and decode the result with the same coding system,
+you'll get Latin-2 characters.
@cindex end of line conversion
@dfn{End of line conversion} handles three different conventions used
@var{encoding-system} is the coding system for encoding (in case
@var{operation} does encoding).
-The argument @var{operation} should be a symbol, one of
-@code{insert-file-contents}, @code{write-region}, @code{call-process},
-@code{call-process-region}, @code{start-process}, or
-@code{open-network-stream}. These are the names of the Emacs I/O primitives
-that can do coding system conversion.
+The argument @var{operation} should be a symbol, any one of
+@code{insert-file-contents}, @code{write-region},
+@code{start-process}, @code{call-process}, @code{call-process-region},
+or @code{open-network-stream}. These are the names of the Emacs I/O
+primitives that can do coding system conversion.
The remaining arguments should be the same arguments that might be given
to that I/O primitive. Depending on the primitive, one of those
target. For @code{open-network-stream}, the target is the service name
or port number.
-This function looks up the target in @code{file-coding-system-alist},
-@code{process-coding-system-alist}, or
-@code{network-coding-system-alist}, depending on @var{operation}.
+Depending on @var{operation}, this function looks up the target in
+@code{file-coding-system-alist}, @code{process-coding-system-alist},
+or @code{network-coding-system-alist}.
@end defun
@node Specifying Coding Systems