X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Fdebug.cpp;h=3a6f9018feb3926549c5af73e125c406b6279d7f;hb=3f59d7e2cc6a3f9a09631c804b49b6d28e05d857;hp=1656967e7011cc619299cbaf1d5b9ff1242a2b58;hpb=ddc38c93ca7c8e96ab1988626903c39b484cacca;p=lyx.git diff --git a/src/support/debug.cpp b/src/support/debug.cpp index 1656967e70..3a6f9018fe 100644 --- a/src/support/debug.cpp +++ b/src/support/debug.cpp @@ -14,14 +14,16 @@ #include "support/convert.h" #include "support/debug.h" +#include "support/FileName.h" #include "support/gettext.h" #include "support/lstrings.h" -#include "support/FileName.h" #include "support/ProgressInterface.h" +#include "support/regex.h" #include #include + using namespace std; using namespace lyx::support; @@ -143,10 +145,10 @@ Debug::Type Debug::value(string const & val) void Debug::showLevel(ostream & os, Debug::Type level) { // Show what features are traced - for (int i = 0; i != numErrorTags; ++i) { + for (int i = 0; i < numErrorTags; ++i) { if (errorTags[i].level != Debug::ANY - && errorTags[i].level != Debug::NONE - && errorTags[i].level & level) { + && errorTags[i].level != Debug::NONE + && errorTags[i].level & level) { // avoid to_utf8(_(...)) re-entrance problem docstring const s = _(errorTags[i].desc); os << to_utf8(bformat(_("Debugging `%1$s' (%2$s)"), @@ -182,7 +184,7 @@ void LyXErr::enable() bool LyXErr::debugging(Debug::Type t) const { - return (dt & t); + return (dt_ & t); } @@ -190,9 +192,25 @@ void LyXErr::endl() { if (enabled_) { stream() << std::endl; - if (second_used_) - second() << std::endl; + if (second_enabled_) + secondStream() << std::endl; + } +} + + +char const * LyXErr::stripName(char const * n) +{ + string const name = n; + // find the last occurence of /src/ in name + static regex re("[\\/]src[\\/]"); + string::const_iterator const begin = name.begin(); + string::const_iterator it = begin; + string::const_iterator const end = name.end(); + smatch results; + while (regex_search(it, end, results, re)) { + it = results[0].second; } + return n + std::distance(begin, it); } @@ -202,8 +220,8 @@ LyXErr & toStream(LyXErr & l, T t) { if (l.enabled()){ l.stream() << t; - if (l.second_used()) { - l.second() << t; + if (l.secondEnabled()) { + l.secondStream() << t; ProgressInterface::instance()->lyxerrFlush(); } } @@ -242,4 +260,6 @@ LyXErr & operator<<(LyXErr & l, ios_base &(*t)(ios_base &)) // The global instance LyXErr lyxerr; + + } // namespace lyx