script/public-inbox-learn | 2 +- t/mda.t | 10 +++++++++- diff --git a/script/public-inbox-learn b/script/public-inbox-learn index a33d813ad01eb389ff5f184f4f98ed6497fba90f..0cb2c8e96e56e706b1e5f158003fa351cf9acc0d 100644 --- a/script/public-inbox-learn +++ b/script/public-inbox-learn @@ -97,7 +97,7 @@ remove_or_add($ibx, $train, $mime, $addr); } my $dests = PublicInbox::MDA->inboxes_for_list_id($pi_config, $mime); for my $ibx (@$dests) { - next if !$seen{"$ibx"}++; + next if $seen{"$ibx"}++; remove_or_add($ibx, $train, $mime, $ibx->{-primary_address}); } } diff --git a/t/mda.t b/t/mda.t index 759c0b020abc661addd2752787e9c95c62ea0b5c..c7caf3e0cca455e3eb40088492b62f26f167ecc4 100644 --- a/t/mda.t +++ b/t/mda.t @@ -299,9 +299,17 @@ ($out, $err) = ('', ''); ok(run_script(['-mda'], undef, $rdr), 'mda OK with multiple List-Id matches'); $cur = $git->qx(qw(diff HEAD~1..HEAD)); - like($cur, qr/Message-ID: <2lids\@example>/, + like($cur, qr/^\+Message-ID: <2lids\@example>/sm, 'multi List-ID match delivered'); like($err, qr/multiple List-ID/, 'warned about multiple List-ID'); + + # ensure -learn rm works after inbox address is updated + ($out, $err) = ('', ''); + xsys(qw(git config --file), $pi_config, "$cfgpfx.address", + 'updated-address@example.com'); + ok(run_script(['-learn', 'rm'], undef, $rdr), 'rm-ed via -learn'); + $cur = $git->qx(qw(diff HEAD~1..HEAD)); + like($cur, qr/^-Message-ID: <2lids\@example>/sm, 'changed in git'); } done_testing();