--- loncom/lonnet/perl/lonnet.pm 2001/08/04 14:03:46 1.136 +++ loncom/lonnet/perl/lonnet.pm 2001/08/04 14:45:28 1.137 @@ -1854,6 +1854,7 @@ sub metadata { if ($token->[0] eq 'S') { if (defined($token->[2]->{'package'})) { my $package=$token->[2]->{'package'}; + my %thispackagekeys=(); my $keyroot=''; if (defined($token->[2]->{'part'})) { $keyroot.='_'.$token->[2]->{'part'}; @@ -1866,7 +1867,21 @@ sub metadata { } else { $metacache{$uri.':packages'}=$package.$keyroot; } - + undef %thispackagekeys; + map { + if ($_=~/^$package\&/) { + my ($pack,$name,$subp)=split(/\&/,$_); + my $unikey='parameter_'.$keyroot.'_'.$name; + $thispackagekeys{$unikey}=1; + $metacache{$uri.':'.$unikey.'.'.$subp}=$packagetab{$_}; + } + } keys %packagetab; + my $addpackagekeys=join(',',keys %thispackagekeys); + if ($metacache{$uri.':keys'}) { + $metacache{$uri.':keys'}.=','.$addpackagekeys; + } else { + $metacache{$uri.':keys'}=$addpackagekeys; + } } else { my $entry=$token->[1]; my $unikey=$entry;