#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/>