Skip to content

Commit

Permalink
* object.c, NEWS, test/ruby/test_symbol.rb: Revert Symbol#to_proc
Browse files Browse the repository at this point in the history
  since it does not pass the tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@16103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
knu committed Apr 20, 2008
1 parent bac58ed commit 594c1d7
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 38 deletions.
6 changes: 6 additions & 0 deletions ChangeLog
@@ -1,4 +1,10 @@
Sun Apr 20 17:59:25 2008 Akinori MUSHA <knu@iDaemons.org>

* 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@technorama.net>

* ext/openssl/ossl_ssl.c: initialize session class.

Sat Apr 19 20:54:42 2008 akira yamada <akira@arika.org>
Expand Down
2 changes: 0 additions & 2 deletions NEWS
Expand Up @@ -232,8 +232,6 @@ with all sufficient information, see the ChangeLog file.

Return an enumerator if no block is given.

* Symbol#to_proc implemented.

* enumerator

* Enumerator is now a built-in module. The #next and #rewind
Expand Down
29 changes: 0 additions & 29 deletions object.c
Expand Up @@ -1206,34 +1206,6 @@ sym_to_sym(sym)
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));
}


/***********************************************************************
*
Expand Down Expand Up @@ -2778,7 +2750,6 @@ Init_Object()
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);
Expand Down
7 changes: 0 additions & 7 deletions test/ruby/test_symbol.rb
Expand Up @@ -74,11 +74,4 @@ def test_inspect_number
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

0 comments on commit 594c1d7

Please sign in to comment.