[LyX/master] Adjust debug output for fonts

Enrico Forestieri forenr at lyx.org
Tue Sep 1 09:54:46 UTC 2020


commit 8039b34802c9e08809c02bb3682ac50439d97951
Author: Enrico Forestieri <forenr at lyx.org>
Date:   Tue Sep 1 12:12:55 2020 +0200

    Adjust debug output for fonts
    
    This restores the debug output as it was intended before the
    introduction of the LYXERR macro that was unconditionally outputing
    an end of line. This is how this output was appearing until lyx 1.5:
    
    Looking for font family cmr10 ... got: cmr10
     got it normal!
    
    instead of as it was since lyx 1.6 and until now:
    
    Looking for font family cmr10 ...
    got: cmr10
     got it
    normal!
---
 src/frontends/qt/GuiFontLoader.cpp |   22 +++++++++++-----------
 src/support/debug.h                |   12 ++++++++++++
 2 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/src/frontends/qt/GuiFontLoader.cpp b/src/frontends/qt/GuiFontLoader.cpp
index 6f1de04..82dafbf 100644
--- a/src/frontends/qt/GuiFontLoader.cpp
+++ b/src/frontends/qt/GuiFontLoader.cpp
@@ -185,14 +185,14 @@ static bool isChosenFont(QFont & font, QString const & family,
 	// positions.
 	QFontInfo fi(font);
 
-	LYXERR(Debug::FONT, "got: " << fi.family());
+	LYXERR_NOPOS(Debug::FONT, "got: " << fi.family());
 
 	if (fi.family().contains(family)
 #if QT_VERSION >= 0x040800
 	    && (style.isEmpty() || fi.styleName().contains(style))
 #endif
 	    ) {
-		LYXERR(Debug::FONT, " got it ");
+		LYXERR_NOENDL(Debug::FONT, " got it ");
 		return true;
 	}
 
@@ -202,7 +202,7 @@ static bool isChosenFont(QFont & font, QString const & family,
 
 QFont symbolFont(QString const & family, bool * ok)
 {
-	LYXERR(Debug::FONT, "Looking for font family " << family << " ... ");
+	LYXERR_NOENDL(Debug::FONT, "Looking for font family " << family << " ... ");
 	QString upper = family;
 	upper[0] = family[0].toUpper();
 
@@ -212,26 +212,26 @@ QFont symbolFont(QString const & family, bool * ok)
 	font.setStyleName("LyX");
 
 	if (isChosenFont(font, family, "LyX")) {
-		LYXERR(Debug::FONT, "lyx!");
+		LYXERR_NOPOS(Debug::FONT, "lyx!");
 		*ok = true;
 		return font;
 	}
 
-	LYXERR(Debug::FONT, "Trying normal " << family << " ... ");
+	LYXERR_NOENDL(Debug::FONT, "Trying normal " << family << " ... ");
 	font.setStyleName(QString());
 #endif
 
 	if (isChosenFont(font, family, QString())) {
-		LYXERR(Debug::FONT, "normal!");
+		LYXERR_NOPOS(Debug::FONT, "normal!");
 		*ok = true;
 		return font;
 	}
 
-	LYXERR(Debug::FONT, "Trying " << upper << " ... ");
+	LYXERR_NOENDL(Debug::FONT, "Trying " << upper << " ... ");
 	font.setFamily(upper);
 
 	if (isChosenFont(font, upper, QString())) {
-		LYXERR(Debug::FONT, "upper!");
+		LYXERR_NOPOS(Debug::FONT, "upper!");
 		*ok = true;
 		return font;
 	}
@@ -240,17 +240,17 @@ QFont symbolFont(QString const & family, bool * ok)
 	// A simple setFamily() fails on Qt 2
 
 	QString const raw = rawName(family);
-	LYXERR(Debug::FONT, "Trying " << raw << " ... ");
+	LYXERR_NOENDL(Debug::FONT, "Trying " << raw << " ... ");
 	font.setRawName(raw);
 
 	if (isChosenFont(font, family, QString())) {
-		LYXERR(Debug::FONT, "raw version!");
+		LYXERR_NOPOS(Debug::FONT, "raw version!");
 		*ok = true;
 		return font;
 	}
 #endif
 
-	LYXERR(Debug::FONT, " FAILED :-(");
+	LYXERR_NOPOS(Debug::FONT, " FAILED :-(");
 	*ok = false;
 	return font;
 }
diff --git a/src/support/debug.h b/src/support/debug.h
index 10bb5a7..112b66a 100644
--- a/src/support/debug.h
+++ b/src/support/debug.h
@@ -229,6 +229,18 @@ extern LyXErr lyxerr;
 		else { lyx::lyxerr << CURRENT_POSITION << msg; lyx::lyxerr.endl(); } \
 	} while (0)
 
+#define LYXERR_NOENDL(type, msg) \
+	do { \
+		if (!lyx::lyxerr.debugging(type)) {} \
+		else { lyx::lyxerr << CURRENT_POSITION << msg; } \
+	} while (0)
+
+#define LYXERR_NOPOS(type, msg) \
+	do { \
+		if (!lyx::lyxerr.debugging(type)) {} \
+		else { lyx::lyxerr << msg; lyx::lyxerr.endl(); } \
+	} while (0)
+
 #define LYXERR0(msg) \
 	do { \
 		lyx::lyxerr << CURRENT_POSITION << msg; lyx::lyxerr.endl(); \


More information about the lyx-cvs mailing list