bug-groff
[Top][All Lists]
Advanced

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

Re: Bug#579890: [pkg-wine-party] Bug#579890: grotty: infinite loop when


From: Colin Watson
Subject: Re: Bug#579890: [pkg-wine-party] Bug#579890: grotty: infinite loop when processing a man page
Date: Mon, 17 May 2010 13:22:24 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

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 address@hidden 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                                       address@hidden



reply via email to

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