From 1b66559c660a307598c58a1d37439baa916ab97c Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 29 Oct 2004 02:35:11 +0000 Subject: [PATCH] * parse.y (rb_parser_append_print, rb_parser_while_loop): body node can be empty. [ruby-dev:24628] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ parse.y | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7d83143ac2..6c8c2d7741 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Oct 29 11:35:04 2004 Nobuyoshi Nakada + + * parse.y (rb_parser_append_print, rb_parser_while_loop): body node + can be empty. [ruby-dev:24628] + Fri Oct 29 10:00:30 2004 Yukihiro Matsumoto * eval.c (ruby_cleanup): ruby_finalize_1 may cause exception, diff --git a/parse.y b/parse.y index d18c59b06b..123fa9e6a0 100644 --- a/parse.y +++ b/parse.y @@ -7771,9 +7771,10 @@ NODE* rb_parser_append_print(node) NODE *node; { - NODE *prelude = (nd_type(node) == NODE_PRELUDE) ? node : 0; + NODE *prelude = 0; - if (prelude) { + if (node && (nd_type(node) == NODE_PRELUDE)) { + prelude = node; node = node->nd_body; } node = block_append(node, @@ -7791,9 +7792,10 @@ rb_parser_while_loop(node, chop, split) NODE *node; int chop, split; { - NODE *prelude = (nd_type(node) == NODE_PRELUDE) ? node : 0; + NODE *prelude = 0; - if (prelude) { + if (node && (nd_type(node) == NODE_PRELUDE)) { + prelude = node; node = node->nd_body; } if (split) {