mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* parse.y (bv_decls, bvar): fix for block variables.
[ruby-dev:39423] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7b26a97142
commit
72ad8595f2
3 changed files with 18 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
Sat Oct 3 22:14:18 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* parse.y (bv_decls, bvar): fix for block variables.
|
||||
[ruby-dev:39423]
|
||||
|
||||
Sat Oct 3 21:19:18 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* vm_method.c (rb_add_method_def): no redefinition warning on
|
||||
|
|
6
parse.y
6
parse.y
|
@ -3403,7 +3403,7 @@ bv_decls : bvar
|
|||
/*%c%*/
|
||||
/*%c
|
||||
{
|
||||
$$ = rb_ary_new2($1);
|
||||
$$ = rb_ary_new3(1, $1);
|
||||
}
|
||||
%*/
|
||||
| bv_decls ',' bvar
|
||||
|
@ -3417,10 +3417,10 @@ bv_decls : bvar
|
|||
|
||||
bvar : tIDENTIFIER
|
||||
{
|
||||
new_bv($1);
|
||||
new_bv(get_id($1));
|
||||
/*%%%*/
|
||||
/*%
|
||||
$$ = $1;
|
||||
$$ = get_value($1);
|
||||
%*/
|
||||
}
|
||||
| f_bad_arg
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
begin
|
||||
|
||||
require_relative 'dummyparser'
|
||||
require_relative '../ruby/envutil'
|
||||
require 'test/unit'
|
||||
|
||||
class TestRipper_ParserEvents < Test::Unit::TestCase
|
||||
|
@ -566,6 +567,15 @@ class TestRipper_ParserEvents < Test::Unit::TestCase
|
|||
assert_equal("[fcall(p,[],&block([w],[#{div}]))]", parse("p{|w|w /25 # /\n}"), bug1939)
|
||||
assert_equal("[def(p,[w],bodystmt([#{div}]))]", parse("def p(w)\nw /25 # /\nend"), bug1939)
|
||||
end
|
||||
|
||||
def test_block_variables
|
||||
assert_equal("[fcall(proc,[],&block([],[void()]))]", parse("proc{|;y|}"))
|
||||
if defined?(Process::RLIMIT_AS)
|
||||
assert_in_out_err(["-I#{File.dirname(__FILE__)}", "-rdummyparser"],
|
||||
'Process.setrlimit(Process::RLIMIT_AS,102400); puts DummyParser.new("proc{|;y|}").parse',
|
||||
["[fcall(proc,[],&block([],[void()]))]"], [], '[ruby-dev:39423]')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
rescue LoadError
|
||||
|
|
Loading…
Reference in a new issue