summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 5e88cf517..a09c753e0 100644
--- a/eval.c
+++ b/eval.c
@@ -7124,8 +7124,10 @@ proc_invoke(proc, args, self, klass)
volatile int pcall, avalue = Qtrue;
if (rb_block_given_p() && ruby_frame->last_func) {
+ if (klass != ruby_frame->last_class)
+ klass = rb_obj_class(proc);
rb_warning("block for %s#%s is useless",
- rb_obj_classname(proc),
+ rb_class2name(klass),
rb_id2name(ruby_frame->last_func));
}