Centralize control of message output to the messageOut() method in order to:
- Prevent the message filter from missing possible messages due to dispered control. - Single decision point for the types of messages to be output given current conditions and options settings.
This commit is contained in:
parent
4c74b14991
commit
fa30773938
|
@ -2480,19 +2480,18 @@ int main( int argc, char** argv )
|
||||||
if ( argc <= 1 )
|
if ( argc <= 1 )
|
||||||
break;
|
break;
|
||||||
} /* read command line loop */
|
} /* read command line loop */
|
||||||
|
|
||||||
|
/* blank line for screen formatting */
|
||||||
if (!tidyOptGetBool(tdoc, TidyQuiet) &&
|
if ( errout == stderr && !contentErrors && !tidyOptGetBool( tdoc, TidyQuiet ) )
|
||||||
errout == stderr && !contentErrors)
|
|
||||||
fprintf(errout, "\n");
|
fprintf(errout, "\n");
|
||||||
|
|
||||||
if (contentErrors + contentWarnings > 0 &&
|
/* footnote printing only if errors or warnings */
|
||||||
!tidyOptGetBool(tdoc, TidyQuiet))
|
if ( contentErrors + contentWarnings > 0 )
|
||||||
tidyErrorSummary(tdoc);
|
tidyErrorSummary(tdoc);
|
||||||
|
|
||||||
if (!tidyOptGetBool(tdoc, TidyQuiet))
|
/* prints the general info, if applicable */
|
||||||
tidyGeneralInfo(tdoc);
|
tidyGeneralInfo(tdoc);
|
||||||
|
|
||||||
/* called to free hash tables etc. */
|
/* called to free hash tables etc. */
|
||||||
tidyRelease( tdoc );
|
tidyRelease( tdoc );
|
||||||
|
|
||||||
|
|
|
@ -1812,7 +1812,7 @@ static languageDefinition language_en = { whichPluralForm_en, {
|
||||||
{ STRING_CONTENT_LOOKS, 0, "Document content looks like %s" },
|
{ STRING_CONTENT_LOOKS, 0, "Document content looks like %s" },
|
||||||
{ STRING_DOCTYPE_GIVEN, 0, "Doctype given is \"%s\"" },
|
{ STRING_DOCTYPE_GIVEN, 0, "Doctype given is \"%s\"" },
|
||||||
{/* The strings "Tidy" and "HTML Tidy" are the program name and must not be translated. */
|
{/* The strings "Tidy" and "HTML Tidy" are the program name and must not be translated. */
|
||||||
STRING_ERROR_COUNT, 0, "Tidy found %u %s and %u %s!"
|
STRING_ERROR_COUNT, 0, "Tidy found %u %s and %u %s!\n"
|
||||||
},
|
},
|
||||||
{/* This console output should be limited to 78 characters per line.
|
{/* This console output should be limited to 78 characters per line.
|
||||||
- The strings "Tidy" and "HTML Tidy" are the program name and must not be translated. */
|
- The strings "Tidy" and "HTML Tidy" are the program name and must not be translated. */
|
||||||
|
@ -1820,9 +1820,9 @@ static languageDefinition language_en = { whichPluralForm_en, {
|
||||||
"This document has errors that must be fixed before\n"
|
"This document has errors that must be fixed before\n"
|
||||||
"using HTML Tidy to generate a tidied up version.\n"
|
"using HTML Tidy to generate a tidied up version.\n"
|
||||||
},
|
},
|
||||||
{ STRING_NO_ERRORS, 0, "No warnings or errors were found." },
|
{ STRING_NO_ERRORS, 0, "No warnings or errors were found.\n" },
|
||||||
{ STRING_NO_SYSID, 0, "No system identifier in emitted doctype" },
|
{ STRING_NO_SYSID, 0, "No system identifier in emitted doctype" },
|
||||||
{ STRING_NOT_ALL_SHOWN, 0, "Tidy found %u %s and %u %s! Not all warnings/errors were shown." },
|
{ STRING_NOT_ALL_SHOWN, 0, "Tidy found %u %s and %u %s! Not all warnings/errors were shown.\n" },
|
||||||
{/* This console output should be limited to 78 characters per line.
|
{/* This console output should be limited to 78 characters per line.
|
||||||
- The strings "Tidy" and "HTML Tidy" are the program name and must not be translated. */
|
- The strings "Tidy" and "HTML Tidy" are the program name and must not be translated. */
|
||||||
TEXT_GENERAL_INFO, 0,
|
TEXT_GENERAL_INFO, 0,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef language_fr_h
|
#ifndef language_fr_h
|
||||||
#define language_fr_h
|
#define language_fr_h
|
||||||
/*
|
/*
|
||||||
* language_fr.h
|
* language_fr.h
|
||||||
|
@ -742,14 +742,14 @@ static languageDefinition language_fr = { whichPluralForm_fr, {
|
||||||
},
|
},
|
||||||
{ STRING_CONTENT_LOOKS, 0, "Le contenu du document ressemble à %s" },
|
{ STRING_CONTENT_LOOKS, 0, "Le contenu du document ressemble à %s" },
|
||||||
{ STRING_DOCTYPE_GIVEN, 0, "DOCTYPE donnée est «%s»" },
|
{ STRING_DOCTYPE_GIVEN, 0, "DOCTYPE donnée est «%s»" },
|
||||||
{ STRING_ERROR_COUNT, 0, "Tidy a trouvé %u %s et %u %s!" },
|
{ STRING_ERROR_COUNT, 0, "Tidy a trouvé %u %s et %u %s!\n" },
|
||||||
{ STRING_NEEDS_INTERVENTION, 0,
|
{ STRING_NEEDS_INTERVENTION, 0,
|
||||||
"Ce document contient des erreurs qui doivent d'abord être résolues\n"
|
"Ce document contient des erreurs qui doivent d'abord être résolues\n"
|
||||||
"en utilisant HTML Tidy pour produire une version nettoyée.\n"
|
"en utilisant HTML Tidy pour produire une version nettoyée.\n"
|
||||||
},
|
},
|
||||||
{ STRING_NO_ERRORS, 0, "Aucun avertissement ou erreur trouvée." },
|
{ STRING_NO_ERRORS, 0, "Aucun avertissement ou erreur trouvée.\n" },
|
||||||
{ STRING_NO_SYSID, 0, "Aucun identifiant système dans le doctype soumis" },
|
{ STRING_NO_SYSID, 0, "Aucun identifiant système dans le doctype soumis" },
|
||||||
{ STRING_NOT_ALL_SHOWN, 0, "Tidy a trouvé %u %s et %u %s! Tous les avertissements et erreurs n'ont pas été affichés." },
|
{ STRING_NOT_ALL_SHOWN, 0, "Tidy a trouvé %u %s et %u %s! Tous les avertissements et erreurs n'ont pas été affichés.\n" },
|
||||||
{ TEXT_GENERAL_INFO, 0,
|
{ TEXT_GENERAL_INFO, 0,
|
||||||
"À propos de HTML Tidy: https://github.com/htacg/tidy-html5\n"
|
"À propos de HTML Tidy: https://github.com/htacg/tidy-html5\n"
|
||||||
"Rapports de bugs et commentaires: https://github.com/htacg/tidy-html5/issues\n"
|
"Rapports de bugs et commentaires: https://github.com/htacg/tidy-html5/issues\n"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef language_pt_br_h
|
#ifndef language_pt_br_h
|
||||||
#define language_pt_br_h
|
#define language_pt_br_h
|
||||||
/*
|
/*
|
||||||
* language_pt_br.h
|
* language_pt_br.h
|
||||||
|
@ -837,14 +837,14 @@ static languageDefinition language_pt_br = { whichPluralForm_pt_br, {
|
||||||
{ TEXT_USING_BODY, 0, "É recomendável usar CSS para especificar cores de página e link" },
|
{ TEXT_USING_BODY, 0, "É recomendável usar CSS para especificar cores de página e link" },
|
||||||
{ STRING_CONTENT_LOOKS, 0, "O conteúdo do documento se parece com %s" },
|
{ STRING_CONTENT_LOOKS, 0, "O conteúdo do documento se parece com %s" },
|
||||||
{ STRING_DOCTYPE_GIVEN, 0, "Doctype dado é \"%s\"" },
|
{ STRING_DOCTYPE_GIVEN, 0, "Doctype dado é \"%s\"" },
|
||||||
{ STRING_ERROR_COUNT, 0, "Tidy encontrou %u %s e %u %s!" },
|
{ STRING_ERROR_COUNT, 0, "Tidy encontrou %u %s e %u %s!\n" },
|
||||||
{ STRING_NEEDS_INTERVENTION, 0,
|
{ STRING_NEEDS_INTERVENTION, 0,
|
||||||
"Esse documento possui erros que devem ser corrigidos\n"
|
"Esse documento possui erros que devem ser corrigidos\n"
|
||||||
"antes de usar HTML Tidy para gerar uma versão arrumada.\n"
|
"antes de usar HTML Tidy para gerar uma versão arrumada.\n"
|
||||||
},
|
},
|
||||||
{ STRING_NO_ERRORS, 0, "Nenhum aviso ou erro foi localizado." },
|
{ STRING_NO_ERRORS, 0, "Nenhum aviso ou erro foi localizado.\n" },
|
||||||
{ STRING_NO_SYSID, 0, "Nenhum identificado de sistema no doctype emitido" },
|
{ STRING_NO_SYSID, 0, "Nenhum identificado de sistema no doctype emitido" },
|
||||||
{ STRING_NOT_ALL_SHOWN, 0, "Tidy encontrou %u %s e %u %s! Nem todos avisos/erros foram mostrados." },
|
{ STRING_NOT_ALL_SHOWN, 0, "Tidy encontrou %u %s e %u %s! Nem todos avisos/erros foram mostrados.\n" },
|
||||||
{ TEXT_GENERAL_INFO, 0,
|
{ TEXT_GENERAL_INFO, 0,
|
||||||
"Sobre o HTML Tidy: https://github.com/htacg/tidy-html5\n"
|
"Sobre o HTML Tidy: https://github.com/htacg/tidy-html5\n"
|
||||||
"Relatórios de erro e comentários: https://github.com/htacg/tidy-html5/"
|
"Relatórios de erro e comentários: https://github.com/htacg/tidy-html5/"
|
||||||
|
|
|
@ -159,16 +159,22 @@ static void messageOut( TidyMessageImpl *message )
|
||||||
go = go & ( doc->errors < cfg(doc, TidyShowErrors) );
|
go = go & ( doc->errors < cfg(doc, TidyShowErrors) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// /* Suppress TidyInfo on Reports if applicable. */
|
/* Check for conditions to suppress TidyInfo. */
|
||||||
// if ( message->level == TidyInfo )
|
if ( message->level == TidyInfo )
|
||||||
// {
|
|
||||||
// go = go & (cfgBool(doc, TidyShowInfo) == yes);
|
|
||||||
// }
|
|
||||||
|
|
||||||
/* If suppressing TidyInfo/TidyDialogueInfo on Reports, suppress them. */
|
|
||||||
if ( message->level == TidyInfo || message->level == TidyDialogueInfo )
|
|
||||||
{
|
{
|
||||||
go = go & (cfgBool(doc, TidyShowInfo) == yes);
|
go = go & (cfgBool(doc, TidyShowInfo) == yes);
|
||||||
|
|
||||||
|
/* Temporary; we currently let TidyQuiet hide these: */
|
||||||
|
switch ( message->code )
|
||||||
|
{
|
||||||
|
case STRING_DOCTYPE_GIVEN:
|
||||||
|
case STRING_CONTENT_LOOKS:
|
||||||
|
case STRING_NO_SYSID:
|
||||||
|
go = go && !cfgBool(doc, TidyQuiet);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Suppress TidyWarning on Reports if applicable. */
|
/* Suppress TidyWarning on Reports if applicable. */
|
||||||
|
@ -177,6 +183,23 @@ static void messageOut( TidyMessageImpl *message )
|
||||||
go = go & (cfgBool(doc, TidyShowWarnings) == yes);
|
go = go & (cfgBool(doc, TidyShowWarnings) == yes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Check for conditions to suppress TidyDialogueInfo */
|
||||||
|
if ( message->level == TidyDialogueInfo )
|
||||||
|
{
|
||||||
|
/* Temporary; TidyShowInfo shouldn't affect TidyDialogueInfo, but
|
||||||
|
right now such messages are hidden until we granularize the
|
||||||
|
output controls. */
|
||||||
|
go = go & (cfgBool(doc, TidyShowInfo) == yes);
|
||||||
|
go = go | (cfgBool(doc, TidyQuiet) == yes);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check for conditions to suppress TidyDialogueSummary */
|
||||||
|
/* Temporary; TidyQuiet shouldn't hide this type of message. */
|
||||||
|
if ( message->level == TidyDialogueSummary && message->code != STRING_NEEDS_INTERVENTION )
|
||||||
|
{
|
||||||
|
go = go & !cfgBool(doc, TidyQuiet);
|
||||||
|
}
|
||||||
|
|
||||||
/* If we're TidyQuiet and handling any type of dialogue above summaries,
|
/* If we're TidyQuiet and handling any type of dialogue above summaries,
|
||||||
then suppress. */
|
then suppress. */
|
||||||
if ( message->level > TidyDialogueSummary )
|
if ( message->level > TidyDialogueSummary )
|
||||||
|
@ -1225,7 +1248,6 @@ void TY_(ErrorSummary)( TidyDocImpl* doc )
|
||||||
if (doc->footnotes & FN_TRIM_EMPTY_ELEMENT)
|
if (doc->footnotes & FN_TRIM_EMPTY_ELEMENT)
|
||||||
TY_(Dialogue)( doc, FOOTNOTE_TRIM_EMPTY_ELEMENT );
|
TY_(Dialogue)( doc, FOOTNOTE_TRIM_EMPTY_ELEMENT );
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1277,8 +1299,6 @@ void TY_(ReportNumWarnings)( TidyDocImpl* doc )
|
||||||
{
|
{
|
||||||
TY_(Dialogue)( doc, STRING_NO_ERRORS );
|
TY_(Dialogue)( doc, STRING_NO_ERRORS );
|
||||||
}
|
}
|
||||||
|
|
||||||
TY_(WriteChar)( '\n', doc->errout );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1380,17 +1380,10 @@ int TY_(DocParseStream)( TidyDocImpl* doc, StreamIn* in )
|
||||||
|
|
||||||
int tidyDocRunDiagnostics( TidyDocImpl* doc )
|
int tidyDocRunDiagnostics( TidyDocImpl* doc )
|
||||||
{
|
{
|
||||||
Bool quiet = cfgBool( doc, TidyQuiet );
|
TY_(ReportMarkupVersion)( doc );
|
||||||
Bool force = cfgBool( doc, TidyForceOutput );
|
TY_(ReportNumWarnings)( doc );
|
||||||
|
|
||||||
if ( !quiet )
|
if ( doc->errors > 0 && !cfgBool( doc, TidyForceOutput ) )
|
||||||
{
|
|
||||||
|
|
||||||
TY_(ReportMarkupVersion)( doc );
|
|
||||||
TY_(ReportNumWarnings)( doc );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( doc->errors > 0 && !force )
|
|
||||||
TY_(Dialogue)(doc, STRING_NEEDS_INTERVENTION );
|
TY_(Dialogue)(doc, STRING_NEEDS_INTERVENTION );
|
||||||
|
|
||||||
return tidyDocStatus( doc );
|
return tidyDocStatus( doc );
|
||||||
|
|
Loading…
Reference in a new issue