Subject: | Net::IMAP::Server::Mailbox::expunge() -- * \d+ EXPUNGE issue |
Mailbox expunge ranges should return one of these lines for each deleted
line:
* 3 EXPUNGE
* 4 EXPUNGE
* 5 EXPUNGE
But becuase Net::IMAP::Server::Mailbox::expunge() is subtracting the
offset, the messages returned say this instead:
* 3 EXPUNGE
* 3 EXPUNGE
* 3 EXPUNGE
for my $m (@messages) {
if ( $m->has_flag('\Deleted')
and ( not $only or $only{ $m->sequence } ) )
{
# push @ids, $m->sequence - $offset;
push @ids, $m->sequence;
delete $self->uids->{ $m->uid };
$offset++;
$m->expunge;
} elsif ($offset) {
$m->sequence( $m->sequence - $offset );
}
}
(I'm finding stuff like this because I'm using Net::IMAP::Server for all
the tests in Net::IMAP::Simple -- it's kindof debugging both.)
--
If riding in an airplane is flying, then riding in a boat is swimming.
109 jumps, 44.4 minutes of freefall, 85.0 freefall miles.