Because playing withC<abort()> trycatchin C is not easy, this library hides all the technical difficuly of a correct I<try/catch> pattern in the C language over I<all> lua methods. In addition, forthose wanting to catchany lua error without this library, there is a difficulty at the very beginning: setting a try/catchhandler can abort without the abort being already set... this library handles also this bootstrap case.
=head2 Wrappers semantics
=over
=item
Any function like C<type lua_xxx(...args...)> hasa wrapper like C<short luaunpanic_xxx(type *luaunpanic_result, ...args...)>.
=item
Any function like C<void lua_xxx(...args...)> hasa wrapper like C<short luaunpanic_xxx(...args...)>.
=back
Lua returncode semantic is preserved and native behaviour is preserved:
=over
=item
luaunpanic wrappers always returnC<0> in case of success, C<1> in case of failure.
=item
The C<lua_State> pointer returned withthe unpanic versions of C<lua_State> creation methods can still be used withI<native> lua methods, available within the library.
=item
A new method to retreive the latest panic string exists:
short luaunpanic_panicstring(char **panicstringp, lua_State *L)
Obviously, this is targetting embedded lua interpreters into third-party libraries: by using luaunpanic, you make sure that your library will never exitbecause of lua defaultI<abort()> behaviour.