summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-29 06:09:40 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-11-29 06:09:40 +0000
commit83cb605d69f20be5fe842a913e51d017f61cdc44 (patch)
treeb227250a931f8465854064c4860265d76a1974c9 /parse.y
parent6e221605373ff89fd52d08d5df86cfb0bd805de7 (diff)
* object.c (convert_type): [ruby-core:03845]
* eval.c (rb_funcall_rescue): new function. * object.c (rb_Array): avoid using rb_respond_to(). * object.c (rb_Integer): ditto. * eval.c (get_backtrace): no conversion for nil. * parse.y (reduce_nodes): empty body should return nil. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 4 insertions, 0 deletions
diff --git a/parse.y b/parse.y
index 00a458f946..5bc3476014 100644
--- a/parse.y
+++ b/parse.y
@@ -7178,6 +7178,10 @@ reduce_nodes(body)
{
NODE *node = *body;
+ if (!node) {
+ *body = NEW_NIL();
+ return;
+ }
#define subnodes(n1, n2) \
((!node->n1) ? (node->n2 ? (body = &node->n2, 1) : 0) : \
(!node->n2) ? (body = &node->n1, 1) : \