summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--parse.y16
2 files changed, 23 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3008fba22e..f04bf915cb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,15 @@ Wed Jun 1 11:30:09 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* bcc32/Makefile.sub: Dir.glob in 1.9 doesn't treat \ as path separator.
[ruby-dev:26254]
+Wed Jun 1 00:11:06 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (method_call): new experiment: "(expr)(args...)" to
+ invoke "expr.call(args...)". [EXPERIMENTAL]
+
+Tue May 31 23:43:41 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (command): revert implicit "call" for local variables.
+
Tue May 31 15:52:45 2005 GOTOU Yuuzou <gotoyuzo@notwork.org>
* lib/webrick/httpserver.rb (WEBrick::HTTPServer#run): should
diff --git a/parse.y b/parse.y
index 5d2e6690de..99cab85b7a 100644
--- a/parse.y
+++ b/parse.y
@@ -3316,6 +3316,18 @@ method_call : operation paren_args
$$ = dispatch0(zsuper);
%*/
}
+ | tLPAREN compstmt ')' paren_args
+ {
+ /*%%%*/
+ if (!$2) $2 = NEW_NIL();
+ $$ = new_call($2, rb_intern("call"), $4);
+ fixpos($$, $2);
+ /*%
+ $$ = dispatch3(call, dispatch1(paren, $2),
+ ripper_id2sym('.'), rb_intern("call"));
+ $$ = method_optarg($$, $4);
+ %*/
+ }
;
brace_block : '{'
@@ -7869,10 +7881,10 @@ new_fcall_gen(parser, m, a)
NODE *a;
{
if (a && nd_type(a) == NODE_BLOCK_PASS) {
- a->nd_iter = fcall_gen(parser,m,a->nd_head);
+ a->nd_iter = NEW_FCALL(m,a->nd_head);
return a;
}
- return fcall_gen(parser, m,a);
+ return NEW_FCALL(m, a);
}
static NODE*