po: Fix replacement of %m in sed programs

When running make dist, I hit this error:

  rm -f en@arabic.gmo && /usr/bin/gmsgfmt -c --statistics --verbose -o en@arabic.gmo en@arabic.po
  en@arabic.po:5312: 'msgstr' is not a valid C format string, unlike 'msgid'.
  Reason: The character that terminates the directive number 3 is not a valid conversion specifier.
  /usr/bin/gmsgfmt: found 1 fatal error

This was caused by "%m" being replaced with foreign Unicode characters.
For example:

  msgid "cannot rename the file %s to %s: %m"
  msgstr "ﺹﺎﻨﻧﻮﺗ ﺮﻌﻧﺎﻤﻋ ﺖﻬﻋ ﻒִﻴﻠﻋ %s ﺕﻭ %s: %ﻡ"

Mimic the workaround used for "%s" by reversing the replacement of "%m" at
the end of the sed programs.

Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Mike Gilbert 2020-03-02 15:03:32 -05:00 committed by Daniel Kiper
parent ac116bd659
commit 2e246b6fec
4 changed files with 4 additions and 0 deletions

View File

@ -73,6 +73,7 @@ s,%\([0-9]*\)لد,%\1ld,g
s,%\([0-9]*\)للد,%\1lld,g
s,%\([0-9\.\*]*\)س,%\1s,g
s,%\([0-9\.\*]*\)م,%\1m,g
s,%\([0-9]*\)لو,%\1lu,g
s,%\([0-9]*\)و,%\1u,g
s,%\([0-9]*\)للو,%\1llu,g

View File

@ -96,6 +96,7 @@ s,%\([0-9]*\)лд,%\1ld,g
s,%\([0-9]*\)ллд,%\1lld,g
s,%\([0-9\.\*]*\)с,%\1s,g
s,%\([0-9\.\*]*\)м,%\1m,g
s,%\([0-9]*\)лу,%\1lu,g
s,%\([0-9]*\)у,%\1u,g
s,%\([0-9]*\)ллу,%\1llu,g

View File

@ -98,6 +98,7 @@ s,%\([0-9]*\)λδ,%\1ld,g
s,%\([0-9]*\)λλδ,%\1lld,g
s,%\([0-9\.\*]*\)σ,%\1s,g
s,%\([0-9\.\*]*\)μ,%\1m,g
s,%\([0-9]*\)λυ,%\1lu,g
s,%\([0-9]*\)υ,%\1u,g
s,%\([0-9]*\)λλυ,%\1llu,g

View File

@ -81,6 +81,7 @@ s,%\([0-9]*\)לד,%\1ld,g
s,%\([0-9]*\)ללד,%\1lld,g
s,%\([0-9\.\*]*\)ש,%\1s,g
s,%\([0-9\.\*]*\)מ,%\1m,g
s,%\([0-9]*\)לוּ,%\1lu,g
s,%\([0-9]*\)וּ,%\1u,g
s,%\([0-9]*\)ללוּ,%\1llu,g