1#! /bin/sh
2#
3# Fix a problem with HTML output produced by makeinfo 4.8.
4#
5# groff.texinfo uses (after macro expansion) something like
6#
7#   @deffn ...
8#   @XXindex ...
9#   @deffnx ...
10#
11# which has worked with earlier versions (using an undocumented feature
12# of the implementation of @deffn and @deffnx).  Version 4.8 has new
13# code for generating HTML, and the above construction produces wrong
14# HTML output: It starts a new <blockquote> without closing it properly.
15# The very problem is that, according to the documentation, the @deffnx
16# must immediately follow the @deffn line, making it impossible to add
17# entries into user-defined indices if supplied with macro wrappers around
18# @deffn and @deffnx.
19#
20# Note that this script is a quick hack and tightly bound to the current
21# groff.texinfo macro code.  Hopefully, a new texinfo version makes it
22# unnecessary.
23
24t=${TMPDIR-.}/gro$$.tmp
25
26cat $1 | sed '
271 {
28  N
29  N
30}
31:b
32$b
33N
34/^<blockquote>\n<p>.*\n\n   \&mdash;/ {
35  s/^<blockquote>\n<p>\(.*\n\)\n   \&mdash;/\1\&mdash;/
36  n
37  N
38  N
39  bb
40}
41$b
42P
43D
44' > $t
45rm $1
46mv $t $1
47