diff options
-rw-r--r-- | contrib/ChangeLog | 4 | ||||
-rwxr-xr-x | contrib/texi2pod.pl | 16 |
2 files changed, 14 insertions, 6 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 3582317c64e..14da30497f3 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -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 diff --git a/contrib/texi2pod.pl b/contrib/texi2pod.pl index 4fb8892ccb8..e5560f303de 100755 --- a/contrib/texi2pod.pl +++ b/contrib/texi2pod.pl @@ -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; |