From 2835df5a05a011c88e45a60c7a2728e62a3c3dfd Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 19 Apr 2006 04:57:58 +0000 Subject: * parse.y (arg): too much NEW_LIST() * eval.c (SETUP_ARGS0): remove unnecessary access to nd_alen. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ eval.c | 8 ++++---- parse.y | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 31fd6c16d0..fccf6f8327 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Apr 19 13:55:27 2006 Yukihiro Matsumoto + + * parse.y (arg): too much NEW_LIST() + + * eval.c (SETUP_ARGS0): remove unnecessary access to nd_alen. + Wed Apr 19 11:57:04 2006 Yukihiro Matsumoto * eval.c (rb_eval): use ARGSCAT for NODE_OP_ASGN1. diff --git a/eval.c b/eval.c index c6d0dd711e..4698c34021 100644 --- a/eval.c +++ b/eval.c @@ -2213,14 +2213,14 @@ copy_node_scope(node, rval) # define TMP_ALLOC(n) ALLOCA_N(VALUE,n) #endif -#define SETUP_ARGS0(anode,alen,extra) do {\ +#define SETUP_ARGS0(anode,extra) do {\ NODE *n = anode;\ if (!n) {\ argc = 0;\ argv = 0;\ }\ else if (nd_type(n) == NODE_ARRAY) {\ - argc=alen;\ + argc=anode->nd_alen;\ if (argc > 0) {\ int i;\ n = anode;\ @@ -2245,7 +2245,7 @@ copy_node_scope(node, rval) }\ } while (0) -#define SETUP_ARGS(anode) SETUP_ARGS0(anode, anode->nd_alen,0) +#define SETUP_ARGS(anode) SETUP_ARGS0(anode,0) #define BEGIN_CALLARGS do {\ struct BLOCK *tmp_block = ruby_block;\ @@ -3540,7 +3540,7 @@ rb_eval(self, n) recv = rb_eval(self, node->nd_recv); rval = node->nd_args->nd_head; - SETUP_ARGS0(node->nd_args->nd_body, node->nd_args->nd_alen-1,1); + SETUP_ARGS0(node->nd_args->nd_body, 1); val = rb_funcall3(recv, aref, argc, argv); switch (node->nd_mid) { case 0: /* OR */ diff --git a/parse.y b/parse.y index 608da7e820..b6ee2c5a8d 100644 --- a/parse.y +++ b/parse.y @@ -542,7 +542,7 @@ stmt : kALIAS fitem {lex_state = EXPR_FNAME;} fitem NODE *args; value_expr($6); - args = arg_concat(NEW_LIST($6), $3); + args = arg_concat($6, $3); if ($5 == tOROP) { $5 = 0; } @@ -1009,7 +1009,7 @@ arg : lhs '=' arg NODE *args; value_expr($6); - args = arg_concat(NEW_LIST($6), $3); + args = arg_concat($6, $3); if ($5 == tOROP) { $5 = 0; } -- cgit v1.2.3