=== 4.6.1 / 2016-01-21 * 1 bug fix: * defs should have a nil node if body is empty. === 4.6.0 / 2015-05-28 * 2 minor enhancements: * Extended generate_test to deal with 19 and up. * Extended pt_testcase.rb so add_19tests means 19 and up. * 1 bug fix: * Added and normalized tests to deal with canonicalized block args from ruby_parser. === 4.5.1 / 2015-04-27 * 1 minor enhancement: * Cache processors and rewriters. Significant speedup. (presidentbeef) === 4.5.0 / 2015-03-09 * 1 minor enhancement: * Added SexpProcessor::expand_dirs_to_files as a utility to cmdline tools. === 4.4.5 / 2015-01-16 * 1 bug fix: * Removed shebangs in tests because of bugs (aka 'features') in RPM packaging tools. === 4.4.4 / 2014-08-14 * 1 bug fix: * MethodBasedSexpProcessor#in_klass clears out the method_stack for the duration of the block. === 4.4.3 / 2014-03-24 * 1 bug fix: * Fixed a bunch of pt_testcase entries for 1.9/2.0 wrt ruby2ruby. === 4.4.2 / 2014-03-14 * 2 minor enhancements: * Changed skipped versioned tests to return, not skip. Reduces noise so you can focus on real skips. * Extended versioned tests to include 2.0 and 2.1. === 4.4.1 / 2013-12-13 * 1 bug fix: * Added parenthesis to fix the structure_remove_begin_1 testcase. (bocete) === 4.4.0 / 2013-10-18 * 1 minor enhancement: * Added MethodBasedSexpProcessor, extracted from Flog. === 4.3.0 / 2013-08-19 * 1 minor enhancement: * Switched ParseTreeTestCase to minitest 5. === 4.2.1 / 2013-04-09 * 1 bug fix: * Removed structure_unused_literal_wwtt because I just don't care anymore === 4.2.0 / 2013-03-18 * 2 minor enhancements: * Added SexpInterpreter since it is such a common pattern * Added aliases Sexp#head & Sexp#rest for readability === 4.1.5 / 2013-02-14 * 2 bug fixes: * Clarified role of s method. Fixes #12. * maglev: Workaround for bug in Array#shift === 4.1.4 / 2013-01-22 * 1 minor enhancement: * Gave Sexp#structure a ~10% boost * 2 bug fixes: * Fixed Sexp#mass lying when using auto_shifted sexps. * Stupid fix for ruby 2.0 method_missing 'bug'. === 4.1.3 / 2012-12-06 * 2 bug fixes: * Code cleanup... what was I thinking??? * Explicitly setting pt_testcase.rb to US-ASCII to avoid encoding hell === 4.1.2 / 2012-11-03 * 1 bug fix: * Sexp#structure should grep for Sexps, not Arrays === 4.1.1 / 2012-11-02 * 1 minor enhancement: * iter args revamp for ruby_parser 3 changes. === 4.1.0 / 2012-10-22 * 1 minor enhancement: * Added Environment#current so you can explicitly shadow variables. (meh) === 4.0.1 / 2012-07-03 * 4 minor enhancements: * 1.9: Had to version split all my 'not' tests since 1.9 is insane. * 1.9: f (args) is not allowed in 1.9. * 1.9: f(hash, *splat) is not allowed in 1.9. * Added module2 test to verify module w/ 2+ entities * 2 bug fixes: * 1.9: Changed !@ to ! since that is what you implement * True to my wtf comment, there was a bug in my case_splat test === 4.0.0 / 2012-06-07 * 5 major enhancements: * Removed :arglist from everything except :op_asgn1. * Removed block from resbody * Removed block from when node * Removed block nodes inside of scope nodes (defn/defs/class/sclass). * Removed scope nodes in defn/defs/class/sclass nodes. * 1 minor enhancement: * Added Sexp#deep_each and Sexp#each_sexp. Refactored from Flay === 3.2.0 / 2012-04-15 * 5 minor enhancements: * Added a ton of block arg tests. * Added add19_edgecases to help refactor a bunch of tests that all have the same output. * Added better debugging output for rewrites. * Cleaned and added a bunch of stabby proc tests. * Moved RawParseTree test data to ParseTree project. * 2 bug fixes: * Fixed a bunch of entries for r2r changes against edgecase parse/lex tests * Fixes for R2R === 3.1.0 / 2012-02-29 * 4 minor enhancements: * Added test_call_arglist_trailing_comma__19 (presidentbeef) * Added test_fcall_inside_parens. (presidentbeef) * Added test_if_args_no_space_symbol__18. (presidentbeef) * Added tests for new hash syntax and ternaries in 1.9 (lastobelus) === 3.0.10 / 2012-01-04 * 1 minor enhancement: * Added test for bare hash at end of array in 1.9. (presidentbeef) * 1 bug fix: * Fixed 1.9.3 warnings === 3.0.9 / 2011-12-07 * 1 minor enhancement: * Add missing test for a ternary with nil without a space before the colon (brynary) === 3.0.8 / 2011-11-16 * 4 minor enhancements: * Add 6 missing ruby 1.9 tests (brynary) * Added new 1.9 hash tests to pt_testcase.rb * Version specific tests are now skipped at runtime, not test creation time * Added new block arg tests. === 3.0.7 / 2011-09-21 * 2 bug fixes: * Fixed and test to not have mandatory parens * Fixed r2r's handling of dregexp options === 3.0.6 / 2011-08-16 * 5 minor enhancements: * Added ParseTreeTestCase#add_19tests * Added a bunch of FAILING 1.9 tests stolen from presidentbeef's repo! yay! * Added add_19tests and add_18tests to segregate version specific parsing. * Moved pt_testcase.rb to sexp_processor * Segregated a bunch of 1.8 specific tests using add_18tests. === 3.0.5 / 2010-09-01 * 2 minor enhancements: * Added in_context to clean up code. * optimize inspect to avoid needlessly caching @line === 3.0.4 / 2010-03-27 * 1 minor enhancement: * Added line number to pretty_print output if $VERBOSE === 3.0.3 / 2009-08-14 * 1 minor enhancement: * Pulled #mass up from flog/flay === 3.0.2 / 2009-06-23 * 2 minor enhancements: * Pulled unique.rb from ParseTree to sexp_processor. * Switched to minitest. === 3.0.1 / 2009-01-20 * 3 minor enhancements: * Filled out README * Promoted file/line/comments from ruby_parser. * Added sexp_type to compliment sexp_body. === 3.0.0 / 2008-10-22 * 2 major enhancements: * Released as its own project, splitting from ParseTree * Added Environment to SexpProcessor and built it in. YAY! * 6 minor enhancements: * Allowed CompositeSexpProcessor to be more ducktypey. * Refactored Sexp#method_missing into find_node and find_nodes. * Removed Sexp#for and other PT specific code. * SexpProcessor#process now runs rewriters before everything else. * SexpProcessor#rewrite context only for subs, EMPTY for top level rewrites. * SexpProcessor#rewrite will stop iterating if the result isn't another Sexp.