From: Inaba Hiroto Date: 1998-09-01T01:45:47+09:00 Subject: [ruby-list:9376] Re: inspect の動作 From: Makoto Tagusari Subject: [ruby-list:9374] inspect の動作 Date: Mon, 31 Aug 1998 22:58:49 +0900 > 実は、ruby-1.1c2 の頃から非常に不可解な現象が発生するのですが、これは、 > inspect の動作が変わってしまったからなのでしょうか。 > 例えば、 > > ruby-1.1c1 まで > p "\x8e\xb4"*32 > -> EUC の半角カタカナの "エ" が32個返る > > ruby-1.1c2 以降 > p "\x8e\xb4"*32 > -> "\377\377" が返る。 > > どーもシロート目には、1.1c1 までの動作が正しいように思うのですが。 うーーん、自分のリクエストによる変更のせいですね。 From: Inaba Hiroto Subject: [ruby-dev:3368] Re: Kanji treatment in String#inspect & mbctab definition Date: Thu, 23 Jul 1998 00:22:18 +0900 > 0x8EによるJIS X0201カナはとりあえず考慮しなくて良いと思います。 なんて書いてしまってます… でも、"\377\377"が返されるのは変ですね。調べたら、例えば以下のように修 正する必要があるようです。 --- string.c.org Thu Aug 27 12:55:32 1998 +++ string.c Tue Sep 1 01:29:35 1998 @@ -1466,7 +1466,7 @@ else { CHECK(4); *b++ = '\\'; - sprintf(b, "%03o", c); + sprintf(b, "%03o", c & 0377); b += 3; } } しかしこれだけでは「p "\x8e\xb4"*32」に対して正しく出力するようにはな りませんね。やはり、以下のように mbctab_euc はいわゆる半角カナにも対応 して0x8Eも1にした方が良いのでしょうね。 --- regex.c.org Wed Aug 26 02:30:31 1998 +++ regex.c Tue Sep 1 01:07:14 1998 @@ -4092,7 +4092,7 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -- 稲葉 浩人 (inaba@st.rim.or.jp)