summaryrefslogtreecommitdiff
path: root/vm.c
diff options
context:
space:
mode:
authoreregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-08-14 10:20:44 +0000
committereregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-08-14 10:20:44 +0000
commit795c29dcda01fa81a3ccebee4433adabe6778d76 (patch)
treef2793f0ffc75a3292d7276ef087ca20cfd0d6e02 /vm.c
parentf42a7c09513b5f73e21e6fae881f3bc2f760b9af (diff)
Kernel#inspect: improve consistency and do not call #to_s.
A class can now benefit from the nice default #inspect even if it defines #to_s. Also, there is no more unexpected change in #inspect result. Internal structures have been adapted so they don't rely on the removed behavior (#inspect calling overridden #to_s). * object.c (rb_obj_inspect): Kernel#inspect: do not call #to_s. * test/ruby/test_object.rb (test_inspect): add tests for Kernel#inspect. * bignum.c, io.c, numeric.c, object.c, proc.c, vm.c (Init_*): alias #inspect to #to_s where it was expected. [ruby-core:43238][Feature #6130] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vm.c b/vm.c
index 30d0f8a7bd..80dd512ae1 100644
--- a/vm.c
+++ b/vm.c
@@ -2229,6 +2229,7 @@ Init_top_self(void)
vm->top_self = rb_obj_alloc(rb_cObject);
rb_define_singleton_method(rb_vm_top_self(), "to_s", main_to_s, 0);
+ rb_define_alias(rb_singleton_class(rb_vm_top_self()), "inspect", "to_s");
/* initialize mark object array */
vm->mark_object_ary = rb_ary_tmp_new(1);