diff --git a/ChangeLog b/ChangeLog index 31a99b0e01..a26cf17c6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Feb 26 15:50:10 2008 Nobuyoshi Nakada + + * parse.y (value_expr_gen): removed inappropriate warning. + [ruby-core:15660] + Tue Feb 26 15:43:42 2008 Tanaka Akira * parse.y (tokadd_escape): refactored. [ruby-core:15657] diff --git a/parse.y b/parse.y index 886457823f..6a8375d04e 100644 --- a/parse.y +++ b/parse.y @@ -7902,6 +7902,14 @@ value_expr_gen(struct parser_params *parser, NODE *node) break; case NODE_IF: + if (!node->nd_body) { + node = node->nd_else; + break; + } + else if (!node->nd_else) { + node = node->nd_body; + break; + } if (!value_expr(node->nd_body)) return Qfalse; node = node->nd_else; break;