diff options
Diffstat (limited to 'src/string.c')
| -rw-r--r-- | src/string.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/string.c b/src/string.c index d3774f8c4..6ab9a1ff7 100644 --- a/src/string.c +++ b/src/string.c @@ -1388,8 +1388,13 @@ str_escape(mrb_state *mrb, mrb_value str, mrb_bool inspect) } mrb_str_cat_lit(mrb, result, "\""); #ifdef MRB_UTF8_STRING - mrb_str_ptr(str)->flags |= ascii_flag; - mrb_str_ptr(result)->flags |= ascii_flag; + if (inspect) { + mrb_str_ptr(str)->flags |= ascii_flag; + mrb_str_ptr(result)->flags |= ascii_flag; + } + else { + RSTR_SET_ASCII_FLAG(mrb_str_ptr(result)); + } #endif return result; |
