[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]