[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] docs/parse-support-md: Do caveats properly (!)
commit 82fed8530d8832a9a7b99554dfc49b041351785a Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> AuthorDate: Wed Apr 25 13:48:27 2018 +0100 Commit: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> CommitDate: Wed Apr 25 14:26:18 2018 +0100 docs/parse-support-md: Do caveats properly (!) Each document has its own objects in @insections. Only the first RealSect encountered ends up in the main $toplevel_sectlist tree. This means that trying to unify the Caveats information for all version in the RealSect (the $insection) does not work. The caveats for all versions that aren't the first one where this section was seen end up in the @insections array during parsing of that version, but not recorded in the main tree. The result was that footnotes would only appear in the output for versions which were the most recent version where that feature row or category appeared. The other footnotes would be lost. Instead, store HasCaveat in the sectnode. That means ri_Para needs to find the sectnode. Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx> Release-acked-by: Juergen Gross <jgross@xxxxxxxx> --- docs/parse-support-md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/parse-support-md b/docs/parse-support-md index f0b4c2503f..1c82f563c9 100755 --- a/docs/parse-support-md +++ b/docs/parse-support-md @@ -33,8 +33,8 @@ our $toplevel_sectlist = new_sectlist(); # $sectlist->{KEY}{Status}[VI] = absent or markdown content # $sectlist->{KEY}{Children} = a further $sectlist # $sectlist->{KEY}{Key} = KEY +# $sectlist->{KEY}{HasCaveat}[VI] = trueish iff other in a Para # $sectlist->{KEY}{RealSect} = containing real section in @insections, so -# $sectlist->{KEY}{RealSect}{HasCaveat}[VI] = trueish iff other in a Para # $sectlist->{KEY}{RealSect}{HasDescription} = VI for some Emph in Para # $sectlist->{KEY}{RealSect}{Anchor} = value for < id="" > in the pandoc html # A $sectnode represents a single section from the original markdown @@ -58,7 +58,6 @@ our @insections; # $insections[]{Headline} = markdown content # these next are only defined for real sections, not Status elements # $insections[]{Anchor} = string -# $insections[]{HasCaveat} = array, $sectlist->{HasCaveat} will refer to this # $insections[]{HasDescription} VI, likewise our $had_unknown; @@ -106,7 +105,6 @@ sub ri_Header { Key => $id, Anchor => $id, Headline => $hl, - HasCaveat => [], HasDescription => undef, }; #print STDERR Dumper(\@insections); @@ -116,9 +114,12 @@ sub ri_Header { sub ri_Para { return unless @insections; my $insection = $insections[$#insections]; +# print STDERR "ri_Para $version_index $had_feature ". +# $insection->{HasCaveat}." $insection->{Key}\n"; if ($had_feature) { - $insection->{HasCaveat}[$version_index] = 1; + my $sectnode = find_current_sectnode(); + $sectnode->{HasCaveat}[$version_index] = 1; } else { $insection->{HasDescription} //= $version_index; } @@ -397,7 +398,7 @@ sub write_output_row ($) { my $nextcell = ''; if (!defined $colspan) { # first row of this RealSect $colspan= ' colspan="2"'; - if ($sectnode->{RealSect}{HasCaveat}[$i] && $st + if ($sectnode->{HasCaveat}[$i] && $st && $sectnode->{RealSect}{Anchor}) { my $rows = $sectnode->{RealSect}{OwnRows}; $nextcell = '<td'; -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |