summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 6c092714c..f42c86cec 100644
--- a/eval.c
+++ b/eval.c
@@ -1880,6 +1880,7 @@ call_trace_func(event, file, line, self, id, klass)
PUSH_FRAME();
*ruby_frame = *prev;
ruby_frame->prev = prev;
+ ruby_frame->iter = 0; /* blocks not available anyway */
if (file) {
ruby_frame->line = ruby_sourceline = line;
@@ -6022,7 +6023,7 @@ proc_call(proc, args)
volatile int orphan;
volatile int safe = ruby_safe_level;
- if (rb_block_given_p()) {
+ if (rb_block_given_p() && ruby_frame->last_func) {
rb_warning("block for %s#%s is useless",
rb_class2name(CLASS_OF(proc)),
rb_id2name(ruby_frame->last_func));