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. Tested by making sure that it doesn't change the current gcc.pod output, but fixes the problems mentioned above when the new @multitable is added. OK to install? Richard 2019-12-05 Richard Sandiford <richard.sandif...@arm.com> contrib/ * texi2pod.pl: Handle @headitems in @multitables, printing them in italics. Push an empty item code onto the stack. Index: contrib/texi2pod.pl =================================================================== --- contrib/texi2pod.pl 2019-03-08 18:14:23.345019203 +0000 +++ contrib/texi2pod.pl 2019-12-06 10:15:24.968809478 +0000 @@ -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";