summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/po/check.vim19
-rw-r--r--src/version.c2
2 files changed, 19 insertions, 2 deletions
diff --git a/src/po/check.vim b/src/po/check.vim
index 50ed9a40f..abe999a4f 100644
--- a/src/po/check.vim
+++ b/src/po/check.vim
@@ -1,7 +1,8 @@
" Vim script for checking .po files.
"
-" Go through the file and verify that all %...s items in "msgid" are identical
-" to the ones in "msgstr".
+" Go through the file and verify that:
+" - All %...s items in "msgid" are identical to the ones in "msgstr".
+" - An error or warning code in "msgid" matches the one in "msgstr".
if 1 " Only execute this if the eval feature is available.
@@ -56,6 +57,20 @@ while 1
endif
endwhile
+" Check that error code in msgid matches the one in msgstr.
+"
+" Examples of mismatches found with msgid "E123: ..."
+" - msgstr "E321: ..." error code mismatch
+" - msgstr "W123: ..." warning instead of error
+" - msgstr "E123 ..." missing colon
+" - msgstr "..." missing error code
+"
+1
+if search('msgid "\("\n"\)\?\([EW][0-9]\+:\).*\nmsgstr "\("\n"\)\?[^"]\@=\2\@!') > 0
+ echo 'Mismatching error/warning code in line ' . line('.')
+ let error = 1
+endif
+
if error == 0
echo "OK"
endif
diff --git a/src/version.c b/src/version.c
index 045814028..5b5705a4c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 312,
+/**/
311,
/**/
310,