OSDN Git Service

* texi2pod.pl: Correct handling of the internal R<> sequence.
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Jun 2002 16:50:04 +0000 (16:50 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Jun 2002 16:50:04 +0000 (16:50 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55012 138bc75d-0d04-0410-961f-82ee72b054a4

contrib/ChangeLog
contrib/texi2pod.pl

index 3582317..14da304 100644 (file)
@@ -1,3 +1,7 @@
+2002-06-26  Zack Weinberg  <zack@codesourcery.com>
+
+       * texi2pod.pl: Correct handling of the internal R<> sequence.
+
 2002-05-31  Florian Weimer  <fw@deneb.enyo.de>
 
        * gcc_update (files_and_dependencies): Add generated Texinfo files
index 4fb8892..e5560f3 100755 (executable)
@@ -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/&LT;/</g;
     s/&GT;/>/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;