Re: [pkg-wine-party] Bug#579890: Bug#579890: grotty: infinite loop when processing a man page
clone 579890 -1
reassign -1 libwine-dev-unstable
retitle -1 libwine-dev-unstable: need to escape literal backslashes in manual pages
thanks
On Sat, May 15, 2010 at 01:11:02PM +0200, Ove Kaaven wrote:
> Colin Watson skrev:
> > Thanks. Here's a reduced test case (run with 'groff -Tutf8 -mandoc'):
> >
> > .TH GetMIMETypeSubKeyA 3w "Jun 2009" "Wine API" "Wine API"
> > .SH NAME
> > \fBGetMIMETypeSubKeyA\fR (SHLWAPI.328)
> > .SH NOTES
> > .PP
> > The base path for the key is \fB"MIME\Database\Content Type\"\fR
> >
> > There are two bugs here. The simpler one to fix is the bug in the
> > manual page (CCed wine@packages.debian.org for this). It's using \ to
> > mean a literal backslash, but actually \ introduces a groff escape; \D
> > emits a drawing command while \C typesets a glyph by name. This line
> > should instead read:
> >
> > The base path for the key is \fB"MIME\eDatabase\eContent Type\"\fR
>
> These man pages are generated by a Perl script (wine/tools/c2man.pl). I
> don't know Perl. But if you open a bug report on libwine-dev-unstable or
> so, I could perhaps forward it upstream or something.
OK - have a clone of this bug report, then.
Maybe something like this would work? I'm not set up to build Wine at
the moment so I can't easily test it.
=== modified file 'tools/c2man.pl'
--- tools/c2man.pl 2010-05-17 12:04:42 +0000
+++ tools/c2man.pl 2010-05-17 12:21:17 +0000
@@ -1583,6 +1583,11 @@ sub output_api_comment($)
s/\([Cc]\)/\©/g;
s/\(tm\)/®/;
}
+ else
+ {
+ # Map special characters
+ s/\\/\e\\/g;
+ }
if ( s/^\|// )
{
Thanks,
--
Colin Watson [cjwatson@debian.org]
Reply to: