summaryrefslogtreecommitdiffstats
path: root/tools/tcltk-man2html-utils.tcl
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2011-09-22 14:05:16 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2011-09-22 14:05:16 (GMT)
commitf1367943a944acec1363cae14f2dd5a6f261f8f9 (patch)
treee9d09c4d108b160a19fe134fb72a9ab235834c1e /tools/tcltk-man2html-utils.tcl
parent163bd8d39b867eb56b871da18aac105c20e5c0d7 (diff)
downloadtcl-f1367943a944acec1363cae14f2dd5a6f261f8f9.zip
tcl-f1367943a944acec1363cae14f2dd5a6f261f8f9.tar.gz
tcl-f1367943a944acec1363cae14f2dd5a6f261f8f9.tar.bz2
[Bug 2903743]: Try to do the right thing when presented with old-style nroff.
Diffstat (limited to 'tools/tcltk-man2html-utils.tcl')
-rw-r--r--tools/tcltk-man2html-utils.tcl33
1 files changed, 7 insertions, 26 deletions
diff --git a/tools/tcltk-man2html-utils.tcl b/tools/tcltk-man2html-utils.tcl
index 938a1af..ef1f62a 100644
--- a/tools/tcltk-man2html-utils.tcl
+++ b/tools/tcltk-man2html-utils.tcl
@@ -110,6 +110,7 @@ proc htmlize-text {text {charmap {}}} {
# contains some extras for use in nroff->html processing
# build on the list passed in, if any
lappend charmap \
+ "&ndash;" "&ndash;" \
{&} {&amp;} \
{\\} "&#92;" \
{\e} "&#92;" \
@@ -143,8 +144,8 @@ proc process-text {text} {
{\fP} {\fR} \
{\.} . \
{\(bu} "&#8226;" \
+ {\*(qo} "&ocirc;" \
]
- lappend charmap {\o'o^'} {&ocirc;} ; # o-circumflex in re_syntax.n
lappend charmap {\-\|\-} -- ; # two hyphens
lappend charmap {\-} - ; # a hyphen
@@ -1063,25 +1064,17 @@ proc output-directive {line} {
output-IP-list .IP .IP $rest
return
}
- .PP {
+ .PP - .sp {
man-puts <P>
}
.RS {
output-RS-list
return
}
- .RE {
- manerror "unexpected .RE"
- return
- }
.br {
man-puts <BR>
return
}
- .DE {
- manerror "unexpected .DE"
- return
- }
.DS {
if {[next-op-is .ta rest]} {
# skip the leading .ta directive if it is there
@@ -1109,16 +1102,6 @@ proc output-directive {line} {
}
return
}
- .CE {
- manerror "unexpected .CE"
- return
- }
- .sp {
- man-puts <P>
- }
- .ta {
- manerror "ignoring $line"
- }
.nf {
if {[match-text @more .fi]} {
foreach more [split $more \n] {
@@ -1174,13 +1157,11 @@ proc output-directive {line} {
manerror "ignoring $line"
}
}
- .fi {
- manerror "ignoring $line"
+ .RE - .DE - .CE {
+ manerror "unexpected $code"
+ return
}
- .na -
- .ad -
- .UL -
- .ne {
+ .ta - .fi - .na - .ad - .UL - .ie - .el - .ne {
manerror "ignoring $line"
}
default {