PageRenderTime 33ms CodeModel.GetById 26ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/groff/doc/fixinfo.sh

https://bitbucket.org/freebsd/freebsd-head/
Shell | 46 lines | 22 code | 2 blank | 22 comment | 0 complexity | a59b95a5df2256938cc4612004e55797 MD5 | raw file
 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