summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-30 09:33:50 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-30 09:33:50 +0000
commitfec4c4a4c4c26dab283921019b8773dc829e6c73 (patch)
treebfb820cd0128ed3f81ad41ba2d66a5725a932319
parent9a4cfd181e470dc14f98c5bc449eea46589cded4 (diff)
downloadruby-fec4c4a4c4c26dab283921019b8773dc829e6c73.tar.gz
ruby-fec4c4a4c4c26dab283921019b8773dc829e6c73.tar.xz
ruby-fec4c4a4c4c26dab283921019b8773dc829e6c73.zip
* eval.c (rb_eval): should check previous frame for ZSUPER.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog11
-rw-r--r--eval.c2
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5490e5eb5..ee46bde32 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+Tue Nov 30 16:18:50 2004 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_eval): should check previous frame for ZSUPER.
+
+ * io.c (read_all): remove unnecessary rb_str_resize().
+ [ruby-dev:24996]
+
+ * io.c (io_readpartial): ditto.
+
+ * io.c (io_read): ditto.
+
Tue Nov 30 14:58:33 2004 WATANABE Hirofumi <eban@ruby-lang.org>
* instruby.rb (install): add arguments explicitly to "super".
diff --git a/eval.c b/eval.c
index 1d2f424cf..1d0d62018 100644
--- a/eval.c
+++ b/eval.c
@@ -3251,7 +3251,7 @@ rb_eval(self, n)
}
}
if (nd_type(node) == NODE_ZSUPER) {
- if (ruby_frame->flags & FRAME_DMETH) {
+ if (ruby_frame->prev && (ruby_frame->prev->flags & FRAME_DMETH)) {
rb_raise(rb_eRuntimeError, "super: specify arguments explicitly");
}
argc = ruby_frame->argc;