From e12090b9b23d54f41175f7fb3528419048f8c2bb Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 8 Apr 2007 04:27:41 +0000 Subject: [PATCH] * compile.c (defined_expr): test arguments of NODE_CALL and so on as well as NODE_ATTRASGN. [ruby-core:10886] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ compile.c | 11 +++++++---- version.h | 6 +++--- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 83e536b64e..e5aa3bfcd3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Apr 8 13:28:17 2007 Nobuyoshi Nakada + + * compile.c (defined_expr): test arguments of NODE_CALL and so + on as well as NODE_ATTRASGN. [ruby-core:10886] + Fri Apr 6 10:56:29 2007 NAKAMURA Usaku * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_get_group): get rid of diff --git a/compile.c b/compile.c index e12e58f8d9..bba5e096c8 100644 --- a/compile.c +++ b/compile.c @@ -2031,8 +2031,9 @@ defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, LABEL *lfinish, VALUE needstr) { char *estr = 0; + enum node_type type; - switch (nd_type(node)) { + switch (type = nd_type(node)) { /* easy literals */ case NODE_NIL: @@ -2146,15 +2147,17 @@ defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *ret, LABEL *lfalse = NULL; int self = Qtrue; - switch (nd_type(node)) { + switch (type) { case NODE_ATTRASGN: - lfalse = NEW_LABEL(nd_line(node)); - defined_expr(iseq, ret, node->nd_args, lfinish, Qfalse); if (node->nd_recv == (NODE *)1) break; case NODE_CALL: self = Qfalse; break; } + if (node->nd_args) { + lfalse = NEW_LABEL(nd_line(node)); + defined_expr(iseq, ret, node->nd_args, lfinish, Qfalse); + } if (!self) { LABEL *lcont = NEW_LABEL(nd_line(node)); diff --git a/version.h b/version.h index ed7122585e..647d474626 100644 --- a/version.h +++ b/version.h @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.9.0" -#define RUBY_RELEASE_DATE "2007-04-06" +#define RUBY_RELEASE_DATE "2007-04-08" #define RUBY_VERSION_CODE 190 -#define RUBY_RELEASE_CODE 20070406 +#define RUBY_RELEASE_CODE 20070408 #define RUBY_PATCHLEVEL 0 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_YEAR 2007 #define RUBY_RELEASE_MONTH 4 -#define RUBY_RELEASE_DAY 6 +#define RUBY_RELEASE_DAY 8 RUBY_EXTERN const char ruby_version[]; RUBY_EXTERN const char ruby_release_date[];