* eval.c (BEGIN_CALLARGS): pop halfly pushed status.

fixed: [ruby-dev:26881]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2005-09-13 12:47:43 +00:00
parent 6cdf50d8be
commit 7c44a27cb2
2 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,8 @@
Tue Sep 13 21:47:17 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (BEGIN_CALLARGS): pop halfly pushed status.
fixed: [ruby-dev:26881]
Tue Sep 13 20:24:37 2005 Tanaka Akira <akr@m17n.org> Tue Sep 13 20:24:37 2005 Tanaka Akira <akr@m17n.org>
* ruby.h (PRINTF_ARGS): new macro for printf style argument checking. * ruby.h (PRINTF_ARGS): new macro for printf style argument checking.
@ -27,9 +32,9 @@ Tue Sep 13 12:33:05 2005 <why@ruby-lang.org>
continue support of Object#to_yaml_type. continue support of Object#to_yaml_type.
* ext/syck/rubyext.c: new emitter code. yaml_new and yaml_initialize * ext/syck/rubyext.c: new emitter code. yaml_new and yaml_initialize
get called, should they be present. consolidated all the diaspora of internal get called, should they be present. consolidated all the diaspora of internal
node types into the family below YAML::Syck::Node -- Map, node types into the family below YAML::Syck::Node -- Map,
Seq, Scalar -- all of whom are SyckNode structs pointing to Seq, Scalar -- all of whom are SyckNode structs pointing to
Ruby data. moved Object#yaml_new into the node_import and made it the Ruby data. moved Object#yaml_new into the node_import and made it the
default behavior. the target_class is always called wih yaml_new, prepended default behavior. the target_class is always called wih yaml_new, prepended
a parameter, which is the klass. loaded nodes through GenericResolver show their style. a parameter, which is the klass. loaded nodes through GenericResolver show their style.

4
eval.c
View File

@ -2148,8 +2148,10 @@ copy_node_scope(NODE *node, NODE *rval)
#define BEGIN_CALLARGS do {\ #define BEGIN_CALLARGS do {\
struct BLOCK *tmp_block = ruby_block;\ struct BLOCK *tmp_block = ruby_block;\
int tmp_iter = ruby_iter->iter;\ int tmp_iter = ruby_iter->iter;\
if (tmp_iter == ITER_PRE) {\ switch (tmp_iter) {\
case ITER_PRE:\
ruby_block = ruby_block->outer;\ ruby_block = ruby_block->outer;\
case ITER_PAS:\
tmp_iter = ITER_NOT;\ tmp_iter = ITER_NOT;\
}\ }\
PUSH_ITER(tmp_iter) PUSH_ITER(tmp_iter)