]> git.eshelyaron.com Git - emacs.git/commitdiff
coding.c (encode_coding_iso_2022): Do not optimize for ASCII if we may use designatio...
authorKenichi Handa <handa@m17n.org>
Wed, 8 Sep 2010 02:21:03 +0000 (11:21 +0900)
committerKenichi Handa <handa@m17n.org>
Wed, 8 Sep 2010 02:21:03 +0000 (11:21 +0900)
src/ChangeLog
src/coding.c

index 3dda03c963f48ea9a5cfef158566cb710228da03..f46e02b9193bc455b024268d249bb996ba9658ba 100644 (file)
@@ -1,3 +1,8 @@
+2010-09-08  Kenichi Handa  <handa@m17n.org>
+
+       * coding.c (encode_coding_iso_2022): Don't optimize for ASCII if
+       we may use designation or locking-shift.
+
 2010-09-07  Kenichi Handa  <handa@m17n.org>
 
        * coding.c (detect_coding_emacs_mule): Fix checking of multibyte
index d62998f4c8bd85056a4a693b175a145d900d4517..92b328091ff58bb4fd554dbda1ede6af6c995d4f 100644 (file)
@@ -4528,7 +4528,10 @@ encode_coding_iso_2022 (coding)
   charset_list = CODING_ATTR_CHARSET_LIST (attrs);
   coding->safe_charsets = SDATA (CODING_ATTR_SAFE_CHARSETS (attrs));
 
-  ascii_compatible = ! NILP (CODING_ATTR_ASCII_COMPAT (attrs));
+  ascii_compatible
+    = (! NILP (CODING_ATTR_ASCII_COMPAT (attrs))
+       && ! (CODING_ISO_FLAGS (coding) & (CODING_ISO_FLAG_DESIGNATION
+                                         | CODING_ISO_FLAG_LOCKING_SHIFT)));
 
   while (charbuf < charbuf_end)
     {