+ 1.8 and 1.9 now treat f { |(...)| } differently, per MRI.
! iter nodes are now structurally the same as defs. Block args are COMPLETELY different.
+ 1.9: covered all forms of block args: optional, splat, block, and destructuring
Cleaned up arg helper methods.
Added clean_mlhs.

[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7869]
+ 1.9: Finished coverage for masgn variants in block args
Renamed block_var to block_var18
Readded block_var for 1.9 only, using #args as the main impl.

[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7871]
+ 1.9: Added __ENCODING__ support. (witlessbird)
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7872]
prepped for release
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7873]
- Fixed the worst abuse of heredocs EVER. Just because it is valid doesn't mean you should.
Minor cleanup

[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7875]
- Fixed parsing of 'a[] = b'
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7876]
1.9: switch to hack_encoding instead of trying utf-8 first. Fixed a number of false positives
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7882]
+ Optimized regexp used for identifiers. (presidentbeef)
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7893]
+ Added RBStringScanner#string_to_pos using String#byteslice.
       + Added RBStringScanner#charpos using #string_to_pos.
       - Fixed current_line and unread_many depending on StringScanner#pos

       Why the fuck is StringScanner#pos byte-oriented in 1.9?!? That makes NO sense.

       This brings me up to 99.967% success rate against 558k files, bringing me 3.6σ. Rawr.

[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7894]
prepped for release
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7895]
+ Lexing regexps w/ bad character encodings and no declared options will fall back to /n

[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7903]
Minor cleanup
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7904]
- 1.9.2 doesn't have String#byteslice... so I have to do the *HORRIBLE*.

[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7916]
prepped for release
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7917]
+ Only output parseerror output to stderr if $DEBUG.
- Fixed RubyParser#process to reuse parser instances across calls.
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7933]
+ Minor optimization to RubyLexer#parse_number
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7934]
+ Added RP_TIMEOUT env var to override default timeout of 10 seconds.
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7935]
Oops. Broke the tests with the error output changes.

[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7936]
- 1.9: Fixed lexing stabby lambda w/ do/end
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7961]
- 1.9: Fixed args in dot-call forms (eg f.(...)).
[git-p4: depot-paths = "//src/ruby_parser/dev/": change = 7963]