mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* eval.c (ruby_exec_internal): do nothing if no code.
* compile.c (rb_iseq_compile): check node if NULL before check nd_type. [ruby-talk:252956] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a1cb9efd34
commit
b904e87f08
3 changed files with 13 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
|||
Sat May 26 00:38:21 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* eval.c (ruby_exec_internal): do nothing if no code.
|
||||
|
||||
* compile.c (rb_iseq_compile): check node if NULL before check
|
||||
nd_type. [ruby-talk:252956]
|
||||
|
||||
Sat May 26 00:05:22 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
|
||||
|
|
|
@ -144,7 +144,10 @@ rb_iseq_compile(VALUE self, NODE *node)
|
|||
rb_iseq_t *iseq;
|
||||
GetISeqPtr(self, iseq);
|
||||
|
||||
if (nd_type(node) == NODE_SCOPE) {
|
||||
if (node == 0) {
|
||||
COMPILE(ret, "nil", node);
|
||||
}
|
||||
else if (nd_type(node) == NODE_SCOPE) {
|
||||
/* iseq type of top, method, class, block */
|
||||
set_local_table(iseq, node->nd_tbl);
|
||||
set_arguments(iseq, ret, node->nd_args);
|
||||
|
@ -197,9 +200,6 @@ rb_iseq_compile(VALUE self, NODE *node)
|
|||
else if (iseq->type == ISEQ_TYPE_DEFINED_GUARD) {
|
||||
COMPILE(ret, "defined guard", node);
|
||||
}
|
||||
else if (node == 0) {
|
||||
COMPILE(ret, "nil", node);
|
||||
}
|
||||
else {
|
||||
rb_bug("unknown scope");
|
||||
}
|
||||
|
|
2
eval.c
2
eval.c
|
@ -204,6 +204,8 @@ ruby_exec_internal(void)
|
|||
{
|
||||
int state;
|
||||
VALUE val;
|
||||
|
||||
if (!ruby_eval_tree) return 0;
|
||||
PUSH_TAG();
|
||||
if ((state = EXEC_TAG()) == 0) {
|
||||
GET_THREAD()->base_block = 0;
|
||||
|
|
Loading…
Reference in a new issue