diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2019-07-19 07:32:51 +0200 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2019-07-19 07:46:09 +0200 |
commit | 220c593a79e4b5320350ab2f7f1b54765e091666 (patch) | |
tree | e716b6f72caa82175f49b585102a5b964a7717f3 /build-aux | |
parent | e29ac453d06403d2b512731e79fcee98b7c786f0 (diff) | |
download | bison-220c593a79e4b5320350ab2f7f1b54765e091666.tar.gz |
doc: avoid spurious empty lines in the option table
In Texinfo. empty lines in multitable rows generate empty lines in the
output. Avoid them altogether.
With help from Gavin Smith.
https://lists.gnu.org/archive/html/bug-texinfo/2019-07/msg00000.html
* build-aux/cross-options.pl: Separate rows with empty lines.
So, to be more readable, generate a single line for each row.
Use Perl format to this end.
Diffstat (limited to 'build-aux')
-rwxr-xr-x | build-aux/cross-options.pl | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/build-aux/cross-options.pl b/build-aux/cross-options.pl index 3dce3407..9552c278 100755 --- a/build-aux/cross-options.pl +++ b/build-aux/cross-options.pl @@ -12,7 +12,7 @@ while (<STDIN>) { if (/^\s* # Initial spaces. (?:(-\w),\s+)? # $1: $short: Possible short option. - (--[-\w]+) # $2: $long: Long option. + (--[-\w]+) # $2: $long: Mandatory long option. (\[?) # $3: $opt: '[' iff the argument is optional. (?:=(\S+))? # $4: $arg: Possible argument name. \s # Spaces. @@ -32,7 +32,6 @@ while (<STDIN>) # if $opt, $arg contains the closing ]. substr ($arg, -1) = '' if $opt eq '['; - $arg =~ s/^=//; $arg = lc ($arg); my $dir_arg = $arg; # If the argument is complete (e.g., for --define[=NAME[=VALUE]]), @@ -72,12 +71,15 @@ while (<STDIN>) my $sep = ''; foreach my $long (sort keys %option) { - # Avoid trailing spaces. - print $sep; - $sep = "\n"; - print '@item @option{', $long, "}\n\@tab"; - print ' @option{', $option{$long}, '}' if $option{$long}; - print "\n\@tab"; - print ' @code{', $directive{$long}, '}' if $directive{$long}; - print "\n"; + # Couldn't find a means to escape @ in the format (for @item, @tab), so + # pass it as a literal to print. +format STDOUT = +@item @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @tab @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @tab @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +{ + '@', '@option{' . $long . '}', + '@', $option{$long} ? ('@option{' . $option{$long} . '}') : '', + '@', $directive{$long} ? ('@code{' . $directive{$long} . '}') : '' +} +. + write; } |