[MacRuby] #1477: Macirb no longer understands blocks with more than one argument
MacRuby
ruby-noreply at macosforge.org
Wed Mar 28 17:27:17 PDT 2012
#1477: Macirb no longer understands blocks with more than one argument
--------------------------------+-------------------------------------------
Reporter: lastobelus@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
--------------------------------+-------------------------------------------
Comment(by watson1978@…):
Hmm, it looks like Bugs have mixed into Ripper.
{{{
require 'ripper'
class Parser < Ripper::SexpBuilder
ms = Ripper::SexpBuilder.new('').methods
defs = ms.map { |s| s.to_s }
.select { |s| s.start_with?('on_') }
.map { |s| %Q{
def #{s}(*args)
print '#{s}: '
p args
end
}}.join
eval(defs)
end
def parse(src)
puts "****" + src.inspect + "****"
Parser.new(src).parse
end
parse "def test(a,b)"
}}}
{{{
$ macruby_select 0.10 t.rb
****"def test(a,b)"****
on_kw: ["def"]
on_sp: [" "]
on_ident: ["test"]
on_lparen: ["("]
on_ident: ["a"]
on_comma: [","]
on_ident: ["b"]
on_rparen: [")"]
on_params: [[["a"], ["b"]], nil, nil, nil, nil]
on_paren: [[[["a"], ["b"]], nil, nil, nil, nil]]
on_parse_error: ["syntax error, unexpected $end"]
$ macruby t.rb
****"def test(a,b)"****
on_kw: ["def"]
on_sp: [" "]
on_ident: ["test"]
on_lparen: ["("]
on_ident: ["a"]
on_comma: [","]
on_ident: ["b"]
on_rparen: [")"]
on_parse_error: ["duplicated argument name"] # <= unexpected
on_params: [[["a"], ["b"]], nil, nil, nil, nil]
on_paren: [[[["a"], ["b"]], nil, nil, nil, nil]]
on_parse_error: ["syntax error, unexpected $end"]
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/1477#comment:1>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list