1548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Sed script that inserts the file called HEADER before the header entry.
2548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen#
3548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# At each occurrence of a line starting with "msgid ", we execute the following
4548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# commands. At the first occurrence, insert the file. At the following
5548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# occurrences, do nothing. The distinction between the first and the following
6548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# occurrences is achieved by looking at the hold space.
7548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen/^msgid /{
8548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenx
9548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Test if the hold space is empty.
10548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissens/m/m/
11548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenta
12548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Yes it was empty. First occurrence. Read the file.
13548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenr HEADER
14548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# Output the file's contents by reading the next line. But don't lose the
15548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# current line while doing this.
16548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelisseng
17548dde4863e9a2315e3f327efe63ff55949addb8Marco NelissenN
18548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenbb
19548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen:a
20548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen# The hold space was nonempty. Following occurrences. Do nothing.
21548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissenx
22548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen:b
23548dde4863e9a2315e3f327efe63ff55949addb8Marco Nelissen}
24