(decode_coding_object): When not decoding into a buffer,
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 25 Mar 2008 16:02:32 +0000 (16:02 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 25 Mar 2008 16:02:32 +0000 (16:02 +0000)
obey the coding system's preference of (uni|multi)byte.

src/ChangeLog
src/coding.c

index 1557e5f..6f65379 100644 (file)
@@ -1,3 +1,8 @@
+2008-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * coding.c (decode_coding_object): When not decoding into a buffer,
+       obey the coding system's preference of (uni|multi)byte.
+
 2008-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
index 901f81a..6848fa6 100644 (file)
@@ -7033,7 +7033,7 @@ decode_coding_object (coding, src_object, from, from_byte, to, to_byte,
       coding->dst_object = code_conversion_save (1, 1);
       coding->dst_pos = BEG;
       coding->dst_pos_byte = BEG_BYTE;
-      coding->dst_multibyte = 1;
+      coding->dst_multibyte = !CODING_FOR_UNIBYTE (coding);
     }
   else if (BUFFERP (dst_object))
     {
@@ -7048,7 +7048,7 @@ decode_coding_object (coding, src_object, from, from_byte, to, to_byte,
     {
       code_conversion_save (0, 0);
       coding->dst_object = Qnil;
-      coding->dst_multibyte = 1;
+      coding->dst_multibyte = !CODING_FOR_UNIBYTE (coding);
     }
 
   decode_coding (coding);