Skip to content

Commit

Permalink
merges r25405 from trunk into ruby_1_9_1. fixes the backport task #2233.
Browse files Browse the repository at this point in the history
--
* parse.y (method_call): dispatch symbols.  a patch from Andy Keep in
  [ruby-core:26169].  [ruby-core:26165]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@26013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
yugui committed Dec 5, 2009
1 parent fbfcacb commit c5a533a
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 10 deletions.
5 changes: 4 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
Tue Oct 20 15:07:37 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
Tue Oct 20 15:28:49 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>

* parse.y (method_call): dispatch symbols. a patch from Andy Keep in
[ruby-core:26169]. [ruby-core:26165]

* parse.y (mlhs_basic): fixed handling splat in middle of mlhs. a
patch from Andy Keep in [ruby-core:26163]
Expand Down
8 changes: 4 additions & 4 deletions parse.y
Original file line number Diff line number Diff line change
Expand Up @@ -3615,8 +3615,8 @@ method_call : operation paren_args
$$ = NEW_CALL($1, rb_intern("call"), $3);
fixpos($$, $1);
/*%
$$ = dispatch3(call, dispatch1(paren, $1),
ripper_id2sym('.'), rb_intern("call"));
$$ = dispatch3(call, $1, ripper_id2sym('.'),
ripper_intern("call"));
$$ = method_optarg($$, $3);
%*/
}
Expand All @@ -3626,8 +3626,8 @@ method_call : operation paren_args
$$ = NEW_CALL($1, rb_intern("call"), $3);
fixpos($$, $1);
/*%
$$ = dispatch3(call, dispatch1(paren, $1),
ripper_id2sym('.'), rb_intern("call"));
$$ = dispatch3(call, $1, ripper_intern("::"),
ripper_intern("call"));
$$ = method_optarg($$, $3);
%*/
}
Expand Down
22 changes: 18 additions & 4 deletions test/ripper/test_parser_events.rb
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,24 @@ def test_bodystmt
assert_equal true, thru_bodystmt
end

def test_call
bug2233 = '[ruby-core:26165]'
tree = nil

thru_call = false
assert_nothing_raised {
tree = parse("self.foo", :on_call) {thru_call = true}
}
assert_equal true, thru_call
assert_equal "[call(ref(self),.,foo)]", tree
thru_call = false
assert_nothing_raised(bug2233) {
tree = parse("foo.()", :on_call) {thru_call = true}
}
assert_equal true, thru_call
assert_equal "[call(ref(foo),.,call,[])]", tree
end

def test_heredoc
bug1921 = '[ruby-core:24855]'
thru_heredoc_beg = false
Expand Down Expand Up @@ -265,10 +283,6 @@ def test_break
assert_equal true, $thru__break
end
def test_call
assert_equal true, $thru__call
end
def test_case
assert_equal true, $thru__case
end
Expand Down
2 changes: 1 addition & 1 deletion version.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#define RUBY_VERSION "1.9.1"
#define RUBY_PATCHLEVEL 366
#define RUBY_PATCHLEVEL 367
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 9
#define RUBY_VERSION_TEENY 1
Expand Down

0 comments on commit c5a533a

Please sign in to comment.