Revision history for Fatal
1.10_06 Sun Jun 22 21:50:39 AUSEST 2008
* RELEASE CODENAME: "Chocolateboy", in thanks for his wonderful
insights, and for letting me sound off way too many ideas
about how things may be done.
* Fixed speeling errors in context.t, thanks to Stennie.
* Fixed minor pod errors and omissions.
* Fixed bug in recv.t which resulted in an incorrect number
of skipped tests on systems using socketpair emulation.
* Fixed a bug that would cause unwanted interactions between
autodie and autobox. Thanks to chocolateboy. (5.8)
* Wrote a (failing) test case demonstrating that the
autodie pragma could leak across files. Many thanks to
chocolateboy for bringing this to my attention.
* t/system.t checks to see if exotic system has been injured
in the same package as 'use qutodie qw(system)'
* Calling filename reliably reported in 5.8 error messages
and error objects.
* User subs can be made autodying under 5.8, but they leak
over the entire package (which is very bad!)
* Context-checking tests split into package-scope tests and
lexical scope tests.
* Lexical user-subs are disabled under Perl 5.8. They were
leaking everywhere and not being lexical at all. Attempting
to use a lexical user-sub under 5.8 now causes an error.
* Bugs found in interaction between autodie and Fatal in
5.8. When used together, we can't reliably replace a
Fatalised sub with an autodying one, and then switch it
back again at the end of block.
* Bugs described above fixed, thanks to ikegami!
* Overhauled _remove_lexical_subs, based on ikegami's
input. This routine would now be better named
"_install_lexical_subs", since it can now both
install and remove.
* Surpressed some warnings under 5.8 about uninitialised
hints hashes.
* Added support for backwards compatible Fatal calls in
5.8. These are currently a little *too* backwards compatible,
possessing the same bugs as the old Fatal (clobbering
context).
* Improved caching of pre-generated subroutines. We now
cache the compiled subroutine, rather than the uncompiled
code.
* Added more tests to ensure Fatal throws backcompat
strings, whereas autodie throws exception objects.
* Support for lexical user-subs enabled, tested, and working
in 5.8!
* Added resources to Makefile.PL / META.yml
1.10_05 Sun Jun 15 15:46:38 AUSEST 2008
* Kludgy support for Perl 5.8 using Scope::Guard and dark
and terrible magicks taken from namespace::clean.
* Rudimentary caching of generated code, to avoid having
to regenerate the same code every single time Fatal/autodie
is used on the same function.
* Nuking subroutines at end of lexical scope moved into
own subroutine.
* Perl 5.8 support working! Backcompat mode not yet
supported, nor is autodie with user defined subs.
The 5.8 support that is there is rather kludgy, and
still needs a lot of work.
* Perl 5.8 code no longer gets executed under 5.10 when
executing write_invocation().
* lex58.t tells the user that we'll get warnings under
Win32, and these are to be ignored. This is due to
a Perl behaviour where it always calls the shell under
Win32, even when multi-arg system is used.
* lex58.t no longer fails to compile on Perl 5.10 which
is still clobbering exotic open. Perl 5.8 does not
clobber the exotic form.
* Backcompat tests are all marked as TODO under perl 5.8
* Makefile.PL moved back to saying autodie works under 5.8
* Context/user-sub tests skipped under 5.8, which does
not yet support autodying of user subs.
* lex58 tests now skipped if IPC::System::Simple not installed.
* Squished a spurious warning from lex58.t
1.10_04 Sat Jun 14 15:02:17 AUSEST 2008
* Made all $VERSION numbers more friendly to static code
analysis tools (including CPAN).
* Added a test to make sure all version numbers are incremented
in lock-step.
* Started 5.8 support
* Removed dependencies on 5.10 'use feature'.
* Removed dependencies on 5.10 fieldhashes.
* a::e::match no longer uses smart-match or //
* %^H init doesn't use // anymore.
* 5.8 won't try to use // in fatalised subs (kludge)
* recv.t corrected to use a custom socket (closed for writing)
and to ignore SIGPIPEs.
1.10_03 Fri Jun 13 11:04:17 AUSEST 2008
* Updated backwards compatibility tests to work on
non-Enligh systems.
1.10_02 Fri Jun 13 10:55:00 AUSEST 2008
* Tweaked boilerplate test to remove windows-only paths.
1.10_01 Thu Jun 12 17:19:13 AUSEST 2008
* First beta release of module.
1.09 UNRELEASED
* Many changes not documented here.
* Fatal is now fully backwaards compatible again.
* system() can be fatalised/autodying if IPC::System::Simple
is installed.
* Rationlisation of autodie::exception API.
* autodie::exception->function() now always returns the
full function name as best we can find it, and not
what may be getting replaced (eg, CORE::open instead of
main::open).
1.08 Sat Mar 29 10:54:20 AUSEDT 2008
Dual-lifed module internally from work I was doing on p5p.