]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiQuery.pm
lei q: disallow "\n" in argv[] elements
[public-inbox.git] / lib / PublicInbox / LeiQuery.pm
index effc572f6aaf45e658b1434537081342e29efe7e..51ee3d9c83e47b1fed21f02a9cc02b51751d2507 100644 (file)
@@ -32,10 +32,13 @@ sub _start_query { # used by "lei q" and "lei up"
        if ($l2m && grep { $opt->{$_} //= \1 } (qw(mail-sync import-remote
                                                        import-before))) {
                $self->_lei_store(1)->write_prepare($self);
+               if ($opt->{'mail-sync'}) {
+                       my $lms = $l2m->{-lms_rw} = $self->lms(1);
+                       $lms->lms_write_prepare->lms_pause; # just create
+               }
        }
-       $l2m and $l2m->{-wq_nr_workers} = $mj // do {
-               $mj = int($nproc * 0.75 + 0.5); # keep some CPU for git
-       };
+       $l2m and $l2m->{-wq_nr_workers} //= $mj //
+               int($nproc * 0.75 + 0.5); # keep some CPU for git
 
        # descending docid order is cheapest, MUA controls sorting order
        $self->{mset_opt}->{relevance} //= -2 if $l2m || $opt->{threads};
@@ -138,6 +141,7 @@ no query allowed on command-line with --stdin
                PublicInbox::InputPipe::consume($self->{0}, \&qstr_add, $self);
                return;
        }
+       chomp(@argv) and $self->qerr("# trailing `\\n' removed");
        $mset_opt{q_raw} = [ @argv ]; # copy
        $mset_opt{qstr} =
                $self->{lse}->query_argv_to_string($self->{lse}->git, \@argv);