aboutsummaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/eval.c b/eval.c
index d361bd57d7..8706984537 100644
--- a/eval.c
+++ b/eval.c
@@ -4509,11 +4509,11 @@ rb_f_missing(argc, argv, obj)
case T_FALSE:
desc = "false";
break;
- case T_OBJECT:
- d = rb_any_to_s(obj);
- break;
default:
- d = rb_inspect(obj);
+ if (rb_respond_to(obj, rb_intern("inspect")))
+ d = rb_inspect(obj);
+ else
+ d = rb_any_to_s(obj);
break;
}
if (d) {