Revision history for Syntax-Keyword-Defer 0.11 2024-08-29 [BUGFIXES] * Fix for perl 5.41.3 which removed `SAVEt_LONG`. This wasn't used here directly but did appear in hax/perl-additions.c.inc. 0.10 2023-09-21 [CHANGES] * Removed `Syntax/Keyword/Finally.pm` [BUGFIXES] * Need to set `-DNO_XLOCKS=1` to keep MSWin32 happy (RT149716) 0.09 2023-07-13 [CHANGES] * Updates to compile cleanly on perl v5.38 * Remember to implement `no Syntax::Keyword::Defer` to disable the syntax * Swap all the unit tests to `Test2::V0` 0.08 2022-12-15 [CHANGES] * Permit safe forms of `goto` entirely within the defer block * Attempt to fix the double-exception problem (RT144761) by turning subsequent exceptions into warnings * Removed the `FINALLY` support entirely; the module now just croaks immediately. 0.07 2022-02-20 [CHANGES] * Various tidying up of hax/ support files * Attempt to detect forbidden branching ops at compiletime 0.06 2021-08-26 [CHANGES] * Updated for XS::Parse::Keyword 0.13 * Print a deprecation warning when enabling the `FINALLY` keyword 0.05 2021-04-21 [CHANGES] * Rewrite parsing logic to use XS::Parse::Keyword 0.04 2021-03-25 [CHANGES] * Renamed distribution from Syntax-Keyword-Finally * Make Defer the main module, have Finally be a (discouraged) alias to it * Require at least perl 5.22 on MSWin32 because older perls there can't see block_start()/block_end() Formerly Syntax-Keyword-Finally 0.03 2021-03-03 [CHANGES] * Add Syntax::Keyword::Defer for `defer` syntax alias * Document and test that caller() inside FINALLY does not see the finally block at all * Forbid `return` out of a FINALLY block * Forbid the use of `goto` or `next/last/redo` in a FINALLY block at all * Detect the use of nonlocal flow control out of a FINALLY block and at least turn the otherwise-segfault into a panic message * Added cross-module integration tests to check the behaviour with Syntax::Keyword::Try and perl 5.33.7's feature 'try' 0.02 2021-02-03 [CHANGES] * Implement FINALLY blocks as basic blocks, not full anonymous subs * Test and document that exceptions can now be thrown from them 0.01 2021-01-31 First version, released on an unsuspecting world.