lib/PublicInbox/LeiToMail.pm | 2 +- lib/PublicInbox/NetReader.pm | 5 ++++- lib/PublicInbox/NetWriter.pm | 2 ++ lib/PublicInbox/Watch.pm | 2 ++ diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm index be6e178fe2c3019575afa815ba4faeac3a61c80f..6e102a1de0d4de4b5dc144e48307521e390cd393 100644 --- a/lib/PublicInbox/LeiToMail.pm +++ b/lib/PublicInbox/LeiToMail.pm @@ -406,7 +406,7 @@ require PublicInbox::URIimap; my $net = PublicInbox::NetWriter->new; $net->{quiet} = $lei->{opt}->{quiet}; my $uri = PublicInbox::URIimap->new($dst)->canonical; - $net->add_url($uri); + $net->add_url($$uri); my $err = $net->errors($lei); return $lei->fail($err) if $err; $uri->mailbox or return $lei->fail("No mailbox: $dst"); diff --git a/lib/PublicInbox/NetReader.pm b/lib/PublicInbox/NetReader.pm index 23445e7a49f2200834ae5571464c97d6c00b560d..c050c60ffb87192c1c4a3130186c547ac3182878 100644 --- a/lib/PublicInbox/NetReader.pm +++ b/lib/PublicInbox/NetReader.pm @@ -493,6 +493,9 @@ } undef; } +# may be overridden in NetWriter or Watch +sub folder_select { $_[0]->{each_old} ? 'select' : 'examine' } + sub _imap_fetch_all ($$$) { my ($self, $mic, $orig_uri) = @_; my $sec = uri_section($orig_uri); @@ -501,7 +504,7 @@ $mic->Clear(1); # trim results history # we need to check for mailbox writability to see if we care about # FLAGS from already-imported messages. - my $cmd = $self->{each_old} ? 'select' : 'examine'; + my $cmd = $self->folder_select; $mic->$cmd($mbx) or return "E: \U$cmd\E $mbx ($sec) failed: $!"; my ($r_uidval, $r_uidnext, $perm_fl); diff --git a/lib/PublicInbox/NetWriter.pm b/lib/PublicInbox/NetWriter.pm index 82288e6bc6391106c0d2123ee7bc1e03c24af489..629a752ae79a3b3b1c1ea8ed91e029f925801268 100644 --- a/lib/PublicInbox/NetWriter.pm +++ b/lib/PublicInbox/NetWriter.pm @@ -26,6 +26,8 @@ $mic->append_string($folder, $$bref, $f, $smsg->internaldate) or die "APPEND $folder: $@"; } +sub folder_select { 'select' } # for PublicInbox::NetReader + sub imap_delete_all { my ($self, $uri) = @_; my $mic = $self->mic_for_folder($uri) or return; diff --git a/lib/PublicInbox/Watch.pm b/lib/PublicInbox/Watch.pm index 86dae91fd65149849966f3b6e7c968be3930289e..482d35c44687c583a6e3726b9bea4a1dc7f978ef 100644 --- a/lib/PublicInbox/Watch.pm +++ b/lib/PublicInbox/Watch.pm @@ -682,4 +682,6 @@ } undef; } +sub folder_select { 'select' } # for PublicInbox::NetReader + 1;