]> git.lyx.org Git - lyx.git/blobdiff - src/support/debug.h
Remove unused macros USE_INCLUDED_STRING and STD_STRING_IS_GOOD
[lyx.git] / src / support / debug.h
index e398c3618bcb4ffd42bf93256075e2ee57fceb1f..056e610955280e7c690433a06ef95514ad06dc54 100644 (file)
@@ -90,6 +90,10 @@ namespace Debug {
                ///
                PAINTING   = (1 << 24),
                ///
+               SCROLLING  = (1 << 25),
+               ///
+               MACROS     = (1 << 26),
+               ///
                DEBUG      = (1 << 31),
                ///
                ANY = 0xffffffff
@@ -120,10 +124,13 @@ inline void operator|=(Debug::Type & d1, Debug::Type d2)
 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
@@ -167,13 +174,23 @@ extern LyXErr lyxerr;
 
 } // 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