- lexer.rl: "Rainbows! do end", "foo.S?": allow bareword fid in expr_beg/dot.
Add fast mode to parser gauntlet.
- lexer.rl: "def defined?": properly return defined? in expr_fname.
- lexer.rl: "foo.bar= {1=>2}": return fid, = as separate tokens in expr_dot.
- lexer.rl: "E10", "E4U": don't conflate floats and identifiers.
- lexer.rl: "\xE2\x80\x99": concatenation of byte escape sequences.
- lexer.rl: "foo;\n__END__", "\na:b": whitespace in expr_value.
- lexer.rl: "\777": octal literals overflow.
- Don't attempt to parse magic encoding comment in 1.8 mode.
+ Source::Buffer: support for -(dos|unix|mac) and utf8-mac encodings.
- builders/default: don't check for duplicate arguments in 1.8 mode.
- lexer.rl: "=begin\n#=end\n=end": only recognize =end at bol.
- lexer.rl: "f.x!if 1": correct modifier handling in expr_arg.
- lexer.rl: "begin; rescue rescue1; end": accept barewords at expr_mid.
- lexer.rl: "puts 123do end": only trailing `_' and `e' in number are errors.
- lexer.rl: "rescue=>": correctly handle rescue+assoc at expr_beg.
* lexer.rl: add simple explicit output encoding for strings.
g
- lexer.rl: "while not (1) do end": emit proper kDO* when in cond/cmdarg state.
- lexer.rl: "let [] {}": goto tLBRACE_ARG after any closing braces.