msgl-check: Treat missing header errors as warnings

Problem reported by Richard Hughes at
<https://lists.fedoraproject.org/pipermail/devel/2014-June/199539.html>.
After <https://savannah.gnu.org/bugs/?40262>, "msgfmt -c" reports
error on missing PO headers.  However, it turned out to be too strict
for the projects using Launchpad Translations.  Let's relax the check
for the moment and wait for one or two release cycles.
* gettext-tools/src/msgl-check.c (check_header_entry): Report missing
required headers as warning, instead of error.
This commit is contained in:
Daiki Ueno
2014-06-02 18:04:41 +09:00
parent 2899ed4475
commit 317449061a
4 changed files with 33 additions and 5 deletions
+12
View File
@@ -1,3 +1,15 @@
2014-06-02 Daiki Ueno <ueno@gnu.org>
msgl-check: Treat missing header errors as warnings
Problem reported by Richard Hughes at
<https://lists.fedoraproject.org/pipermail/devel/2014-June/199539.html>.
After <https://savannah.gnu.org/bugs/?40262>, "msgfmt -c" reports
error on missing PO headers. However, it turned out to be too strict
for the projects using Launchpad Translations. Let's relax the check
for the moment and wait for one or two release cycles.
* msgl-check.c (check_header_entry): Report missing
required headers as warning, instead of error.
2014-06-02 Daiki Ueno <ueno@gnu.org>
* gettext 0.19 released.
+14 -2
View File
@@ -777,8 +777,18 @@ check_header_entry (const message_ty *mp, const char *msgstr_string)
for (cnt = 0; cnt < nfields; ++cnt)
{
/* 0.19 change: It would better report error if a required
header field is missing. However, traditionally we didn't
treat it as error. Let's wait for one or two cycles until we
can assume the required header fields are always
available in practical PO files. */
#if 0
int severity =
(cnt < nrequiredfields ? PO_SEVERITY_ERROR : PO_SEVERITY_WARNING);
#else
int severity =
PO_SEVERITY_WARNING;
#endif
const char *field = required_fields[cnt];
size_t len = strlen (field);
const char *line;
@@ -805,7 +815,8 @@ check_header_entry (const message_ty *mp, const char *msgstr_string)
field);
po_xerror (severity, mp, NULL, 0, 0, true, msg);
free (msg);
seen_errors++;
if (severity == PO_SEVERITY_ERROR)
seen_errors++;
}
}
break;
@@ -821,7 +832,8 @@ check_header_entry (const message_ty *mp, const char *msgstr_string)
field);
po_xerror (severity, mp, NULL, 0, 0, true, msg);
free (msg);
seen_errors++;
if (severity == PO_SEVERITY_ERROR)
seen_errors++;
}
}
return seen_errors;
+4
View File
@@ -1,3 +1,7 @@
2014-06-02 Daiki Ueno <ueno@gnu.org>
* msgfmt-10: Update after error checking behaviro change.
2014-06-02 Daiki Ueno <ueno@gnu.org>
* gettext 0.19 released.
+3 -3
View File
@@ -48,7 +48,6 @@ msgstr ""
"Project-Id-Version: GNU bison\n"
"PO-Revision-Date: 2001-04-05 19:47+0200\n"
"Last-Translator: ABC DEF <abc@gnu.uucp>\n"
"Language-Team: test <test@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-9\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -68,9 +67,10 @@ ${MSGFMT} --check -o /dev/null mf-test10.po2 \
2>&1 | grep -v '^==' | sed -e 's|[^ ]*\\msgfmt\.exe|msgfmt|' -e 's|^msgfmt\.exe|msgfmt|' | LC_ALL=C tr -d '\r' > mf-test10.err
cat << EOF > mf-test10.ok
mf-test10.po2:6: warning: header field 'Language-Team' missing in header
mf-test10.po2:6: warning: header field 'Language' missing in header
mf-test10.po2:20: number of format specifications in 'msgid_plural' and 'msgstr[1]' does not match
msgfmt: found 2 fatal errors
mf-test10.po2:19: number of format specifications in 'msgid_plural' and 'msgstr[1]' does not match
msgfmt: found 1 fatal error
EOF
: ${DIFF=diff}