こんにちは、近藤です。

> 試してみてください。直前までわさわさしてたのがちょっと不安で
> はありますが。

String#inspectで日本語の処理にバグがあるようです。

--- string.org.c        Tue Dec 26 15:45:11 2000
+++ string.c    Tue Dec 26 15:45:35 2000
@@ -1490,8 +1490,8 @@
        char c = *p++;
        if (ismbchar(c) && p < pend) {
            int len = mbclen(c);
-           rb_str_cat(result, p, len);
-           p += len;
+           rb_str_cat(result, p - 1, len);
+           p += len - 1;
        }
        else if (c == '"'|| c == '\\') {
            s[0] = '\\'; s[1] = c;


---
近藤充弘
kondo / nik-prt.co.jp