This is not an exhaustive list of TODO items.
* Write a bunch of tests for the exception API
* Remove :lexical tests in t/* and convert them to using
autodie. The :lexical option is no longer officially supported in
Fatal. These tests may be allowable in an t/internal.t file.
* (More?) tests for user defined subs!
* Define roles properly.
* 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.
* Finalise the exception interface.
* Write a huge amount of documentation.
* Write a huge amount of tests.
* Figure out how we deal with core modules being called before site_perl.
* Test the many varied forms of sysopen.
* Add fork() to the list of things that are defined-or-die
* Test fcntl.
== 5.8 / The One True Autodie ==
* Remove/fix kludge that forces || as the only test
operator under 5.8
* 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.
* Support 're-instating' original subs when we've used autodie
on user subs, or when we've used 'no autodie ...' to turn
off a sub until the end of a scope.
* We do this now! Or we should. More tests are needed.
* lex58 still produces a warning from system, even under Cygwin.
Does this happen under Linux? Can we get rid of it, or
document it better?
* Fix leaking of autodie into other files when they are used from
within an autodying scope.
* Consider what happens when import is called at run-time!
(Both in 5.10 and 5.8, but especially 5.8)