ruby-changes:4609
From: ko1@a...
Date: Sun, 20 Apr 2008 18:05:04 +0900 (JST)
Subject: [ruby-changes:4609] knu - Ruby:r16103 (ruby_1_8_7): * object.c, NEWS, test/ruby/test_symbol.rb: Revert Symbol#to_proc
knu 2008-04-20 18:04:50 +0900 (Sun, 20 Apr 2008) New Revision: 16103 Modified files: branches/ruby_1_8_7/ChangeLog branches/ruby_1_8_7/NEWS branches/ruby_1_8_7/object.c branches/ruby_1_8_7/test/ruby/test_symbol.rb Log: * object.c, NEWS, test/ruby/test_symbol.rb: Revert Symbol#to_proc since it does not pass the tests. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/test/ruby/test_symbol.rb?r1=16103&r2=16102&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/ChangeLog?r1=16103&r2=16102&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/NEWS?r1=16103&r2=16102&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8_7/object.c?r1=16103&r2=16102&diff_format=u Index: ruby_1_8_7/NEWS =================================================================== --- ruby_1_8_7/NEWS (revision 16102) +++ ruby_1_8_7/NEWS (revision 16103) @@ -232,8 +232,6 @@ Return an enumerator if no block is given. - * Symbol#to_proc implemented. - * enumerator * Enumerator is now a built-in module. The #next and #rewind Index: ruby_1_8_7/ChangeLog =================================================================== --- ruby_1_8_7/ChangeLog (revision 16102) +++ ruby_1_8_7/ChangeLog (revision 16103) @@ -1,4 +1,10 @@ +Sun Apr 20 17:59:25 2008 Akinori MUSHA <knu@i...> + + * object.c, NEWS, test/ruby/test_symbol.rb: Revert Symbol#to_proc + since it does not pass the tests. + Sun Apr 20 14:29:35 2008 Technorama Ltd. <oss-ruby@t...> + * ext/openssl/ossl_ssl.c: initialize session class. Sat Apr 19 20:54:42 2008 akira yamada <akira@a...> Index: ruby_1_8_7/object.c =================================================================== --- ruby_1_8_7/object.c (revision 16102) +++ ruby_1_8_7/object.c (revision 16103) @@ -1206,35 +1206,7 @@ return sym; } -static VALUE -sym_call(args, mid) - VALUE args, mid; -{ - VALUE obj; - if (RARRAY_LEN(args) < 1) { - rb_raise(rb_eArgError, "no receiver given"); - } - obj = rb_ary_shift(args); - return rb_apply(obj, (ID)mid, args); -} - -/* - * call-seq: - * sym.to_proc - * - * Returns a _Proc_ object which respond to the given method by _sym_. - * - * (1..3).collect(&:to_s) #=> ["1", "2", "3"] - */ - -static VALUE -sym_to_proc(VALUE sym) -{ - return rb_proc_new(sym_call, (VALUE)SYM2ID(sym)); -} - - /*********************************************************************** * * Document-class: Module @@ -2778,7 +2750,6 @@ rb_define_method(rb_cSymbol, "to_s", sym_to_s, 0); rb_define_method(rb_cSymbol, "id2name", sym_to_s, 0); rb_define_method(rb_cSymbol, "to_sym", sym_to_sym, 0); - rb_define_method(rb_cSymbol, "to_proc", sym_to_proc, 0); rb_define_method(rb_cSymbol, "===", rb_obj_equal, 1); rb_define_method(rb_cModule, "freeze", rb_mod_freeze, 0); Index: ruby_1_8_7/test/ruby/test_symbol.rb =================================================================== --- ruby_1_8_7/test/ruby/test_symbol.rb (revision 16102) +++ ruby_1_8_7/test/ruby/test_symbol.rb (revision 16103) @@ -74,11 +74,4 @@ assert_inspect_evaled(':$0') assert_inspect_evaled(':$1') end - - def test_to_proc - assert_equal %w(1 2 3), (1..3).map(&:to_s) - assert_nothing_raised(ArgumentError) { :object_id.to_proc.call([]) } - assert_nothing_raised(ArgumentError) { :object_id.to_proc.call([1]) } - assert_nothing_raised(ArgumentError) { :object_id.to_proc.call([1,2]) } - end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/