9f8cfed814
=== 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[] === 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. |
||
---|---|---|
.. | ||
ALTERNATIVES | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |