summaryrefslogtreecommitdiff
path: root/contrib/texi2pod.pl
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-12-07 09:57:04 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-12-07 09:57:04 +0000
commitb01d215df18ba753746a170125b883befe100d67 (patch)
treecfa0480e677426ff1f561fb22f69bdb5583b4feb /contrib/texi2pod.pl
parentae169f9e4cbb5a1f1767106d86f322d166d5189d (diff)
downloadgcc-b01d215df18ba753746a170125b883befe100d67.tar.gz
Fix @multitable handling in texi2pod.pl
While trying out Dennis's Armv8.6-A patch, I noticed that texi2pod.pl didn't handle the new @multitable correctly. There were two problems: (1) @multitables nested in other @tables inherited the @item type from the enclosing @table. Since the new @multitable is in a @table @samp, we applied @samp markup to the @multitable @items. This in turn meant that it captured the @tab separator in the @item markup. Fixed by pushing an empty item code onto the stack. (2) We didn't handle @headitem. Fixed by enclosing it in italics, like we do for section headings. This causes it to be underlined in the man output. 2019-12-07 Richard Sandiford <richard.sandiford@arm.com> contrib/ * texi2pod.pl: Handle @headitems in @multitables, printing them in italics. Push an empty item code onto the stack. From-SVN: r279074
Diffstat (limited to 'contrib/texi2pod.pl')
-rwxr-xr-xcontrib/texi2pod.pl9
1 files changed, 7 insertions, 2 deletions
diff --git a/contrib/texi2pod.pl b/contrib/texi2pod.pl
index 91bdbb5cea9..608dff42415 100755
--- a/contrib/texi2pod.pl
+++ b/contrib/texi2pod.pl
@@ -164,6 +164,7 @@ while(<$inf>) {
$ic = pop @icstack;
} elsif ($ended eq "multitable") {
$_ = "\n=back\n";
+ $ic = pop @icstack;
} else {
die "unknown command \@end $ended at line $.\n";
}
@@ -288,7 +289,9 @@ while(<$inf>) {
/^\@multitable\s.*/ and do {
push @endwstack, $endw;
+ push @icstack, $ic;
$endw = "multitable";
+ $ic = "";
$_ = "\n=over 4\n";
};
@@ -312,11 +315,13 @@ while(<$inf>) {
$_ = ""; # need a paragraph break
};
- /^\@item\s+(.*\S)\s*$/ and $endw eq "multitable" and do {
+ /^\@(headitem|item)\s+(.*\S)\s*$/ and $endw eq "multitable" and do {
@columns = ();
- for $column (split (/\s*\@tab\s*/, $1)) {
+ $item = $1;
+ for $column (split (/\s*\@tab\s*/, $2)) {
# @strong{...} is used a @headitem work-alike
$column =~ s/^\@strong\{(.*)\}$/$1/;
+ $column = "I<$column>" if $item eq "headitem";
push @columns, $column;
}
$_ = "\n=item ".join (" : ", @columns)."\n";