summary refs log tree commit diff
path: root/intl/po2test.sed
diff options
context:
space:
mode:
Diffstat (limited to 'intl/po2test.sed')
-rw-r--r--intl/po2test.sed70
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