]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiQuery.pm
lei: restore working directory in more places
[public-inbox.git] / lib / PublicInbox / LeiQuery.pm
index efe328ccc3945a0af99c721af9549ed15eb67e11..0435a5163137a4f0693bf7374bf544041aa0ace0 100644 (file)
@@ -29,10 +29,9 @@ sub _start_query { # used by "lei q" and "lei up"
                return $self->fail("`$mj' writer jobs must be >= 1");
        }
        my $l2m = $self->{l2m};
-       if ($l2m && ($opt->{'import-remote'} //= 1) |
-                               # we use \1 (a ref) to distinguish between
-                               # user-supplied and default value
-                               (($opt->{'import-before'} //= \1) ? 1 : 0)) {
+       # we use \1 (a ref) to distinguish between default vs. user-supplied
+       if ($l2m && grep { $opt->{$_} //= \1 } (qw(mail-sync import-remote
+                                                       import-before))) {
                $self->_lei_store(1)->write_prepare($self);
        }
        $l2m and $l2m->{-wq_nr_workers} = $mj // do {
@@ -52,9 +51,7 @@ sub qstr_add { # PublicInbox::InputPipe::consume callback for --stdin
        my ($self) = @_; # $_[1] = $rbuf
        if (defined($_[1])) {
                $_[1] eq '' and return eval {
-                       if (my $dfd = $self->{3}) {
-                               chdir($dfd) or return $self->fail("fchdir: $!");
-                       }
+                       $self->fchdir or return;
                        $self->{mset_opt}->{q_raw} = $self->{mset_opt}->{qstr};
                        $self->{lse}->query_approxidate($self->{lse}->git,
                                                $self->{mset_opt}->{qstr});