[pkg-wine-party] Bug#579890: Bug#579890: grotty: infinite loop when processing a man page

Colin Watson cjwatson at debian.org
Mon May 17 12:22:24 UTC 2010


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 at 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 at debian.org]



More information about the pkg-wine-party mailing list