aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--intl/po2test.sed70
1 files changed, 26 insertions, 44 deletions
diff --git a/intl/po2test.sed b/intl/po2test.sed
index d1c2f3d..c68808d 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