summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
Diffstat (limited to 'object.c')
-rw-r--r--object.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/object.c b/object.c
index 240a51c3f9..bf22075369 100644
--- a/object.c
+++ b/object.c
@@ -500,9 +500,17 @@ rb_mod_to_s(klass)
{
if (FL_TEST(klass, FL_SINGLETON)) {
VALUE s = rb_str_new2("#<");
+ VALUE v = rb_iv_get(klass, "__attached__");
rb_str_cat2(s, "Class:");
- rb_str_cat2(s, rb_class2name(klass));
+ switch (TYPE(v)) {
+ case T_CLASS: case T_MODULE:
+ rb_str_append(s, rb_inspect(v));
+ break;
+ default:
+ rb_str_append(s, rb_any_to_s(v));
+ break;
+ }
rb_str_cat2(s, ">");
return s;