Changelog for
ruby2.1-rubygem-ruby_parser-3.19.2-98.1.x86_64.rpm :
* Wed Dec 07 2022 cooloAATTsuse.comupdated to version 3.19.2 see installed History.rdoc === 3.19.2 / 2022-12-03
* 5 bug fixes:
* Fixed bug parsing array patterns using %w, %i, etc.
* Fixed dedenting when heredoc has only empty line and interpolation. (mvz)
* Fixed dsym unescaping. (mvz)
* Fixed vars in pattern matching that should be lasgn, not lvar.
* find_pat mid-patterns are now splatted inline, not wrapped in an array_pat.
* Thu Apr 28 2022 cooloAATTsuse.comupdated to version 3.19.1 see installed History.rdoc === 3.19.1 / 2022-04-05
* 2 bug fixes:
* Added comments to endless defn and defs. (mvz)
* Fixed endless method bug handling attrset names. === 3.19.0 / 2022-03-29
* 1 major enhancement:
* Added tentative 3.1 support.
* 7 minor enhancements:
* 3.1: bare RHS assoc: { y: } => s(:hash, s(:lit, :y), nil)
* 3.1: calls w/ unnamed block args (bare &)
* 3.1: endless defn/defs w/ paren-less calls (aka commands)
* 3.1: pattern capture to nonlocal vars, eg: ^AATTa, ^$b, ^AATTAATTc
* 3.1: pattern: ^(expr) => expr
* Improved steps for adding new versions.
* Improved steps for running gauntlets.
* 2 bug fixes:
* Bumped 2.6+ cached versions for rake compare.
* Skip test_regexp_esc_C_slash on ruby 3.1.0 because of MRI bug.
* Tue Jan 25 2022 cooloAATTsuse.comupdated to version 3.18.1 see installed History.rdoc === 3.18.1 / 2021-11-10
* 1 minor enhancement:
* All parser tests are now explicitly testing line numbers at every level.
* 3 bug fixes:
* Fixed endless method with noargs. (mitsuru)
* Fixed line numbers on some yield forms.
* Handle and clearly report if unifdef is missing. === 3.18.0 / 2021-10-27 Holy crap... 58 commits! 2.7 and 3.0 are feature complete. Strings & heredocs have been rewritten.
* 9 major enhancements:
* !!! Rewrote lexer (and friends) for strings, heredocs, and %
*[] constructs.
* Massive overhaul on line numbers.
* Freeze input! Finally!!! No more modifying the input string for heredocs.
* Overhauled RPStringScanner. Removed OLD compatibility methods!
* Removed Sexp methods: value, to_sym, add, add_all, node_type, values.
* value moved to sexp_processor.
* Removed String#grep monkey-patch.
* Removed String#lineno monkey-patch.
* Removed string_to_pos, charpos, etc hacks for ancient ruby versions.
* Removed unread_many... NO! NO EDITING THE INPUT STRING!
* 31 minor enhancements:
* 2.7/3.0: many more pattern edge cases
* 2.7: Added `mlhs = rhs rescue expr`
* 2.7: refactored destructured args (`|(k,v)|`) and unfactored(?!) case_body/args.
* 3.0: excessed_comma
* 3.0: finished most everything: endless methods, patterns, etc.
* 3.0: refactored / added new pattern changes
* Added RubyLexer#in_heredoc? (ie, is there old_ss ?)
* Added RubyLexer#old_ss and old_lineno and removed much of SSStack(ish).
* Added Symbol#end_with? when necessary
* Added TALLY and DEBUG options for ss.getch and ss.scan
* Added ignore_body_comments to make parser productions more clear.
* Added support for no_kwarg (eg `def f(
*
*nil)`).
* Added support for no_kwarg in blocks (eg `f { |
*
*nil| }`).
* Augmented generated parser files to have frozen_string_literal comments and fixed tests.
* Broke out 3.0 parser into its own to ease development.
* Bumped dependencies on sexp_processor and oedipus_lex.
* Clean generated 3.x files.
* Extracted all string scanner methods to their own module.
* Fixed some precedence decls.
* Implemented most of pattern matching for 2.7+.
* Improve lex_state= to report location in verbose debug mode.
* Made it easier to debug with a particular version of ruby via rake.
* Make sure ripper uses the same version of ruby we specified.
* Moved all string/heredoc/etc code to ruby_lexer_strings.rb
* Remove warning from newer bisons.
* Sprinkled in some frozen_string_literal, but mostly helped by oedipus bump.
* Switch to comparing against ruby binary since ripper is buggy.
* bugs task should try both bug
*.rb and bad
*.rb.
* endless methods
* f_any_kwrest refactoring.
* refactored defn/defs
* 15 bug fixes:
* Cleaned a bunch of old hacks. Initializing RubyLexer w/ Parser is cleaner now.
* Corrected some lex_state errors in process_token_keyword.
* Fixed ancient ruby2 change (use #lines) in ruby_parse_extract_error.
* Fixed bug where else without rescue only raises on 2.6+
* Fixed caller for getch and scan when DEBUG=1
* Fixed comments in the middle of message cascades.
* Fixed differences w/ symbol productions against ruby 2.7.
* Fixed dsym to use string_contents production.
* Fixed error in bdot2/3 in some edge cases. Fixed p_alt line.
* Fixed heredoc dedenting in the presence of empty lines. (mvz)
* Fixed some leading whitespace / comment processing
* Fixed up how class/module/defn/defs comments were collected.
* Overhauled ripper.rb to deal with buggy ripper w/ yydebug.
* Removed dsym from literal.
* Removed tUBANG lexeme but kept it distinct as a method name (eg: `def !AATT`). === 3.17.0 / 2021-08-03
* 1 minor enhancement:
* Added support for arg forwarding (eg `def f(...); m(...); end`) (presidentbeef)
* Thu Jun 24 2021 cooloAATTsuse.comupdated to version 3.16.0 see installed History.rdoc === 3.16.0 / 2021-05-15
* 1 major enhancement:
* Added tentative 3.0 support.
* 3 minor enhancements:
* Added lexing for \"beginless range\" (bdots).
* Added parsing for bdots.
* Updated rake compare task to download xz files, bumped versions, etc
* 4 bug fixes:
* Bump rake dependency to >= 10, < 15. (presidentbeef)
* Bump sexp_processor dependency to 4.15.1+. (pravi)
* Fixed minor state mismatch at the end of parsing to make diffing a little cleaner.
* Fixed normalizer to deal with new bison token syntax
* Wed Jan 20 2021 cooloAATTsuse.comupdated to version 3.15.1 see installed History.rdoc === 3.15.1 / 2021-01-10
* 1 bug fix:
* Bumped ruby version to include < 4 (trunk).
* Fri Sep 25 2020 cooloAATTsuse.comupdated to version 3.15.0 see installed History.rdoc === 3.15.0 / 2020-08-31
* 1 major enhancement:
* Added tentative 2.7 support.
* 1 minor enhancement:
* Improved ruby_parse_extract_error\'s handling of moving slow files out.
* 22 bug fixes:
* Bumped ruby version to include 3.0 (trunk).
* Fix an error related to empty ensure bodies. (presidentbeef)
* Fix handling of bad magic encoding comment.
* Fixed SystemStackError when parsing a huoooge hash, caused by a splat arg.
* Fixed a number of errors parsing do blocks in strange edge cases.
* Fixed a string backslash lexing bug when the string is an invalid encoding. (nijikon, gmcgibbon)
* Fixed bug assigning line number to some arg nodes.
* Fixed bug concatinating string literals with differing encodings.
* Fixed bug lexing heredoc w/ nasty mix of \\r\
and \
.
* Fixed bug lexing multiple codepoints in \\u{0000 1111 2222} forms.
* Fixed bug setting line numbers in empty xstrings in some contexts.
* Fixed edge case on call w/ begin + do block as an arg.
* Fixed handling of UTF BOM.
* Fixed handling of lexer state across string interpolation braces.
* Fixed infinite loop when lexing backslash+cr+newline (aka dos-files)
* Fixed lambda + do block edge case.
* Fixed lexing of some ?\\M... and ?\\C... edge cases.
* Fixed more do/brace block edge case failures.
* Fixed parsing bug where splat was used in the middle of a list.
* Fixed parsing of interpolation in heredoc-like strings. (presidentbeef)
* Fixed parsing some esoteric edge cases in op_asgn.
* Fixed unicode processing in ident chars so now they better mix.
* Mon Feb 10 2020 cooloAATTsuse.com- updated to version 3.14.2 see installed History.rdoc === 3.14.2 / 2020-02-06
* 1 minor enhancement:
* Cleaned up call_args and removed arg_blk_pass from ruby_parser_extras.rb! Yay! === 3.14.1 / 2019-10-29
* 1 minor enhancement:
* Declared that ruby_parser supports ruby 2.2 and up.
* 3 bug fixes:
* Fixed a problem with %W with a null-byte terminator. (wtf?) (spohlenz)
* Fixed line numbering for command (eg methods without parentheses) arguments. (mvz)
* Fixed lineno on new dxstrs. (presidentbeef) === 3.14.0 / 2019-09-24
* 8 minor enhancements:
* Added Sexp#line_min & new line number debugging feature.
* Allow bin/ruby_parse to use RP_TIMEOUT to tweak default timeout for large files & slow debugging modes.
* Did you know that custom inspect can\'t be > 65 chars? 65! Me neither. Fixed.
* For now, value_expr == remove_begin.
* Improved error messages for unterminated regexps.
* Moved all STR_
* consts into State::Values and made them State instances.
* Overhauled RubyLexer::State + Values to allow for completely separate groups of States.
* RubyParserExtras#remove_begin removes nested begins and patches line numbers.
* 22 bug fixes:
* Changed EOF signaling to return [false, false] per doco.
* Changed RubyParserStuff#remove_begin to keep inner line number, if any. (mvz)
* Differentiated between lambda call and stabby proc. Added :lambda sexp. (whitequark)
* Extended State#== to check equal? first as an optimization.
* Fixed a bug in tab indent width.
* Fixed a line numbering bug for assignables.
* Fixed a line numbering bug for defns w/ nil bodies.
* Fixed another missing line number, driven out by ruby_to_ruby bootstrap.
* Fixed dedenting squiggle heredocs if interpolation is in the mix. (mvz)
* Fixed differentiation of `{ |a| ... }` vs `{ |a,| ... }`. Fixes #236 (whitequark).
* Fixed lex_state for symbols.
* Fixed lex_state for tSTRING_END and tREGEXP_END.
* Fixed line numbers for BEGIN block. (mvz)
* Fixed op_asgn1 w/ command_call having array instead of arglist. (mvz)
* Fixed parsing of () in a command-call (eg p).
* Fixed remaining missing line numbers by forcing extra checks during test and blowing up. They may still be wrong (esp after heredocs, ugh), but they\'re there! Special thank you to mvz for pushing on this and providing tests and PRs.
* Fixed some lex_state versioning issues with closing braces/bracket on ruby<25.
* Keep carriage return escapes in heredocs. (mvz)
* Massive overhaul of line number code.
* More line number fixes and extra tests from mvz. Thank you!
* Parsing BEGIN block when not at top level should raise an error. (mvz)
* Removed irb task from Rakefile as it has been pushed up to Hoe and doubles up here.
* Fri Mar 29 2019 cooloAATTsuse.com- updated to version 3.13.1 see installed History.rdoc === 3.13.1 / 2019-03-25
* 1 major enhancement:
* Overhauled RubyLexer#lex_state to allow for multi-state value.
* 5 minor enhancements:
* Added RubyParser#current so scripts can poke around inside.
* Cleaned up and modernized bin/ruby_parse_extract_error.
* Removed RubyLexer#in_lex_state? in favor of State#=~ and #==.
* Renamed RubyLexer#in_arg_state? to is_after_operator?.
* Replaced all use of :expr_<
*> symbols w/ bitfields.
* 15 bug fixes:
* Added tests to show #233 already fixed.
* Fixed a lexer state bug dealing with complex edge case in hash key w/ interpolated symbol and an array value. Not a great fix. (presidentbeef)
* Fixed a number of lex_state check problems.
* Fixed alias and undef keyword data.
* Fixed bug normalizing to utf-8 on tail of dstr (post-interpolation). (mvz)
* Fixed handling of hex chars for bare unicode escape. (mvz)
* Fixed handling of invalid string octals more gracefully. Needs generalization.
* Fixed lexing of regexps w/ backslashed unicode. I hope.
* Fixed parse_percent for EXPR_FITEM edge cases. Fixed bug #125.
* Fixed parsing of op_asgn on constants (eg ::X ||= 1).
* Fixed precedence of rescue modifier on assignments. (mvz/whitequark)
* Fixed some EXPR_FNAME edge cases.
* Fixed using unicode in gvars. Fixed bug 202. (331299)
* Handle invalid string literals more gracefully.
* Minor fix lexing %s[]
* Thu Mar 14 2019 cooloAATTsuse.com- updated to version 3.13.0 see installed History.rdoc === 3.13.0 / 2019-03-12
* 3 major enhancements:
* Removed 1.8 and 1.9 support. Moved to ruby_parser-legacy gem.
* Added tentative 2.6 support.
* Updated ruby_parser.yy to ruby 2.4 architecture.
* 22 minor enhancements:
* Added debug3 and cmp3 rake tasks that use the above tools.
* Added tLONELY to compare/normalize.rb
* Added tools/munge.rb, tools/ripper.rb, and debugging.md
* 2.6: Added trailing .. and ... support.
* Extended StackState to log more state changes, making debugging easier.
* Extended StackState#store to take an initial value.
* Improved logging / debugging in StackState.
* Improved normalization and parser compare tasks.
* Improved tools/munge.rb output.
* In f_arglist, track in_kwarg if no parens.
* In process_newline_or_comment, handle NL if in_kwarg there vs normal.
* Refactored normalized values to WORDLIST.
* Refactored parser: push up to relop and rel_expr.
* Removed Keyword.keyword18.
* Removed RubyLexer version attr_accessors.
* Removed long dead deprecations internal to RubyParserStuff.
* Removed version arg to RubyLexer#initialize (default nil + no-op).
* Renamed Keyword.keyword19 to Keyword.keyword.
* Renamed process_bracing to process_brace_close
* Renamed process_curly_brace to process_brace_open
* Report first parse error message if all parser versions fail, not last.
* Updated parser to track against 2.6.
* 11 bug fixes:
* Fix some shift/reduce errors.
* Fixed BEGIN blocks having different arg value that END blocks. (mvz)
* Fixed all reported unused non-terminals/rules.
* Fixed bug 272.
* Fixed bug in interpolated symbol lists. (strviola)
* Fixed bug where block shadow arguments were not registered as lvars. (akimd)
* Fixed bug where kwsplat args weren\'t treated as lvars. (mvz)
* Fixed lex_state and other internals in many cases.
* Fixed shebang in compare/normalize.rb to use env. Avoids rubygems freaking.
* Fixed some more internal state bugs.
* Fixed tRCURLY -> tSTRING_DEND for interpolation brace closes.
* Sat Dec 08 2018 cooloAATTsuse.com- updated to version 3.12.0 see installed History.rdoc === 3.12.0 / 2018-12-04
* 3 minor enhancements:
* 2.5: Allow rescue/ensure/else in normal do blocks. (presidentbeef)
* Added stabby proc with do/end as block call argument. (presidentbeef)
* Holy cow levels of optimization from presidentbeef. I write slow bad code.
* 1 bug fix:
* Improve handling of single-quoted symbols and labels. (mvz)
* Thu Feb 15 2018 bgeukenAATTsuse.com- Update to 3.11.0
* 1 major enhancement:
* Expand to support ruby 2.5 parsing.
* 3 bug fixes:
* Fixed %r lexing when delimiter is also used in (?X) group.
* Restore newline after label to detect required kwarg. (presidentbeef)
* Return `s(:self)` target for `self[]` calls. (presidentbeef)
* Thu Aug 03 2017 cooloAATTsuse.com- updated to version 3.10.1 see installed History.rdoc === 3.10.1 / 2017-07-21
* 2 bug fixes:
* Fixed identification of parser version whether Ruby##Parser or Parser::V##.
* Fixed squiggly heredoc lexing when using 24 parser. === 3.10.0 / 2017-07-17
* 4 minor enhancements:
* Added support for \'squiggly heredocs\' (indented content). (jjoos)
* Bumped oedipus_lex to ~> 2.5.
* Bumped sexp_processor to ~> 4.9.
* Made STRICT_SEXP=1 safe: converted indexed sexps to semantic calls where needed.
* 5 bug fixes:
* Clear and restore cmdarg stack around defs args and body. (presidentbeef)
* Conditionalize use of sexp_body= to make it compatible w/ sexp_processor 4.9.0
* Fix up line numbers in strings with newlines and `#`. (presidentbeef)
* Fixed line numbers of resbodies.
* Fixed some tracking of lexical state. Fixes bug #249.
* Fri Apr 14 2017 cooloAATTsuse.com- updated to version 3.9.0 see installed History.rdoc === 3.9.0 / 2017-04-13
* 1 major enhancement:
* Added tentative ruby 2.4 support. Probably missing things.
* 13 minor enhancements:
* Added RubyParser.latest.
* Added RubyParser::Parser.version to make version range comparisons easier
* Changed superclasses of all parsers to RubyParser::Parser
* Cleaned up a lot of the version specific code to be more generic/flexible.
* Documented how to add new versions in README.
* Moved RubyParser from ruby_parser_extras.rb into ruby_parser.rb to fix bootstrap issues.
* Renamed RubyParserStuff#get_match_node to new_match. Aliased and deprecated.
* Renamed RubyParserStuff#logop to logical_op. Aliased and deprecated.
* Renamed RubyParserStuff#node_assign to new_assign. Aliased and deprecated.
* Renamed all parsers to RubyParser::V##.
* Revamped grammar preprocessing to make adding new versions easier.
* RubyParser.for_current_ruby falls back to latest if current not available.
* Subclasses of RubyParser::Parser register themselves into RubyParser::VERSIONS.
* 4 bug fixes:
* Fixed `&.` after newline. (presidentbeef)
* Fixed bug setting line number for hash literals to line of opening brace.
* Fixed grammar preprocessing bug.
* Properly handle kDO with no-parens stabby lambda. (presidentbeef)
* Sat Jan 14 2017 cooloAATTsuse.com- updated to version 3.8.4 History.txt removed upstream
* Mon Oct 10 2016 cooloAATTsuse.com- updated to version 3.8.3 see installed History.txt === 3.8.3 / 2016-10-09
* 1 minor enhancement:
* Support Ruby 2.1 number literals. (soutaro)
* 3 bug fixes:
* Fixed line numbers for strs with backslash-newlines. (maxjacobson)
* Improved compatibility on tokenizing number. (soutaro)
* Refactored and fixed multiline array line numbers. (ptoomey3, with changes)
* Fri May 06 2016 cooloAATTsuse.com- updated to version 3.8.2 see installed History.txt === 3.8.2 / 2016-05-05
* 2 bug fixes:
* Fixed lex_state in interpolated strings. (whitequark)
* Fixed safe operator for newline/semicolon contexts. (presidentbeef)
* Wed Mar 02 2016 cooloAATTsuse.com- updated to version 3.8.1 see installed History.txt === 3.8.1 / 2016-02-19
* 1 bug fix:
* Fixed problems with tLONELY in mlhs_node.
* Fri Feb 19 2016 cooloAATTsuse.com- updated to version 3.8.0 see installed History.txt === 3.8.0 / 2016-02-18
* 1 major enhancement:
* Added support for Ruby 2.3.0 and the &. operator. (presidentbeef)
* 2 minor enhancements:
* Add support for safe attr assign. (presidentbeef)
* Added support for safe call. (presidentbeef)
* 1 bug fix:
* Fixed parsing of { \'a\': :b }. (presidentbeef)
* Mon Jan 25 2016 cooloAATTsuse.com- updated to version 3.7.3 see installed History.txt === 3.7.3 / 2016-01-21
* 2 bug fixes:
* Fixed parsing kwargs in defs with no parens. (presidentbeef)
* defs should have a nil node if body is empty.
* Tue Oct 27 2015 cooloAATTsuse.com- updated to version 3.7.2 see installed History.txt === 3.7.2 / 2015-10-26
* 1 bug fix:
* I hate regexen. Fixed a lexing bug confusing strings vs labels. (phiggins)
* Fri Aug 07 2015 cooloAATTsuse.com- updated to version 3.7.1 see installed History.txt === 3.7.1 / 2015-08-06
* 1 minor enhancement:
* Improved understandability of lexing postfix symbols.
* 2 bug fixes:
* Fixed timeout caused by regexp backtracking bug w/ long strings in 2.2 parser. (presidentbeef)
* Rename DEBUG env toggle to RB_LINENO_DEBUG. (tenderlove)
* Fri May 29 2015 cooloAATTsuse.com- updated to version 3.7.0 see installed History.txt === 3.7.0 / 2015-05-28
* 2 major enhancements:
* Added preliminary support for ruby 2.2 syntax.
* Now writing all 2.x parsers from one source, generating racc files.
* 1 minor enhancement:
* Added RubyLexer#process_label and hooked it up to \"x\": and \'x\': productions.
* 4 bug fixes:
* Fixed handling of block_args to be consistent across all parse versions.
* Fixed lexing of label assoc args w/ newlines in between k/v. (jeremyf)
* Fixed lexing of x?\'\':y for ruby22 (not a label). (presidentbeef)
* clear and restore cmdarg stack around def args and body.
* Tue Apr 14 2015 cooloAATTsuse.com- updated to version 3.6.6
* Fri Mar 20 2015 cooloAATTsuse.com- updated to version 3.6.5
* 1 minor enhancement:
* Add line numbers from block comments =begin/=end. (presidentbeef)
* Mon Feb 09 2015 cooloAATTsuse.com- updated to version 3.6.4
* 1 bug fix:
* Removed shebangs in tests because of bugs (aka \'features\') in RPM packaging tools.
* Wed Oct 15 2014 cooloAATTsuse.com- updated to version 3.6.3
* 1 bug fix:
* Fixed bug caused by latest version of oedipus_lex not exporting lineno accessor.
* Handle return/next/break/yield w/ block call (WHY).
* Mon Oct 13 2014 adrianAATTsuse.de- adapt to new rubygem packaging style
* Wed Sep 10 2014 mrueckertAATTsuse.de- added gem2rpm.yml as source
* Wed Sep 10 2014 mrueckertAATTsuse.de- added a small scriptlet to fix the shebang line of the test scripts- also added a gem2rpm.yml for later, but did not regenerate the specfile just yet.
* Sun May 18 2014 cooloAATTsuse.com- updated to version 3.6.1
* 1 bug fix:
* Strings that don\'t match the encoding of the file are now returned as ASCII-8BIT.
* 1 minor enhancement:
* Added new_string and switched all parsers to it.
* 1 bug fix:
* Fixed line numbers of nodes following multi-line strings. (presidentbeef)
* Sun Apr 06 2014 cooloAATTsuse.com- updated to version 3.5.0
* 1 major enhancement:
* Added initial support for ruby 2.1 syntax. Doesn\'t have numeric extensions yet.
* 2 minor enhancements:
* Converted ruby_lexer.rex to use new grouping mechanism. ~15% improvement in speed.
* Various lexer cleanup.
* 2 bug fixes:
* 2.0/2.1: Fixed block kw args.
* Fixed env for kwargs and friends.
* Sat Feb 22 2014 cooloAATTsuse.com- updated to version 3.4.1
* 1 minor enhancement:
* Added StackState#store and #restore.
* 1 bug fix:
* 1.8/1.9/2.0: Fixed tSTRING_DBEG w/ f\'d up amounts of nesting + braces + do/end. yeah. I\'m as confused as you are.
* Thu Feb 06 2014 cooloAATTsuse.com- updated to version 3.4.0
* 1 major enhancement:
* Replaced hand-written/optimized f\'d-up lexer with an oedipus_lex generated lexer. This makes it roughly 40-50% faster.
* 30 minor enhancements:
* 2.0: Added support for a.b c() do d end.e do |f| g end
* 2.0: Added support for a.b c() do d end.e f do |g| h end
* Added -s flag to ruby_parse_extract_error to output timings.
* Added RubyLexer #command_state and #last_state to deal with oedipus_lex differences.
* Added String#lineno and #lineno= because I\'m a bad bad person.
* Added a bunch of RubyLexer scanning methods: beginning_of_line?, check, scan, etc.
* Added a bunch of process_
* methods extracted from old yylex. process_amper, etc.
* Added lib/.document to save my laptop\'s battery from pain and suffering
* Adjust lineno when we lex a bunch of blank lines.
* Attach lineno to tIDENTIFIER values (strings, ugh)
* Cleaned up and re-ordered node_assign to be faster (ordered by actual occurrance).
* Extend RubyParserStuff#gettable to set the lineno if it comes in with the id.
* Extended RubyParserStuff#new_case to take line number.
* Finally dropped RPStringScanner\'s BS #current_line.
* Finally dropped RPStringScanner\'s BS line number calculation (lineno).
* Implemented Sexp#add_all since we now have a test case for it.
* Removed :call case of node_assign. I don\'t think it is possible.
* Removed RubyLexer #extra_lines_added. No longer used. Complex heredoc lineno\'s possible screwed up.
* Removed RubyLexer#parse_number. Handled by oedipus_lex.
* Removed RubyLexer#yacc_value now that next_token returns pairs.
* Removed RubyLexer\'s AATTsrc. Now taken care of by oedipus_lex.
* Removed RubyParser#advance. RubyParser#next_token takes care of everything now.
* Removed RubyParserExtras#arg_add. (presidentbeef! YAY!)
* Removed lib/gauntlet_rubyparser.rb. I just don\'t use it anymore. Too slow.
* RubyLexer#is_label_possible? doesn\'t need an arg
* Mon Jan 20 2014 cooloAATTsuse.com- updated to version 3.3.0
* Notes: 39 files failed to parse out of ~834k files makes this 99.9953% or 4.07σ.
* 15 minor enhancements:
* 2.0: Parse kwarg as lvars. (chastell)
* Added RubyLexer#beginning_of_line?, check(re), end_of_stream?
* Added RubyLexer#process_token_keyword.
* Added RubyLexer#scan, #matched, #beginning_of_line? and others to decouple from internals.
* Added lexing of \\u### and \\u{###}.\"
* Added optimizations for simple quoted symbols.
* Aliased Lexer#src to ss (since that is what it is).
* Allow for 20 in parser class name.
* Modified parsers line number calculations for defn nodes.
* Removed Env#dynamic, #dynamic?, #use, #used?
* Removed RubyLexer#tern. Introduced and disused during 3.0 alpha. (whitequark)
* Removed unused RubyLexer#warnings.
* Renamed
*_RE consts to just
* (IDENT_CHAR, ESC, etc).
* new_defn now sets arg node line number directly.
* zero byte is allowed in symbols for 1.9 / 2.0.
* 11 bug fixes:
* 2.0: Fixed paren-less kwargs in defn.
* Don\'t bother with regexp encoding options on 1.9+ to avoid warnings.
* Fix constant re-build on ruby 2.0 + rake 10.
* Fix lexing of %i with extra whitespace. (flori)
* Fixed RubyParserStuff#new_body to deal with nonsensical code better (begin-empty+else). (snatchev)
* Fixed bug lexing h[k]=begin ... end. Use your space bars people!
* Fixed env scoping in new lambdas.
* Fixed handling of single array arg in attrasgn.
* Fixed test to call RubyLexer#reset between assertions.
* No longer assigning ivar/cvars to env. Only locals should be in env.
* Refactored initialize and reset to more properly re-initialize as needed.
* Tue Jul 30 2013 cooloAATTsuse.com- updated to version 3.2.2
* 5 bug fixes:
* 1.9/2.0: fixed assocs in return args. (presidentbeef)
* Fixed handling of parse error when class is nested in multiple defs. (whitequark)
* Fixed lexing of %w[] w/ funny whitespace separators. (whitequark)
* Fixed more call nodes that have trailing comma syntax. (presidentbeef)
* Fixed more call_args slippage. === 3.2.1 / 2013-07-03
* 1 bug fix:
* 1.9/2.0: Trailing assocs were being munged into arrays. (presidentbeef) === 3.2.0 / 2013-07-02
* 1 major enhancement:
* Added (rough draft) 2.0 support. Still missing some small / rare things.
* 12 minor enhancements:
* Added %i(symbol-names...) support. (%I too)
* Added 140 more tests, jumping test count from 1376 to 2143. Yay for test reuse!
* Added RubyLexer#brace_nest.
* Added compare20 rake task to diff the grammar architecture against MRI.
* Added lpar_beg and paren_nest to lexer to track state of parens in stabbies
* Added shadow nodes for scoped block args.
* Compound RubyParser now defaults to 2.0.
* Fixed rake to < 10, because 10\'s file dependency handling is so very broken.
* Made it possible to specify version in bin/ruby_parse_extract_error w/ -v 18|19|20
* Refactored to RubyParserStuff::ENCODING_ORDER to allow custom tweaking of encoding guessing. (samlown)
* Switched `rake debug` to default to 2.0.
* Translated some fixes across 1.8 and 1.9 from 2.0.
* 42 bug fixes:
* 2.0: Fixed a number of block args scenarios w/ kwargs
* 2.0: Fixed args_tail mismatching against lexer.
* 2.0: Fixed assocs to return a hash node.
* 2.0: Fixed f_block_kw production.
* 2.0: Fixed f_block_kwarg production.
* 2.0: Fixed handling of stabby proc args in parens.
* 2.0: Fixed lexing of kwsplat nodes.
* 2.0: Implemented kwsplat nodes.
* Added tUBANG to lexer. ...
* Sat Apr 20 2013 cooloAATTsuse.com- updated to version 3.1.3
* 2 bug fixes:
* Fixed begin w/ else but no rescue. (whitequark)
* Removed literal stripping from block_append. Not its job.
* Tue Mar 19 2013 cooloAATTsuse.com- updated to version 3.1.2
* 1 minor enhancement:
* OMG A SECURITY ISSUE FOR CODE NOBODY USES... EVER
* Sat Dec 22 2012 cooloAATTsuse.com- updated to version 3.1.1
* 1 minor enhancement:
* Added MOVE_TIMEOUT env var for ruby_parse_extract_error to move slow files to a sibling directory
* 4 bug fixes:
* 1.9: Fixed lexing of \"0o\". (whitequark)
* 1.9: Fixed parsing of unary plus on literals. (whitequark)
* Added timeout arg to RubyParser#process to pass through to the real parser
* Updated Synopsis to reflect new options for running RP. (louismullie)
* Fri Dec 07 2012 cooloAATTsuse.com- updated to version 3.1.0
* 2 minor enhancements:
* Added RubyParser.for_current_ruby to provide a parser that matches your runtime. (neilconway)
* Duck-typed IDENT_CHAR_RE instead of using RUBY_VERSION
* 3 bug fixes:
* Cleared out body comments in class/module/defn/defs
* Flipped lexer tests to US-ASCII to avoid encoding hell
* yyerror is now an alias for syntax_error
* Tue Nov 27 2012 cooloAATTsuse.com- updated to version 3.0.4
* 1 bug fix:
* RPStringScanner#lineno was still using byte offset, not char offset. (brynary)
* 1 minor enhancement:
* Improved error output on invalid char in expression.
* 1 bug fix:
* Fixed lexing of no-name ivars. (whitequark) 52 down makes 99.9767% or 3.7σ. 130 files failed to parse out of 558k.
* 4 minor enhancements:
* Added RP_TIMEOUT env var to override default timeout of 10 seconds.
* Minor optimization to RubyLexer#parse_number
* Only output parseerror output to stderr if $DEBUG.
* ruby_parse_extract_error modified to include \'it\' blocks in its search.
* 7 bug fixes:
* 1.9: Fixed args in dot-call forms (eg f.(...)).
* 1.9: Fixed lexing stabby lambda w/ do/end
* Deal better with DOS files. Ugh.
* Fix line number of production after heredoc.
* Fixed RubyParser#process to reuse parser instances across calls.
* Fixed line numbers for several productions.
* new_call sets line number to smallest line number of members.
* Sat Nov 03 2012 cooloAATTsuse.com- updated to version 3.0.1, see the long History.txt
* Sun Jul 15 2012 cooloAATTsuse.com- fix gem requires
* Mon Apr 09 2012 cooloAATTsuse.com- update to 2.3.1
* Fixed line numbers at end of special var+whitespace (larsch)
* Holy crap I was smokin\' something good... Fixed 1.9.3 warning
* Add -g flag to parser compile if DEBUG
* Lexer now embeds line number in yacc_value for keywords, helping fix up line numbers
* Fix method line numbers when no args and no parens (quix)
* Fixed line numbers on return/break/next w/ result expr. (pjnz)
* Fixed some lexing state in order to parse: \'f (1), 2\' as \'f(1, 2)\'. (invernizzi)
* Moved Keyword, Environment, and StackState inside of RubyParser
* Added proper dsym and dsym->sym support.
* Added extra (failing) tests for call/iter line number checking (quix)
* Fixed line numbers for certain call/iter edge cases
* Fixed parsing of: alias :\"<<\" :\">>\".
* Added new accessor canonicalize_conditions to toggle conditional canonicalization (on by default). (confused)
* Awesome cleanup: Replaced call to append_block by block_append. (Confusion)
* Fixed handling last line of =begin/=end. (raybaxter)
* Fixed source line numbers after heredocs. (jbarreneche)
* Switched to hoe\'s racc plugin to clean up rakefile and builds
* Fixed empty =begin/end.
* Mon Mar 26 2012 cfarrellAATTsuse.com- license update: MIT See README.txt
* Mon Sep 06 2010 mrueckertAATTsuse.de- update to version 2.0.5
* Started merging like lexical cases to try to squeeze some optimization out
* Fri Jun 11 2010 mrueckertAATTsuse.de- use rubygems_requires macro
* Fri Dec 25 2009 prusnakAATTsuse.cz- update to 2.0.4
* Changed requires around to be more accurate.
* Fixed .autotest for minitest
* Fixed emacs escape lexing bug: \"\\C-\\\\\" (maglev/gemstone)
* Fixed octal lexing edgecases. (maglev/gemstone)
* Fixed regexp lexing edgecases. (maglev/gemstone)
* Sun Jul 26 2009 dmacvicarAATTsuse.de- initial package for 2.0.3