]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix encoding by ISO-2022-JP
authorKenichi Handa <handa@gnu.org>
Sat, 27 Mar 2021 05:38:56 +0000 (14:38 +0900)
committerEli Zaretskii <eliz@gnu.org>
Sat, 27 Mar 2021 07:42:25 +0000 (10:42 +0300)
* src/coding.c (encode_coding): Reset the CODING_MODE_LAST_BLOCK
flag for all iterations but the last one.  (Bug#46933)

src/coding.c

index 739dd6adcb5fcaedbe7d9979adf25f813ba715f3..46e7fca0f430d58ade90d86f39aa13a98c580d9a 100644 (file)
@@ -7799,7 +7799,13 @@ encode_coding (struct coding_system *coding)
     coding_set_source (coding);
     consume_chars (coding, translation_table, max_lookup);
     coding_set_destination (coding);
+    /* The CODING_MODE_LAST_BLOCK flag should be set only for the last
+       iteration of the encoding.  */
+    unsigned saved_mode = coding->mode;
+    if (coding->consumed_char < coding->src_chars)
+      coding->mode &= ~CODING_MODE_LAST_BLOCK;
     (*(coding->encoder)) (coding);
+    coding->mode = saved_mode;
   } while (coding->consumed_char < coding->src_chars);
 
   if (BUFFERP (coding->dst_object) && coding->produced_char > 0)