summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-11-07 09:38:12 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-11-07 09:38:12 +0000
commitbd580c48556e509aee516e1fc051fd6044650f2c (patch)
treea93c68953531459a12c4b023fa9d8cac89748fc3
parentce99fd222e6dca8482cb2dba0956d6061afd6763 (diff)
* eval.c (formal_assign): need to pack rest arg information in
argc. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--eval.c15
2 files changed, 10 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 3f13795605..09651f36c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Nov 7 18:35:18 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (formal_assign): need to pack rest arg information in
+ argc.
+
Tue Nov 7 18:05:01 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tk/lib/tk/itemconfig.rb: minor bug fix.
diff --git a/eval.c b/eval.c
index 8b25fa1550..b9c0c71b56 100644
--- a/eval.c
+++ b/eval.c
@@ -5689,17 +5689,12 @@ formal_assign(VALUE recv, NODE *node, int argc, const VALUE *argv, VALUE *local_
}
else {
VALUE v;
+ int n = 1;
- if (argc > 0) {
- int n = 1;
- v = rb_ary_new4(argc,argv);
- n += npost;
- i += n*256;
- i = -i;
- }
- else {
- v = rb_ary_new2(0);
- }
+ v = rb_ary_new4(argc,argv);
+ n += npost;
+ i += n*256;
+ i = -i;
assign(recv, node->nd_rest, v, 1);
}
return i;