- if (defined (my $experimental = $_->[2])) {
- my $title = 'experimental';
- my $class = ' class="ex"';
- if (ref \$experimental eq 'VSTRING') {
- $title = sprintf('%s %vd',
- $experimental =~ s/^\0// ? 'removed in ' : "$title until",
- $experimental,
- );
- $experimental = $_->[3]; # optional additional class
+ my ($topic, $desc, $attr) = @{$_};
+ if ($attr) {
+ my $title;
+ if (defined $attr->{experimental}) {
+ $title = 'experimental';
+ }
+ if ($attr->{dropped}) {
+ next unless exists $get{v};
+ $title = sprintf 'removed in %vd', $attr->{dropped};
+ }
+ elsif ($attr->{stable}) {
+ $title .= sprintf ' until %vd', $attr->{stable};
+ }
+ if ($attr->{experimental}) {
+ $title = sprintf '<span title="experimental::%s">%s</span>',
+ $attr->{experimental}, $title;