From: Yukihiro Matsumoto Date: 2005-03-07T10:31:38+09:00 Subject: [ruby-dev:25821] Re: [ruby-cvs] ruby/test/ruby, ruby/test/logger, ruby/sample, ruby/misc, ruby/lib/xmlrpc, ruby/lib/wsdl/soap, ruby/lib/rexml, ruby/lib/rdoc/parsers, ruby/lib/rdoc/generators, ruby/lib/irb, ruby/lib, ruby/ext/zlib, ruby/ext/win32ole, ruby/ext/tk, ruby/ext/strscan, ruby/ext/socket, ruby/ext/readline, ruby/ext/pty, ruby/ext/openssl, ruby/ext/iconv, ruby/ext/etc, ruby/ext/dl, ruby/ext/curses, ruby/ext/bigdecimal, ruby/ext/Win32API, ruby: * array.c: replace rb_protect_inspect() and rb_inspecting_p() by まつもと ゆきひろです In message "Re: [ruby-dev:25812] Re: [ruby-cvs] ruby/test/ruby, ruby/test/logger, ruby/sample, ruby/misc, ruby/lib/xmlrpc, ruby/lib/wsdl/soap, ruby/lib/rexml, ruby/lib/rdoc/parsers, ruby/lib/rdoc/generators, ruby/lib/irb, ruby/lib, ruby/ext/zlib, ruby/ext/win32ole, ruby/ext/tk, ruby/ext/strscan, ruby/ext/socket, ruby/ext/readline, ruby/ext/pty, ruby/ext/openssl, ruby/ext/iconv, ruby/ext/etc, ruby/ext/dl, ruby/ext/curses, ruby/ext/bigdecimal, ruby/ext/Win32API, ruby: * array.c: replace rb_protect_inspect() and rb_inspecting_p() by" on Sun, 6 Mar 2005 12:57:25 +0900, Tanaka Akira writes: |> 1.758 +151 -99 ruby/eval.c |> http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/eval.c?cvsroot=src&r1=1.757&r2=1.758 | |Ruby スクリプトから見える所に NODE を置くのはよろしくないんじゃないでしょうか。 その通りですね。inspectで再起している時とそれ以外(hashとか) で再起している時とで共存したいという目的だったのですが、ちょっ とまずかったようです。 |なお、pp の都合として、この情報を Ruby スクリプトから参照・変更できる |ことが期待されています。これは pp で表示する中に inspect を使うことが |あり、そのときに pp で表示中のものを inspect が再帰的に表示するのを防 |ぐためです。まぁ、いじれなくても [ruby-dev:25810] で指摘されている |"[]\n" となるはずのものが |"[]>]\n" となってしまうような感じで、ひとつ余 |計に再帰してしまうだけではありますが。 __inspect_key__の値が配列ではなく{:inspect => []}となるよう に変更しました(これからコミットします)。で、ppの方でこれに対 応していただけませんでしょうか。こちらで対応しようと思ったの ですが、ppの挙動を理解していないのでうまく行きませんでした (やりかけの作業も一緒にコミットしておきます)。 |> 1.365 +35 -31 ruby/io.c |> http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/io.c?cvsroot=src&r1=1.364&r2=1.365 | |この変更で to_open は StringIO などを返してはいけなくなったようですが、 |なぜでしょうか? 必要だと思ってのことですが、改めて考えてみると不要なチェック でした。取り除きます。