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.