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.