diff options
-rw-r--r-- | intl/po2test.sed | 70 |
1 files changed, 26 insertions, 44 deletions
diff --git a/intl/po2test.sed b/intl/po2test.sed index d1c2f3d086..c68808d840 100644 --- a/intl/po2test.sed +++ b/intl/po2test.sed @@ -1,5 +1,5 @@ # po2test.sed - Convert Uniforum style .po file to C code for testing. -# Copyright (C) 2000 Free Software Foundation, Inc. +# Copyright (C) 2000,2003 Free Software Foundation, Inc. # Ulrich Drepper <drepper@cygnus.com>, 2000. # # This program is free software; you can redistribute it and/or modify @@ -16,55 +16,37 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # + # # We copy the original message as a comment into the .msg file. But enclose # them with INPUT ( ). # -/^msgid/ { - s/msgid[ ]*"\(.*\)"/INPUT ("\1")/ -# Clear flag from last substitution. - tb -# Append the next line. - :b - N -# Look whether second part is a continuation line. - s/\(.*\)")\(\n\)"\(.*\)"/\1\\\2\3")/ -# Yes, then branch. - ta - P - D -# Note that `D' includes a jump to the start!! -# We found a continuation line. But before printing insert '\'. - :a - s/\(.*\)")\(\n.*\)/\1\\\2/ - P -# We cannot use the sed command `D' here - s/.*\n\(.*\)/\1/ - tb -} +s/msgid[ ]*"\(.*\)"/INPUT ("\1")/ +# Clear flag from last substitution and jump if matching +tb + # # Copy the translations as well and enclose them with OUTPUT ( ). # -/^msgstr/ { - s/msgstr[ ]*"\(.*\)"/OUTPUT ("\1")/ -# Clear flag from last substitution. - tb +s/msgstr[ ]*"\(.*\)"/OUTPUT ("\1")/ +# Clear flag from last substitution and jump if matching +tb + +d + +:b # Append the next line. - :b - N -# Look whether second part is a continuation line. - s/\(.*\)")\(\n\)"\(.*\)"/\1\\\2\3")/ -# Yes, then branch. - ta - P - D -# Note that `D' includes a jump to the start!! -# We found a continuation line. But before printing insert '\'. - :a - s/\(.*\)")\(\n.*\)/\1\\\2/ - P +$!N +# Check whether second part is a continuation line. If so, before printing +# insert '\'. +s/\(.*\)")\(\n\)"\(.*\)"/\1\\\2\3")/ +P +ta +# No, go to the top and process it. Note that `D' includes a jump to the start!! +D +# Yes, we found a continuation line. +:a # We cannot use the sed command `D' here - s/.*\n\(.*\)/\1/ - tb -} -d +s/[^\n]*\n// +# Clear the substitution flag and do the next line. +tb |