X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fdebug.C;h=24977bc1b88a17dfe5eb83a8a822fa603d839345;hb=e7ef29fa2d516b8593aa3cccb6548de5686e8a9a;hp=6117f282c208c0d39084e3c2a99bd14e4c6e8a1a;hpb=ae87b945156585b080ed155919f64b80e48d7a04;p=lyx.git diff --git a/src/debug.C b/src/debug.C index 6117f282c2..24977bc1b8 100644 --- a/src/debug.C +++ b/src/debug.C @@ -1,29 +1,32 @@ -/* This file is part of -* ====================================================== -* -* LyX, The Document Processor -* -* Copyright 1999-2001 The LyX Team. -* -* ====================================================== */ - -#ifdef __GNUG__ -#pragma implementation -#endif +/** + * \file debug.C + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author Lars Gullik Bjønnes + * \author Jean-Marc Lasgouttes + * + * Full author contact details are available in file CREDITS. + */ #include #include "debug.h" #include "gettext.h" -#include "support/lstrings.h" -#include "BoostFormat.h" +#include "support/convert.h" +#include "support/lstrings.h" +#include #include -using std::ostream; +using lyx::support::ascii_lowercase; +using lyx::support::bformat; +using lyx::support::isStrInt; + using std::setw; -using std::endl; +using std::string; +using std::ostream; namespace { @@ -40,7 +43,7 @@ error_item errorTags[] = { { Debug::INIT, "init", N_("Program initialisation")}, { Debug::KEY, "key", N_("Keyboard events handling")}, { Debug::GUI, "gui", N_("GUI handling")}, - { Debug::PARSER, "parser", N_("Lyxlex grammer parser")}, + { Debug::PARSER, "parser", N_("Lyxlex grammar parser")}, { Debug::LYXRC, "lyxrc", N_("Configuration files reading")}, { Debug::KBMAP, "kbmap", N_("Custom keyboard definition")}, { Debug::LATEX, "latex", N_("LaTeX generation/execution")}, @@ -59,6 +62,8 @@ error_item errorTags[] = { { Debug::INSETTEXT, "insettext", N_("Insettext/tabular messages")}, { Debug::GRAPHICS, "graphics", N_("Graphics conversion and loading")}, { Debug::CHANGES, "changes", N_("Change tracking")}, + { Debug::EXTERNAL, "external", N_("External template/inset messages")}, + { Debug::DEBUG, "debug", N_("Developers' general debug messages")}, { Debug::ANY, "any", N_("All debugging messages")} }; @@ -68,27 +73,18 @@ int const numErrorTags = sizeof(errorTags)/sizeof(error_item); } // namespace anon -Debug::type const Debug::ANY = Debug::type( - Debug::INFO | Debug::INIT | Debug::KEY | Debug::GUI | - Debug::PARSER | Debug::LYXRC | Debug::KBMAP | Debug::LATEX | - Debug::MATHED | Debug::FONT | Debug::TCLASS | Debug::LYXVC | - Debug::LYXSERVER | Debug::ROFF | Debug::ACTION | Debug::LYXLEX | - Debug::DEPEND | Debug::INSETS | Debug::FILES | Debug::WORKAREA | - Debug::INSETTEXT | Debug::GRAPHICS | Debug::CHANGES); - - -Debug::type Debug::value(string const & val) +lyx_debug_trait::type lyx_debug_trait::value(string const & val) { type l = Debug::NONE; string v(val); while (!v.empty()) { - string::size_type st = v.find(','); - string tmp(ascii_lowercase(v.substr(0, st))); + string::size_type const st = v.find(','); + string const tmp(ascii_lowercase(v.substr(0, st))); if (tmp.empty()) break; // Is it a number? if (isStrInt(tmp)) - l |= static_cast(strToInt(tmp)); + l |= static_cast(convert(tmp)); else // Search for an explicit name for (int i = 0 ; i < numErrorTags ; ++i) @@ -103,34 +99,31 @@ Debug::type Debug::value(string const & val) } -void Debug::showLevel(ostream & o, Debug::type level) +void lyx_debug_trait::showLevel(ostream & os, lyx_debug_trait::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) { -#if USE_BOOST_FORMAT - o << boost::format( - _("Debugging `%1$s' (%2$s)")) - % errorTags[i].name - % _(errorTags[i].desc) - << endl; -#else - o << _("Debugging `") << errorTags[i].name << "' (" - << _(errorTags[i].desc) << ')' - << endl; -#endif + // avoid _(...) re-entrance problem + string const s = _(errorTags[i].desc); + os << bformat(_("Debugging `%1$s' (%2$s)"), + errorTags[i].name, s) + << '\n'; } } + os.flush(); } -void Debug::showTags(ostream & os) +void lyx_debug_trait::showTags(ostream & os) { - for (int i = 0 ; i < numErrorTags ; ++i) - os << setw(7) << errorTags[i].level + for (int i = 0; i < numErrorTags ; ++i) + os << setw(7) << static_cast(errorTags[i].level) << setw(10) << errorTags[i].name << " " << _(errorTags[i].desc) << '\n'; os.flush(); } + +LyXErr lyxerr;