]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiXSearch.pm
www_stream: add trailing slash for help and color links
[public-inbox.git] / lib / PublicInbox / LeiXSearch.pm
index 3270b420b64c18a94b74b67574c8e5089b91de0f..22c8026cd98c678fab5616dc22d0b8b746f1e718 100644 (file)
@@ -97,6 +97,11 @@ sub recent {
 
 sub over {}
 
+sub overs_all { # for xids_for
+       my ($self) = @_;
+       grep(defined, map { $_->over } locals($self))
+}
+
 sub _mset_more ($$) {
        my ($mset, $mo) = @_;
        my $size = $mset->size;
@@ -148,7 +153,7 @@ sub query_thread_mset { # for --threads
        my $mset;
        my $each_smsg = $lei->{ovv}->ovv_each_smsg_cb($lei, $ibxish);
        my $can_kw = !!$ibxish->can('msg_keywords');
-       my $fl = $lei->{opt}->{threads} > 1;
+       my $fl = $lei->{opt}->{threads} > 1 ? [ 'flagged' ] : undef;
        do {
                $mset = $srch->mset($mo->{qstr}, $mo);
                mset_progress($lei, $desc, $mset->size,
@@ -165,8 +170,8 @@ sub query_thread_mset { # for --threads
                                if ($mitem) {
                                        if ($can_kw) {
                                                mitem_kw($smsg, $mitem, $fl);
-                                       } else {
-                                               $smsg->{kw} = [ 'flagged' ];
+                                       } elsif ($fl) {
+                                               $smsg->{kw} = $fl;
                                        }
                                }
                                $each_smsg->($smsg, $mitem);
@@ -204,7 +209,9 @@ sub query_mset { # non-parallel for non-"--threads" users
 
 sub each_remote_eml { # callback for MboxReader->mboxrd
        my ($eml, $self, $lei, $each_smsg) = @_;
-       $lei->{sto}->ipc_do('add_eml', $eml) if $lei->{opt}->{'import-remote'};
+       if (my $sto = $self->{import_sto}) {
+               $sto->ipc_do('add_eml_maybe', $eml);
+       }
        my $smsg = bless {}, 'PublicInbox::Smsg';
        $smsg->populate($eml);
        $smsg->parse_references($eml, mids($eml));
@@ -249,6 +256,7 @@ sub query_remote_mboxrd {
        my $curl = PublicInbox::LeiCurl->new($lei, $self->{curl}) or return;
        push @$curl, '-s', '-d', '';
        my $each_smsg = $lei->{ovv}->ovv_each_smsg_cb($lei);
+       $self->{import_sto} = $lei->{sto} if $lei->{opt}->{'import-remote'};
        for my $uri (@$uris) {
                $lei->{-current_url} = $uri->as_string;
                $lei->{-nr_remote_eml} = 0;