summaryrefslogtreecommitdiffstats
path: root/scripts/po/insert-header.sin
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/po/insert-header.sin')
-rw-r--r--scripts/po/insert-header.sin23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/po/insert-header.sin b/scripts/po/insert-header.sin
new file mode 100644
index 0000000..b26de01
--- /dev/null
+++ b/scripts/po/insert-header.sin
@@ -0,0 +1,23 @@
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}