From 8f18d121210aa27dc05555140ab21a8489f0de50 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 25 May 2019 22:10:00 +0300 Subject: [PATCH] Improve documentation of decoding into a unibyte buffer * doc/lispref/nonascii.texi (Explicit Encoding): Document what happens when DESTINATION of decoding is a unibyte buffer. * src/coding.c (Fdecode_coding_region) (Fdecode_coding_string): Document what happens if DESTINATION is a unibyte buffer. --- doc/lispref/nonascii.texi | 9 +++++++-- src/coding.c | 7 +++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index df4f2932c6e..4e6bf12db92 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -1912,7 +1912,10 @@ the command returns the decoded text as a multibyte string without inserting it. If decoded text is inserted in some buffer, this command returns the -length of the decoded text. +length of the decoded text. If that buffer is a unibyte buffer +(@pxref{Selecting a Representations}), the internal representation of +the decoded text (@pxref{Text Representations}) is inserted into the +buffer as individual bytes. This command puts a @code{charset} text property on the decoded text. The value of the property states the character set used to decode the @@ -1931,7 +1934,9 @@ contains 8-bit bytes in their multibyte form). If optional argument @var{buffer} specifies a buffer, the decoded text is inserted in that buffer after point (point does not move). In this -case, the return value is the length of the decoded text. +case, the return value is the length of the decoded text. If that +buffer is a unibyte buffer, the internal representation of the decoded +text is inserted into it as individual bytes. @cindex @code{charset}, text property This function puts a @code{charset} text property on the decoded text. diff --git a/src/coding.c b/src/coding.c index 3a463b9905d..078c1c4e6a7 100644 --- a/src/coding.c +++ b/src/coding.c @@ -9398,7 +9398,8 @@ START and END are buffer positions. Optional 4th arguments DESTINATION specifies where the decoded text goes. If nil, the region between START and END is replaced by the decoded text. If buffer, the decoded text is inserted in that buffer after point (point -does not move). +does not move). If that buffer is unibyte, it receives the individual +bytes of the internal representation of the decoded text. In those cases, the length of the decoded text is returned. If DESTINATION is t, the decoded text is returned. @@ -9556,7 +9557,9 @@ if the decoding operation is trivial. Optional fourth arg BUFFER non-nil means that the decoded text is inserted in that buffer after point (point does not move). In this -case, the return value is the length of the decoded text. +case, the return value is the length of the decoded text. If that +buffer is unibyte, it receives the individual bytes of the internal +representation of the decoded text. This function sets `last-coding-system-used' to the precise coding system used (which may be different from CODING-SYSTEM if CODING-SYSTEM is -- 2.39.2