From b15fe02d194990c0eba875b733b41ae598e90211 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 12 May 2008 05:05:50 +0000 Subject: [PATCH] * eval.c (is_defined): add NODE_OP_ASGN_{OR,AND}. "defined?(a||=1)" should not operate assignment. [ruby-dev:34645] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ compile.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1d2906347f..a8ef50bc79 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon May 12 13:57:19 2008 Yukihiro Matsumoto + + * eval.c (is_defined): add NODE_OP_ASGN_{OR,AND}. "defined?(a||=1)" + should not operate assignment. [ruby-dev:34645] + Mon May 12 13:29:26 2008 Tanaka Akira * bignum.c (bigzero_p): check from MSB to LSB. [ruby-dev:34649] diff --git a/compile.c b/compile.c index 93bcb8a12f..e29d6aedd3 100644 --- a/compile.c +++ b/compile.c @@ -2473,6 +2473,8 @@ defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *ret, case NODE_OP_ASGN1: case NODE_OP_ASGN2: + case NODE_OP_ASGN_OR: + case NODE_OP_ASGN_AND: case NODE_MASGN: case NODE_LASGN: case NODE_DASGN: