diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-30 04:01:17 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-30 04:01:17 +0000 |
commit | 38ada9fe878c649e80bf8c1ae835bc855240192c (patch) | |
tree | 0a2129c0d8252ce1af14d9356dc7bcb6a63d1292 /eval.c | |
parent | afae182fe26c355d5eb9827ee99a66c80ec32639 (diff) | |
download | ruby-38ada9fe878c649e80bf8c1ae835bc855240192c.tar.gz |
* eval.c (rb_eval): [ruby-core:03856]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -3250,6 +3250,9 @@ rb_eval(self, n) } } if (nd_type(node) == NODE_ZSUPER) { + if (ruby_frame->flags & FRAME_DMETH) { + rb_raise(rb_eRuntimeError, "super: specify arguments explicitly"); + } argc = ruby_frame->argc; argv = ruby_scope->local_vars + 2; } @@ -5550,6 +5553,7 @@ rb_call0(klass, recv, id, oid, argc, argv, body, nosuper) break; case NODE_BMETHOD: + ruby_frame->flags |= FRAME_DMETH; result = proc_invoke(body->nd_cval, rb_ary_new4(argc, argv), recv, klass); break; |