$ref = $clonebugs{$ref} if exists $clonebugs{$ref};
$bug_affected{$ref}=1;
my $tags = $2;
- my @tags = split /[\s,]+/, $tags;
+ my @tags = map {m/^([+=-])(.+)/ ? ($1,$2):($_)} split /[\s,]+/, $tags;
# this is an array of hashrefs which contain two elements, the
# first of which is the array of tags, the second is the
# option to pass to set_tag (we use a hashref here to make it
%limit_pkgs = map { ($_, 1) } @pkgs;
$limit{package} = [@pkgs];
print {$transcript} "Limiting to bugs with field 'package' containing at least one of ".join(', ',map {qq('$_')} @pkgs)."\n";
- print {$transcript} "Limit currently set to ";
+ print {$transcript} "Limit currently set to";
for my $limit_field (keys %limit) {
- print {$transcript} " '$limit_field':".join(', ',map {qq('$_')} @{$limit{$limit_field}})."\n";
+ print {$transcript} " '$limit_field':".join(', ',map {qq('$_')} @{$limit{$limit_field}})."\n";
}
print {$transcript} "\n";
} else {
%limit = ();
print {$transcript} "Limit cleared.\n\n";
}
- elsif (exists $Debbugs::Status::fields{$field} ) {
+ elsif (exists $Debbugs::Status::fields{$field} or $field eq 'source') {
# %limit can actually contain regexes, but because they're
# not evaluated in Safe, DO NOT allow them through without
# fixing this.
$limit{$field} = [@options];
print {$transcript} "Limiting to bugs with field '$field' containing at least one of ".join(', ',map {qq('$_')} @options)."\n";
- print {$transcript} "Limit currently set to ";
+ print {$transcript} "Limit currently set to";
for my $limit_field (keys %limit) {
- print {$transcript} " '$limit_field':".join(', ',map {qq('$_')} @{$limit{$limit_field}})."\n";
+ print {$transcript} " '$limit_field':".join(', ',map {qq('$_')} @{$limit{$limit_field}})."\n";
}
print {$transcript} "\n";
}