* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
* \author Jean-Marc Lasgouttes
*
* Full author contact details are available in file CREDITS.
///
LYXSERVER = (1 << 12), // 4096
///
- ROFF = (1 << 13), // 8192
+ UNDO = (1 << 13), // 8192
///
ACTION = (1 << 14), // 16384
///
///
PAINTING = (1 << 24),
///
+ SCROLLING = (1 << 25),
+ ///
+ MACROS = (1 << 26),
+ /// rtl-related
+ RTL = (1 << 27),
+ /// locale related
+ LOCALE = (1 << 28),
+ /// selection
+ SELECTION = (1 << 29),
+ ///
DEBUG = (1 << 31),
///
ANY = 0xffffffff
class LyXErr
{
public:
+ LyXErr(): enabled_(true) {}
/// Disable the stream completely
void disable();
/// Enable the stream after a possible call of disable()
void enable();
+ ///
+ bool enabled() const { return enabled_; }
/// Returns true if t is part of the current debug level.
bool debugging(Debug::Type t = Debug::ANY) const;
/// Ends output
} // namespace lyx
+#if USE_BOOST_CURRENT_FUNCTION
+# include <boost/current_function.hpp>
+# define CURRENT_POSITION BOOST_CURRENT_FUNCTION ": "
+#else
+# define CURRENT_POSITION __FILE__ << "(" << __LINE__ << "): "
+#endif
#define LYXERR(type, msg) \
do { \
if (!lyx::lyxerr.debugging(type)) {} \
- else { lyx::lyxerr << msg; lyx::lyxerr.endl(); } \
+ else { lyx::lyxerr << CURRENT_POSITION << msg; lyx::lyxerr.endl(); } \
+ } while (0)
+
+#define LYXERR0(msg) \
+ do { \
+ lyx::lyxerr << CURRENT_POSITION << msg; lyx::lyxerr.endl(); \
} while (0)
-#define LYXERR0(msg) LYXERR(lyx::Debug::ANY, msg)
#endif