bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] fix groff_www XHTML output


From: Julien Moutinho
Subject: Re: [PATCH] fix groff_www XHTML output
Date: Mon, 3 Sep 2012 05:05:55 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Le ven. 31 août 2012 à 13:17:04 +0200, Werner LEMBERG a écrit :
> > By the way, the XHTML output suffers a problem too:
> > 
> > % groffer --mode www -Txhtml -Kutf8 -mdoc \
> >           -M /tmp/new/groff/1.21/tmac \
> >           -mwww test/t.1 | xmllint - 2>&1 | grep mismatch
> >
> > -:55: parser error : Opening and ending tag mismatch: li line 55 and p
> > -:58: parser error : Opening and ending tag mismatch: p line 57 and dl
> > -:58: parser error : Opening and ending tag mismatch: dl line 55 and li
> > -:58: parser error : Opening and ending tag mismatch: p line 55 and ol
> > -:58: parser error : Opening and ending tag mismatch: ol line 53 and p
> > 
> > Looks like a problem due to the handling of \X^html</p>: by
> > grohtml(1).  And fist of all there seems to be an inconsistency
> > between .ULE and .OLE where .HTML</p> is used for the former but
> > .HTML for the latter.
> 
> Can you provide fixes?  These days I'm very short of time to take care
> of groff.
well.. I've now switched to AsciiDoc+DocBook,
so I can only give you that dirty fix I was using,
which gets ride of .HTML</p>:

        --julm

% diff -Nru old new
diff -Nru old/groff/1.21/tmac/www.tmac new/groff/1.21/tmac/www.tmac
--- old/groff/1.21/tmac/www.tmac        2012-09-01 22:16:23.460101528 +0200
+++ new/groff/1.21/tmac/www.tmac        2012-09-01 22:33:17.376091857 +0200
@@ -1025,9 +1026,9 @@
 .
 .de www-emit-ltag
 .  if !'\\*[www-ltag\\n[www-depth]]'' \
-.    HTML-NS </\\*[www-ltag\\n[www-depth]]>
+.    HTML-NS </p></\\*[www-ltag\\n[www-depth]]>
 .  if !'\\$1'' \
-.    HTML-NS <\\$1>
+.    HTML-NS <\\$1><p>
 .  ds www-ltag\\n[www-depth] \\$1\"
 ..
 .
@@ -1076,7 +1077,7 @@
 .  www-push-ul-level
 .  ie \\n[www-html] \{\
 .    www-emit-ltag
-.    HTML</p> <ul>
+.    HTML <ul>
 .  \}
 .  el \
 .    nr www-li-indent +\w'\\*[www-ul-level\\n[www-ul-level]]'u
@@ -1090,7 +1091,7 @@
 .de ULE
 .  ie \\n[www-html] \{\
 .    www-emit-ltag
-.    HTML</p> </ul>
+.    HTML </ul>
 .  \}
 .  el \{\
 .    nr www-li-indent -\w'\\*[www-ul-level\\n[www-ul-level]]'u
@@ -1110,7 +1111,7 @@
 .  www-push-ol-level
 .  ie \\n[www-html] \{\
 .    www-emit-ltag
-.    HTML</p> <ol "style=""list-style-type:" \
+.    HTML <ol "style=""list-style-type:" \
                            "\\*[www-ol-level\\n[www-ol-level]]"">"
 .  \}
 .  el \
@@ -1146,7 +1147,7 @@
 .  nr www-dl-level +1
 .  ie \\n[www-html] \{\
 .    www-emit-ltag
-.    HTML</p> <dl>
+.    HTML <dl>
 .  \}
 .  el \{\
 .    nr www-li-indent +\\n[www-dl-shift]u

% cat test/t.1
.Dd August 24, 2012
.Dt T \&1 "T"
.Os
.Sh NAME
.  Nm T
.  Nd t
.Sh Sh0
blah
.  Ss Ss0
ULS
.    ULS
.      LI
ULS
.        ULS
.          LI
LI
.          LI
LI
.        ULE
ULE
.      LI
LI
.    ULE
ULE
.  Ss Ss1
ULS
.    ULS
.      LI
LI
.      LI
LI
.    ULE
ULE
.  Ss Ss2
OLS
.    OLS
.      LI
OLS
.        OLS
.          LI
LI
.          LI
LI
.        OLE
OLE
.      LI
DLS
.        DLS
.          LI TERM
LI
.          LI TERM
LI
.        DLE
DLE
.      LI
LI
.    OLE
OLE



reply via email to

[Prev in Thread] Current Thread [Next in Thread]