texi2pod.pl - lost fix
Zack Weinberg
zack@codesourcery.com
Wed Jun 26 09:55:00 GMT 2002
I did this fix for texi2pod.pl a couple of weeks back, to make it cope
with markup introduced by Phil's -W/-Wextra patch. Then I forgot to
apply it. I'm checking it in now.
zw
* texi2pod.pl: Correct handling of the internal R<> sequence.
===================================================================
Index: texi2pod.pl
--- texi2pod.pl 26 Mar 2002 03:04:41 -0000 1.17
+++ texi2pod.pl 26 Jun 2002 16:49:40 -0000
@@ -365,14 +365,18 @@ sub postprocess
s/\@uref\{([^\},]*),([^\},]*)\}/$2 (C<$1>)/g;
s/\@uref\{([^\},]*),([^\},]*),([^\},]*)\}/$3/g;
- # Turn B<blah I<blah> blah> into B<blah> I<blah> B<blah> to
- # match Texinfo semantics of @emph inside @samp. Also handle @r
- # inside bold.
+ # Un-escape <> at this point.
s/</</g;
s/>/>/g;
- 1 while s/B<((?:[^<>]|I<[^<>]*>)*)R<([^>]*)>/B<$1>${2}B</g;
- 1 while (s/B<([^<>]*)I<([^>]+)>/B<$1>I<$2>B</g);
- 1 while (s/I<([^<>]*)B<([^>]+)>/I<$1>B<$2>I</g);
+
+ # Now un-nest all B<>, I<>, R<>. Theoretically we could have
+ # indefinitely deep nesting; in practice, one level suffices.
+ 1 while s/([BIR])<([^<>]*)([BIR])<([^<>]*)>/$1<$2>$3<$4>$1</g;
+
+ # Replace R<...> with bare ...; eliminate empty markup, B<>;
+ # shift white space at the ends of [BI]<...> expressions outside
+ # the expression.
+ s/R<([^<>]*)>/$1/g;
s/[BI]<>//g;
s/([BI])<(\s+)([^>]+)>/$2$1<$3>/g;
s/([BI])<([^>]+?)(\s+)>/$1<$2>$3/g;
More information about the Gcc-patches
mailing list