summaryrefslogtreecommitdiffstats
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
commitc36d3ee9a9a3cb252dea1e2de475ff224f3ad7f6 (patch)
treeb227250a931f8465854064c4860265d76a1974c9 /parse.y
parent9fdc6ff0d98ded8ebb5b5c9ec8fb6d302855e0a7 (diff)
downloadruby-c36d3ee9a9a3cb252dea1e2de475ff224f3ad7f6.tar.gz
ruby-c36d3ee9a9a3cb252dea1e2de475ff224f3ad7f6.tar.xz
ruby-c36d3ee9a9a3cb252dea1e2de475ff224f3ad7f6.zip
* 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: http://svn.ruby-lang.org/repos/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 00a458f94..5bc347601 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) : \