* Thu Aug 03 2017 coolo@suse.com
- updated to version 4.10.0
see installed History.txt
=== 4.10.0 / 2017-07-17
* 2 major enhancements:
* Added experimental pattern matcher to Sexp. Forked from sexp_path.
* Extended s to take a block and return a matcher: eg s{ s(:defn, atom, _, ___) }
* 23 minor enhancements:
* Added $STRICT_SEXP to crank down Sexp.[] and friends.
* Added Matcher#/ w/ real functionality.
* Added Sexp#/ to search with new patterns.
* Added Sexp#map to ensure you get a Sexp back.
* Added Sexp#new to create a new sexp with the same file/line/comment info.
* Added Sexp#search_each to recursively search w/ new patterns. Returns enum if no block.
* Added Sexp#sexp_body=
* Added Sexp::Matcher.match_subs? and .match_subs= to extend =~ so you can match strictly.
* Added Sexp::Matcher.parse to convert lispy string to safe matcher: "(defn atom _ ___)"
* Added all mutation methods to STRICT_SEXP >= 4
* Added deprecation message to Sexp#structure for [s(...)] forms.
* Added strict_sexp.rb to help you clamp down for future changes. STRICT_SEXP=1+
* Auto-require strict_sexp if $STRICT_SEXP is > 0.
* Converted a lot of indexed access to sexp_type/sexp_body, etc.
* Finally enforced SexpProcessor#process to only process sexps, not bare arrays.
* Made Sexp#/ double-dispatch to Matcher#/.
* Made Sexp#gsub work with new patterns.
* Made Sexp#sub work with new patterns.
* Made SexpProcessor STRICT_SEXP=4 compliant.
* Retired SexpMatchSpecial & SexpAny. Never used by anything AFAICT.
* Sexp#=== goes back to default.
* Sexp#=~(pat) calls pat =~ self.
* Sexp#sexp_body now takes optional offset. Use instead of sexp[n..-1].
* 9 bug fixes:
* Extended Sexp::Matcher::Parser.parse to lex more forms of regexp.
* Finished off all missing doco.
* Fixed == methods on all Matcher classes to include ivars.
* Fixed Child#satisfy? to properly return false if failed.
* Fixed Sexp#sexp_body to return a sexp using Sexp#new.
* Fixed map to use Sexp#new.
* Only try to set c_type if it responds to it. Make STRICT_SEXP safe.
* R2C has a hack in SexpProcessor to call sexp_type=. Renamed to c_type= in R2C.
* Removed very obsolete attrset test from pt_testcase.rb
=== 4.10.0b1 / 2017-06-13
Beta of the above.
* Fri Apr 14 2017 coolo@suse.com
- updated to version 4.9.0
see installed History.txt
=== 4.9.0 / 2017-04-13
* 9 minor enhancements:
* Added Sexp.depth
* Added Sexp.sexp_type=
* Cache Sexp.line_max. Massively speeds up large flay runs.
* Cleaned up SexpProcessor.process handling of result node type.
* Extend pt_testcase for ruby 2.4 tests.
* Extended Sexp.method_missing to only print on every invocation if $VERBOSE=1
* Extended Sexp.method_missing to warn if the expected sub-sexp is not found.
* Rewrote Sexp.mass to be MUCH faster. Helps tremendously with flay on large files.
* Warn that Sexp#method_missing was tripped if $DEBUG.
* Thu Feb 02 2017 coolo@suse.com
- updated to version 4.8.0
see installed History.txt
=== 4.8.0 / 2017-02-01
* 2 minor enhancements:
* Added Sexp#line_max
* Extended MethodBasedSexpProcessor#in_method to take line_max and record span.
* Fri Feb 19 2016 coolo@suse.com
- updated to version 4.7.0
see installed History.txt
=== 4.7.0 / 2016-02-18
* 2 minor enhancements:
* Expand to support 2.3 in tests. (presidentbeef)
* Return enumerable for deep_each, each_sexp, and each_of_type. (ridiculous)
* Mon Jan 25 2016 coolo@suse.com
- updated to version 4.6.1
see installed History.txt
=== 4.6.1 / 2016-01-21
* 1 bug fix:
* defs should have a nil node if body is empty.
* Fri May 29 2015 coolo@suse.com
- updated to version 4.6.0
see installed History.txt
=== 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.
* Tue Apr 28 2015 coolo@suse.com
- updated to version 4.5.1
see installed History.txt
=== 4.5.1 / 2015-04-27
* 1 minor enhancement:
* Cache processors and rewriters. Significant speedup. (presidentbeef)
* Mon Mar 16 2015 coolo@suse.com
- updated to version 4.5.0
* 1 minor enhancement:
* Added SexpProcessor::expand_dirs_to_files as a utility to cmdline tools.
* Tue Feb 10 2015 coolo@suse.com
- updated to version 4.4.5
* Sun Oct 12 2014 coolo@suse.com
- updated to version 4.4.4
* 1 bug fix:
* MethodBasedSexpProcessor#in_klass clears out the method_stack for the duration of the block.
* Wed Sep 10 2014 mrueckert@suse.de
- added gem2rpm.yml as source
* Wed Sep 10 2014 mrueckert@suse.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 Apr 06 2014 coolo@suse.com
- updated to version 4.4.3
* 1 bug fix:
* Fixed a bunch of pt_testcase entries for 1.9/2.0 wrt ruby2ruby.
* Tue Mar 18 2014 coolo@suse.com
- updated to version 4.4.2
* 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.
* Mon Dec 16 2013 coolo@suse.com
- updated to version 4.4.1
* 1 bug fix:
* Added parenthesis to fix the structure_remove_begin_1 testcase. (bocete)
* Sun Oct 20 2013 coolo@suse.com
- updated to version 4.4.0
* Added MethodBasedSexpProcessor, extracted from Flog.
* Mon Aug 26 2013 coolo@suse.com
- updated to version 4.3.0
* 1 minor enhancement:
* Switched ParseTreeTestCase to minitest 5.
* Sat Apr 13 2013 coolo@suse.com
- updated to version 4.2.1
* 1 bug fix:
* Removed structure_unused_literal_wwtt because I just don't care anymore
* Wed Mar 20 2013 coolo@suse.com
- updated to version 4.2.0
* 2 minor enhancements:
* Added SexpInterpreter since it is such a common pattern
* Added aliases Sexp#head & Sexp#rest for readability
* Sun Mar 03 2013 coolo@suse.com
- updated to version 4.1.5
* Clarified role of s method. Fixes #12.
* maglev: Workaround for bug in Array#shift