version 0.005; 2017-07-28 * port to Perl 5.15.3, where the structure of padlists changed, and to later Perls that change the padlist further, by ceasing use of a fake padlist in favour of attaching objects to subroutines via magic * port to Perl 5.17.1, where the peephole optimiser can see a pathological op structure when regexp eval code (/(?{})/) is being compiled * work around a short-lived core bug affecting Perl 5.17.2, which changed the stack behaviour of leavewrite ops * port to Perl 5.17.6, where pushmark ops became more significant to the peephole optimiser, by marking the current-continuation ops as custom ops rather than disguising them as pushmark ops * port to Perl 5.19.4, where the C type of array indices has changed * port to Perl 5.23.8, where the context stack system has been tweaked * update to accommodate PERL_OP_PARENT builds of Perl 5.21.11 or later (which is the default from Perl 5.25.1) * document the problem with generating continuations inside regexp eval code * skip tests involving non-local control transfers during unwinding on Perls affected by [perl #124156] (bug introduced in Perl 5.19.4, fixed in Perl 5.22.0) * update tests for Perl 5.19.4's changed semantics for non-local control transfers during unwinding (only visible starting with Perl 5.22.0, because of the bug introduced at the same time) * update test suite to not rely on . in @INC, which is no longer necessarily there from Perl 5.25.7 * only run tests that use Scope::Cleanup if a bugfixed version of it (avoiding stack reallocation problems) is available * trigger custom op generation via Devel::CallChecker rather than by hooking the underlying op checker * test that all modules have matching version numbers * no longer include a Makefile.PL in the distribution * in documentation, use four-column indentation for all verbatim material * in META.{yml,json}, point to public bug tracker * use cBOOL() where appropriate * initialise op_next of custom ops to avoid an unclean dependence on the state of op_first * remove some unnecessary code from the logic for referencing a C structure from an SV * use preferred C type for op types * rename internal gen_*_op() function into a better style * consistently use THX_ prefix on internal function names * convert .cvsignore to .gitignore version 0.004; 2011-04-27 * bugfix: create extra mortal reference to return values, to avoid premature death if the return value is a lexical variable * port to Windows OSes, defining C macro NO_XSLOCKS to get working versions of setjmp() and longjmp() * in documentation for S::E::Continuation, explicate (in yet another place) that the blessed objects are in fact Perl functions and can be called directly * in t/die.t and t/multi.t, use Scope::Cleanup instead of Scope::Upper * include META.json in distribution * add MYMETA.json to .cvsignore version 0.003; 2010-10-24 * bugfix: for Perls that use the ghost context frame but don't put cxinc() in the API (mainly 5.8.9 and 5.10), provide a reserve definition of cxinc() * bugfix: for Perl 5.13.1+, don't assert anything about the ghost context frame that was significant on earlier Perl versions * in XS, use gv_stashpvs() wherever appropriate * in XS, use PERL_NO_GET_CONTEXT for efficiency * in XS, declare "PROTOTYPES: DISABLE" to prevent automatic generation of unintended prototypes * in documentation, mention Scope::Escape::Sugar in the first paragraph of the description * jump through hoops to avoid compiler warnings * use full stricture in test suite * in Build.PL, complete declaration of configure-time requirements * remove commented-out debugging code version 0.002; 2010-05-23 * update for new PL_restartjmpenv unwinding mechanism in perl 5.13.1 and above * remove from documentation most of the discussion about stack unwinding, which has moved to the documentation of Scope::Cleanup * in documentation, add Scope::Cleanup and Scope::Escape::Sugar to "see also" list * in t/die.t and t/multi.t, require Scope::Upper version 0.08 or later if Scope::Upper is to be used, due to earlier versions corrupting the stack when reap() is used and thus causing false test failures version 0.001; 2010-03-30 * make current_escape_{function,continuation} operators compile correctly when imported lexically via Lexical::Import * new S::E::Continuation methods as_{function,continuation} to provide access to a continuation in both unblessed and blessed forms regardless of the form in which it was created * include parent in dependency list version 0.000; 2010-03-23 * initial released version