# HG changeset patch # User Kenichi Handa # Date 1283912560 -32400 # Node ID c32e93d8bf05b7b5aac6cfb36e35dc2ee5bb0827 # Parent 08056547de92f85a5c8f11bf5637404a5af2a1bb# Parent 3ffb3b102dae6d8e1eb4c0c9ec492f3c36b46513 coding.c (encode_coding_iso_2022): Do not optimize for ASCII if we may use designation or locking-shift. diff -r 08056547de92 -r c32e93d8bf05 src/ChangeLog --- a/src/ChangeLog Tue Sep 07 20:23:04 2010 +0900 +++ b/src/ChangeLog Wed Sep 08 11:22:40 2010 +0900 @@ -1,3 +1,8 @@ +2010-09-08 Kenichi Handa + + * coding.c (encode_coding_iso_2022): Don't optimize for ASCII if + we may use designation or locking-shift. + 2010-09-07 Kenichi Handa * coding.c (detect_coding_emacs_mule): Fix checking of multibyte diff -r 08056547de92 -r c32e93d8bf05 src/coding.c --- a/src/coding.c Tue Sep 07 20:23:04 2010 +0900 +++ b/src/coding.c Wed Sep 08 11:22:40 2010 +0900 @@ -4528,7 +4528,10 @@ 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) {