/******************************************************************************
-LyX has five different macros that can be used to make assertions. The behave
+LyX has five different macros that can be used to make assertions. They behave
the same way in devel mode: They assert. The differences between them are how
they behave in release mode.
This macro should be used when a failure of expr indicates a problem with a
Buffer or its related objects, e.g., a Cursor. In release mode, it throws a
BufferException, which will typically result in an emergency save of that
- particular Buffer. The msg will be displayed to the user and so should be
- internationalized.
+ particular Buffer.
LAPPERR(expr)
This macro should be used if a failure of expr is incompatible with LyX
continuing to operate at all. In release mode, this issues an ErrorException,
- which typically results in an emergency shutdown. The msg will be displayed
- to the user and so should be internationalized.
+ which typically results in an emergency shutdown.
******************************************************************************/
void doBufErr(char const * expr, char const * file, long line);
void doAppErr(char const * expr, char const * file, long line);
+void doAssertWithCallstack(bool value);
+
/// Print demangled callstack to stderr
-void printCallStack();
+docstring printCallStack();
} // namespace lyx