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