This is not an exhaustive list of TODO items.
* use Fatal qw(system) now works! Test to make sure it works sensibly
with Fatal semantics, rather than accidently slipping in autodie
semantics. What does it mean for Fatal semantics to exist here?
* Write a bunch of tests for the exception API
* (More?) tests for user defined subs!
* Trawl through perlfunc to find which things autodie may apply to.
* Generate a good way to allow subroutines to register themselves
with roles and message handlers, possibly defining their own
exception handler to use.
* Provide an autodie mixin which at least provides expected autodie
behaviours, even if someone wants to use their own exception class.
* Provide a nicer way to override message handlers.
* Write more documentation.
* Write more tests.
* Test the many varied forms of sysopen.
* Test fcntl.
* !!! We need a proper way to override exceptions from system!
* Make sure that all the internal subroutines in Fatal continue to
work using their old wacky interfaces.
* Test open(my $fh, '|-') || exec().
* Consider what happens when import is called at run-time!
(Both in 5.10 and 5.8, but especially 5.8)
== Wishlist ==
* Reduce the number of lexical guards we need in our array.
We should be able to combine these, or have a single guard
that does the right thing.
* Think about padwalker integration. This can give us really
pretty errors!
* Catch require/do and remove any autodying subs upon entry.
At the end of file, replace them. This is a better solution
to using leak-guards, which require more time and space at
run-time.