From 2b0dee5cb639b23fc59690c214acaa40b43380b2 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 28 Apr 2008 02:12:21 +0000 Subject: * proc.c (method_name): should return symbols instead of strings. [ruby-dev:34531] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ proc.c | 4 ++-- test/ruby/test_m17n.rb | 4 ++-- test/ruby/test_method.rb | 2 +- version.h | 6 +++--- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index fc4493496..a51d56677 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Apr 28 11:11:38 2008 Yukihiro Matsumoto + + * proc.c (method_name): should return symbols instead of strings. + [ruby-dev:34531] + Mon Apr 28 09:02:43 2008 Tanaka Akira * include/ruby/intern.h (rb_exec_arg_init): declared. diff --git a/proc.c b/proc.c index a2c53ce69..57109eff7 100644 --- a/proc.c +++ b/proc.c @@ -905,7 +905,7 @@ method_receiver(VALUE obj) /* * call-seq: - * meth.name => string + * meth.name => symbol * * Returns the name of the method. */ @@ -916,7 +916,7 @@ method_name(VALUE obj) struct METHOD *data; Data_Get_Struct(obj, struct METHOD, data); - return rb_str_dup(rb_id2str(data->id)); + return ID2SYM(data->id); } /* diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb index dfb00ba65..3fd32ae92 100644 --- a/test/ruby/test_m17n.rb +++ b/test/ruby/test_m17n.rb @@ -1041,8 +1041,8 @@ class TestM17N < Test::Unit::TestCase mu = method(u("\xc2\xa1")) assert_not_equal(me.name, mu.name) assert_not_equal(me.inspect, mu.inspect) - assert_equal(e("\xc2\xa1"), me.name) - assert_equal(u("\xc2\xa1"), mu.name) + assert_equal(e("\xc2\xa1"), me.name.to_s) + assert_equal(u("\xc2\xa1"), mu.name.to_s) end def test_symbol diff --git a/test/ruby/test_method.rb b/test/ruby/test_method.rb index 064e05271..ad05e04ab 100644 --- a/test/ruby/test_method.rb +++ b/test/ruby/test_method.rb @@ -107,7 +107,7 @@ class TestMethod < Test::Unit::TestCase def o.foo; end m = o.method(:foo) assert_equal(o, m.receiver) - assert_equal("foo", m.name) + assert_equal(:foo, m.name) assert_equal(class << o; self; end, m.owner) end diff --git a/version.h b/version.h index 8b305fce6..9477735e4 100644 --- a/version.h +++ b/version.h @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.9.0" -#define RUBY_RELEASE_DATE "2008-04-27" +#define RUBY_RELEASE_DATE "2008-04-28" #define RUBY_VERSION_CODE 190 -#define RUBY_RELEASE_CODE 20080427 +#define RUBY_RELEASE_CODE 20080428 #define RUBY_PATCHLEVEL 0 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_YEAR 2008 #define RUBY_RELEASE_MONTH 4 -#define RUBY_RELEASE_DAY 27 +#define RUBY_RELEASE_DAY 28 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; -- cgit