User-selectable lexically-scoped failure signaling
Changes for 0.001000
- [POTENTIALLY INCOMPATIBLE CHANGE] As it makes no sense to use fail() for error-signalling in non-API-level subroutines, fail() now always fails at the API level (i.e. at the level of the call stack where control leaves the current package). In other words, calling fail() in a nested subroutine within a package, fails the subroutine where we first entered the package. See the documentation for details. (Many thanks, Konrad!)
- Removed all use of smartmatching and given/when for 5.38 compatibility