2.5.1 / 2024-07-08¶ ↑
-
1 bug fix:
-
Fix errors created when string literals are frozen. (byroot + zenspider)
-
2.5.0 / 2022-10-04¶ ↑
-
5 minor enhancements:
-
Added support for (most?) pattern matching.
-
Added support for **kwrest.
-
Added support for forward args (…), defn and call.
-
Added support for preexe (BEGIN { … }).
-
Support ruby 3.1 hash shorthand syntax. (presidentbeef)
-
-
3 bug fixes:
-
Fix generation of case w/ no else.
-
Fixed a bug block shadow vars (they’re grouped)
-
Fixed find_pat up (after fixing a find_pat bug in ruby_parser).
-
2.4.4 / 2019-09-24¶ ↑
-
1 bug fix:
-
Fixed deprecation warnings from patterns change in sexp_processor.
-
2.4.3 / 2019-06-03¶ ↑
-
4 bug fixes:
-
Added shadow block args. (jaynetics)
-
Fixed generation for block args w/ trailing commas.
-
Fixed nested masgn block args and arrays. (jaynetics)
-
Fixes for stabby proc / lambda changes.
-
2.4.2 / 2019-03-12¶ ↑
-
2 bug fixes:
-
Rewrote process_masgn to fix problems with nesting masgn in block args.
-
Use RubyParser directly instead of versioned parsers.
-
2.4.1 / 2018-02-15¶ ↑
-
2 minor enhancements:
-
Added bitwise ops to BINARY. (david942j)
-
Added rewrite_call|if|until|while to normalize ‘not` in conditions.
-
2.4.0 / 2017-07-17¶ ↑
-
1 major enhancement:
-
Major overhaul. Process methods no longer mutate arguments.
-
-
1 minor enhancement:
-
Now SEXP_STRICT=1 clean.
-
-
2 bug fixes:
-
Fixed 2.4 Fixnum deprecation warning
-
Fixed for new 24 parser.
-
2.3.2 / 2016-11-30¶ ↑
-
5 bug fixes:
-
FINALLY fixed a problem with escaping in dstrs. (nex3)
-
Fix using match3 on LHS of call. (eqv)
-
Fixed handling defn that starts w/ begin+rescue+other stuff. (eqv)
-
Fixed return expressions with complex RHS. (eqv)
-
Tweaked sexp_processor dependency to ~> 4.6 to sync them better
-
2.3.1 / 2016-10-09¶ ↑
-
1 minor enhancement:
-
Support more op_asgn nodes. (presidentbeef)
-
-
1 bug fix:
-
Fix for non-binary ‘binary’ calls (eg arity > 1). (presidentbeef)
-
2.3.0 / 2016-02-18¶ ↑
-
3 minor enhancements:
-
Added support for safe navigation/lonely operator. (presidentbeef)
-
Expanded tests for 2.3 support
-
Support safe attrasgn. (presidentbeef).
-
2.2.0 / 2015-05-27¶ ↑
-
1 minor enhancement:
-
Normalized block arg goalposts (always there unless arg slot == 0).
-
2.1.4 / 2015-04-13¶ ↑
-
1 minor enhancement:
-
Wrap fewer hash values in parentheses. (jaredbeck)
-
-
1 bug fix:
-
Fixed handling of kwsplat args.
-
2.1.3 / 2014-09-26¶ ↑
-
1 bug fix:
-
Fixed handling of kwargs. (joenas)
-
2.1.2 / 2014-08-28¶ ↑
-
1 bug fix:
-
Fixed readme to point out that deep_clone may be needed. (heathd)
-
2.1.1 / 2014-06-09¶ ↑
-
1 bug fix:
-
Moved Regexp::CODES out of guard on ::ENC_NONE. (presidentbeef)
-
2.1.0 / 2014-04-23¶ ↑
-
4 minor enhancements:
-
Don’t indent defn body extra if it has a top-level rescue.
-
Don’t indent defn body until fully processed.
-
Don’t use simple rescue form if resbody is a return (statement keyword). (eyberg)
-
Remove superfluous begin/end for top-level defn rescue.
-
2.0.8 / 2014-03-24¶ ↑
-
1 bug fix:
-
2.0/2.1: Fixed support for **kwsplat. (troessner)
-
2.0.7 / 2013-12-13¶ ↑
-
4 minor enhancements:
-
Add != to list of binary operators. (camertron) *le sigh*
-
Clean out cruft from process_masgn that I can’t reproduce anymore.
-
Extend process_args to deal with masgn (eg: a.b { |(c, d)| … }).
-
Extend process_masgn to deal with both sexps and var lists.
-
-
1 bug fix:
-
Ensure proper parens on rescue subexpressions. (Bocete)
-
2.0.6 / 2013-06-20¶ ↑
-
2 bug fixes:
-
Fixed bug with complex rescue but short enough to trigger 1-liner. (Confusion)
-
Fixed multiple expressions inside sclass
-
2.0.5 / 2013-04-25¶ ↑
-
2 bug fixes:
-
Fixed attrasgn w/ multiple keys: a[x, y] = z. (derula)
-
Fixed error w/ attr_* detection when more than 1 ivar/iasgn exist in body.
-
2.0.4 / 2013-03-28¶ ↑
-
1 bug fix:
-
Fixed attr_* generators in cases where the body isn’t idiomatic. (robertfeldt)
-
2.0.3 / 2013-02-07¶ ↑
-
2 minor enhancements:
-
1.9: Added support for ! call to go back to (not …).
-
2nd and 3rd order testing now uses RubyPraser.for_current_ruby for maximal carnage.
-
-
1 bug fix:
-
On failure (eg ruby 2.0), fall back to compound RubyParser instance for 2nd & 3rd order testing
-
2.0.2 / 2013-01-16¶ ↑
-
1 minor enhancement:
-
Updated to ruby_parser 3.1 and up
-
2.0.1 / 2012-11-02¶ ↑
-
1 bug fix:
-
Fixed dependency on alpha ruby_parser. sigh
-
2.0.0 / 2012-11-02¶ ↑
-
1 minor enhancement:
-
Only do phase 1 testing if $SIMPLE=1.
-
-
1 bug fix:
-
Fixed block args processing for RP 3.0 sexp changes
-
2.0.0.b1 / 2012-07-27¶ ↑
-
4 major enhancements:
-
Made it work without arglist in call.
-
Made it work without scope/block in class/module/defn/defs.
-
Removed block from resbody
-
Removed block from when node
-
-
4 minor enhancements:
-
Added debug task to help isolate an error
-
Empty hash is now a proper {}
-
Refactored and added finish method.
-
Switched to new Ruby18Parser to avoid deprecation warnings
-
-
4 bug fixes:
-
Fixed call with empty hash arg. (neilconway)
-
OMG WTF… removed long decrepit ParseTree dependency
-
Removed isolate/rake require to reduce minimum bootstrap to hoe + rake + rake install_plugins (*2)
-
Skip 1.9 tests for now.
-
1.3.1 / 2011-09-22¶ ↑
-
1 minor enhancement:
-
Added parenthesize to add parens in certain contexts.
-
-
10 bug fixes:
-
Add newline to ‘do nothing’ comment in a block… seems contrived. (andreacampi)
-
Binary operations not work properly with some complex statements. (smorss)
-
Fixed if statements with no body (smorss)
-
Fixed logic for call with hash args in various locations (smorss)
-
Fixed match3 on an assignment. (smorss)
-
Fixed multiple nested rescue/ensure exprs (larsch)
-
Fixed process_alias to parenthesize (smorss)
-
Fixed process_and to parenthenize only when it makes sense.
-
Fixed rescue with 2+ statements in resbody (smorss)
-
Regexps with options other than /o were not showing flags. (smorss)
-
1.3.0 / 2011-09-01¶ ↑
-
1 minor enhancement:
-
output comments for class and method definitions. (pythonic)
-
1.2.5 / 2010-09-01¶ ↑
-
4 minor enhancements:
-
Added braces to hash args surrounded if in a binary method call.
-
Added rewrite_resbody to double check structure and freak if necessary.
-
Added stress task
-
rewrite_rescue now detects rescue with multiple arguments.
-
-
2 bug fixes:
-
Fixed dstr/dregex/d* roundtripping problem
-
Fixed up call arg processing to be more correct and to work with the new sexp form
-
1.2.4 / 2009-08-14¶ ↑
-
2 bug fixes:
-
Fixed all doco to use ruby_praser
-
Fixed bin/r2r_show to use ruby_parser. oops
-
1.2.3 / 2009-06-23¶ ↑
-
4 minor enhancements:
-
Overhauled 4-generation tests to use RubyParser. Much cleaner
-
Removed last of ParseTree. Fully switched to RubyParser.
-
Switched to minitest
-
Updated Rakefile to new hoe capabilities
-
1.2.2 / 2009-01-20¶ ↑
-
3 minor enhancements:
-
Added -s to display sexp before printing r2r
-
Added a bunch of backslash and masgn tests.
-
Refactored tests.
-
-
4 bug fixes:
-
Fixed iters to deal with empty bodies.
-
Fixed process_call for a number of cases incl [], []=, and args processing.
-
Fixed process_hash to always generate braces if in arglist.
-
Switched process_alias to producing alias again, needed for globals.
-
1.2.1 / 2008-11-04¶ ↑
-
1 bug fix:
-
Don’t freak out and die if passed a c function defn. stupid rails.
-
1.2.0 / 2008-10-22¶ ↑
-
2 minor enhancements:
-
Removed all PT dependent code to PT project (see parse_tree_extensions.rb).
-
Revamped. Got working with new unified ruby output. Much much cleaner.
-
1.1.9 / 2008-06-09¶ ↑
-
5 minor enhancements:
-
Added more defensive programming in the tests to make it work with 1.9 and rubinius better.
-
Converted r2r_show to more plain parse style, no more discover_new_classes.
-
Made Proc#to_sexp and to_ruby more resiliant.
-
Started to work on fallback to ruby_parser code. Should prolly do flog first.
-
Updated rakefile and readme format for hoe. Much cleaner!
-
-
6 bug fixes:
-
Added 1.9 fixes.
-
Added code to tests to isolate rubyinline builds.
-
Fixed miniunit-deprecated assertions
-
Fixes for const2/3, esp in class names
-
Renamed ProcStoreTmp#name to new_name. dur.
-
Skip proc tests in 1.9 since they require ParseTree.
-
1.1.8 / 2007-08-21¶ ↑
-
6 minor enhancements:
-
Added super awesome .autotest file. YAY!
-
Removed nil.method_missing… too many ppl bitching about it.
-
Renamed RubyToRuby (the class name) to
Ruby2Ruby
. -
Restructured self-translation tests so they were friendlier when dying.
-
Strings are now always one line long only.
-
Fully in sync with ParseTree and ruby_parser.
-
-
2 bug fixes:
-
Fixed a number of issues/bugs discovered via ruby_parser.
-
Cleaned out some dead code and hacks we don’t need anymore.
-
1.1.7 / 2007-08-21¶ ↑
-
2 major enhancements:
-
Switched to ParseTree’s UnifiedRuby… much much cleaner now!
-
Made test_ruby2ruby MUCH more rigorous with circular testing.
-
-
5 minor enhancements:
-
Add r2r_show command like parse_tree_show.
-
Add parens for :block nodes as appropriate. May be overzealous.
-
Make SexpAny work with ==.
-
Removed calls to processor_stack / caller in favor of self.context.
-
Some style differences, eschew rescue.
-
-
6 bug fixes:
-
Fix R2R bug with masgn/argscat.
-
Fixed a bug with new resbody unification.
-
Fixes for changes to pt_testcase.
-
Fixes the rest of the tests under strict sexp checking.
-
Fixed some circular bugs, mostly by hacking them out, wrt operator precidence.
-
Fixed trinary operator.
-
1.1.6 / 2007-06-05¶ ↑
-
2 minor enhancements:
-
Extended tests for dstr/dsym/drgx to test against embedded slashes and quotes.
-
Updated for dasgn_curr changes to PT.
-
-
2 bug fixes:
-
Fixed a bug with begin/rescue/ensure.
-
Fixed argscat and blockpass bug. blah(42, *args, &block) handled.
-
1.1.5 / 2007-02-13¶ ↑
-
3 minor enhancements:
-
Can now heckle ActiveRecord::Base in full.
-
Cleaned up 1-liner generating code.
-
Made clean/simple rescues 1-liners.
-
-
7 bug fixes:
-
Finally got the rest of block_pass working.
-
Fixed block_pass on procs in iters. UGH!
-
Fixed attrasgn in masgn.
-
Fixed splat in masgn.
-
Fixed unary/prefix methods.
-
Fixed attrasgn for []= where there were multiple args inside [].
-
Fixed a couple resbody bugs.
-
1.1.4 / 2007-01-15¶ ↑
-
4 minor enhancements:
-
Added some extra rewriting code and tests for various bmethods. Ugh.
-
Added support for splatted block args.
-
Refactored class/module and dsym/dstr.
-
Short if/unless statements are now post-conditional expressions.
-
-
4 bug fixes:
-
Finally fixed eric’s nebulous proc code-in-goalposts bug.
-
Fixed dasgn_curr so block’s dasgn vars decl goes away (bug 7420).
-
Fixed dmethod. I think the tests were bogus before.
-
Fixed improper end in method rescues (bug 7396).
-
1.1.3 / 2006-12-20¶ ↑
-
1 minor enhancement
-
Unit tests do self-translation and retesting for 3 generations! Solid. BAM!
-
-
1 bug fixes
-
iasgn inside masgn was totally borked in ruby2ruby.
-
1.1.2 / 2006-12-19¶ ↑
-
2 minor enhancements
-
Improved []= and [] to be more idiomatic.
-
Support for nested whens (from when case has no expression).
-
-
3 bug fixes
-
Fixed case output when there is no case expression.
-
NEARLY have RubyToRuby self-cloning and passing tests again.
-
Minor cleanup
-
1.1.1 / 2006-11-13¶ ↑
-
3 bug fixes
-
Fixed procs
-
Cleaned return when no return values.
-
Rewrote process_if. No more elsif but no more bugs. :)
-
1.1.0 / 2006-10-11¶ ↑
-
2 major enhancements
-
Released separately from ZenHacks.
-
Major overhaul/audit from the new ParseTree test infrastructure. Very complete now.
-