summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-05-28 09:37:06 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-05-28 09:37:06 +0000
commit2dfa488b2a7e2f9a859082298fce4e10b426635d (patch)
treeb2da3ee4776da4b412bbf4b8442fb7da469cb0a6 /string.c
parent50e2827a72f6c33497a427a6f74e7e3e4dd7c6d9 (diff)
* string.c (rb_str_inspect): escape ASCII-compatible strings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r--string.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/string.c b/string.c
index 385890ef13..0962d0fba3 100644
--- a/string.c
+++ b/string.c
@@ -4100,6 +4100,7 @@ rb_str_inspect(VALUE str)
VALUE result = rb_str_buf_new(0);
rb_encoding *resenc = rb_default_internal_encoding();
int unicode_p = rb_enc_unicode_p(enc);
+ int asciicompat = rb_enc_asciicompat(enc);
if (resenc == NULL) resenc = rb_default_external_encoding();
if (!rb_enc_asciicompat(resenc)) resenc = rb_usascii_encoding();
@@ -4159,7 +4160,7 @@ rb_str_inspect(VALUE str)
continue;
}
if ((enc == resenc && rb_enc_isprint(c, enc)) ||
- (rb_enc_isascii(c, enc) && ISPRINT(c))) {
+ (asciicompat && rb_enc_isascii(c, enc) && ISPRINT(c))) {
continue;
}
else {