47 lines
1.1 KiB
Bash
47 lines
1.1 KiB
Bash
|
#! /bin/sh
|
||
|
#
|
||
|
# Fix a problem with HTML output produced by makeinfo 4.8.
|
||
|
#
|
||
|
# groff.texinfo uses (after macro expansion) something like
|
||
|
#
|
||
|
# @deffn ...
|
||
|
# @XXindex ...
|
||
|
# @deffnx ...
|
||
|
#
|
||
|
# which has worked with earlier versions (using an undocumented feature
|
||
|
# of the implementation of @deffn and @deffnx). Version 4.8 has new
|
||
|
# code for generating HTML, and the above construction produces wrong
|
||
|
# HTML output: It starts a new <blockquote> without closing it properly.
|
||
|
# The very problem is that, according to the documentation, the @deffnx
|
||
|
# must immediately follow the @deffn line, making it impossible to add
|
||
|
# entries into user-defined indices if supplied with macro wrappers around
|
||
|
# @deffn and @deffnx.
|
||
|
#
|
||
|
# Note that this script is a quick hack and tightly bound to the current
|
||
|
# groff.texinfo macro code. Hopefully, a new texinfo version makes it
|
||
|
# unnecessary.
|
||
|
|
||
|
t=${TMPDIR-.}/gro$$.tmp
|
||
|
|
||
|
cat $1 | sed '
|
||
|
1 {
|
||
|
N
|
||
|
N
|
||
|
}
|
||
|
:b
|
||
|
$b
|
||
|
N
|
||
|
/^<blockquote>\n<p>.*\n\n \—/ {
|
||
|
s/^<blockquote>\n<p>\(.*\n\)\n \—/\1\—/
|
||
|
n
|
||
|
N
|
||
|
N
|
||
|
bb
|
||
|
}
|
||
|
$b
|
||
|
P
|
||
|
D
|
||
|
' > $t
|
||
|
rm $1
|
||
|
mv $t $1
|