The branch, 2.0.x, has been updated. - Log -----------------------------------------------------------------
commit a53f9aa8cc0446021bd97733f25e7e899b32a163 Author: Jean-Marc Lasgouttes <lasgout...@lyx.org> Date: Mon Jun 11 15:03:29 2012 +0200 Make debug messages more readable Shorten the file names output by LYXERR so that they start right after /src/. diff --git a/src/support/debug.cpp b/src/support/debug.cpp index 29a167a..3a6f901 100644 --- a/src/support/debug.cpp +++ b/src/support/debug.cpp @@ -14,10 +14,11 @@ #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 <iostream> #include <iomanip> @@ -197,13 +198,29 @@ void LyXErr::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); +} + + // It seems not possible to instantiate operator template out of class body template<class T> LyXErr & toStream(LyXErr & l, T t) { if (l.enabled()){ l.stream() << t; - if (l.secondEnabled()) { + if (l.secondEnabled()) { l.secondStream() << t; ProgressInterface::instance()->lyxerrFlush(); } diff --git a/src/support/debug.h b/src/support/debug.h index d636e4c..a883e67 100644 --- a/src/support/debug.h +++ b/src/support/debug.h @@ -171,6 +171,9 @@ public: /// Returns true if t is part of the current debug level bool debugging(Debug::Type t = Debug::ANY) const; + /// + static char const * stripName(char const *); + private: /// The current debug level Debug::Type dt_; @@ -208,7 +211,7 @@ extern LyXErr lyxerr; # include <boost/current_function.hpp> # define CURRENT_POSITION BOOST_CURRENT_FUNCTION ": " #else -# define CURRENT_POSITION __FILE__ << "(" << __LINE__ << "): " +# define CURRENT_POSITION lyx::LyXErr::stripName(__FILE__) << " (" << __LINE__ << "): " #endif #define LYXERR(type, msg) \ diff --git a/status.20x b/status.20x index 7416449..3b3c514 100644 --- a/status.20x +++ b/status.20x @@ -126,6 +126,8 @@ What's new - Remove annoying startup debug message. +- Shorten source file names in debug messages. + - Fix display of file names that contain many non-ascii characters. ----------------------------------------------------------------------- Summary of changes: src/support/debug.cpp | 21 +++++++++++++++++++-- src/support/debug.h | 5 ++++- status.20x | 2 ++ 3 files changed, 25 insertions(+), 3 deletions(-) hooks/post-receive -- The LyX Source Repository