diff --git a/contrib/ChangeLog b/contrib/ChangeLog index db1d6fbdb19..b1910a64210 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,8 @@ +2019-12-07 Richard Sandiford + + * texi2pod.pl: Handle @headitems in @multitables, printing them + in italics. Push an empty item code onto the stack. + 2019-11-13 Janne Blomqvist * download_prerequisites: Use http instead of ftp for downloading. 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";