X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLeiUp.pm;h=b8a9836075ba48148032d792d4788bb0b9d1ce8b;hb=1fb061098abd9a9ad8f018b0583071e19ffc9fec;hp=66d950b2ac7b2a57a3e6c9c5afebef356b9d5471;hpb=0054246c2d03fcc91bc899da5ef41a68f505e542;p=public-inbox.git diff --git a/lib/PublicInbox/LeiUp.pm b/lib/PublicInbox/LeiUp.pm index 66d950b2..b8a98360 100644 --- a/lib/PublicInbox/LeiUp.pm +++ b/lib/PublicInbox/LeiUp.pm @@ -26,13 +26,17 @@ sub up1 ($$) { my $lss = PublicInbox::LeiSavedSearch->up($lei, $out) or return; my $f = $lss->{'-f'}; my $mset_opt = $lei->{mset_opt} = { relevance => -2 }; - my $q = $mset_opt->{q_raw} = $lss->{-cfg}->{'lei.q'} // + my $q = $lss->{-cfg}->get_all('lei.q') // die("lei.q unset in $f (out=$out)\n"); my $lse = $lei->{lse} // die 'BUG: {lse} missing'; - if (ref($q)) { - $mset_opt->{qstr} = $lse->query_argv_to_string($lse->git, $q); + my $rawstr = $lss->{-cfg}->{'lei.internal.rawstr'} // + (scalar(@$q) == 1 && substr($q->[0], -1) eq "\n"); + if ($rawstr) { + scalar(@$q) > 1 and + die "$f: lei.q has multiple values (@$q) (out=$out)\n"; + $lse->query_approxidate($lse->git, $mset_opt->{qstr} = $q->[0]); } else { - $lse->query_approxidate($lse->git, $mset_opt->{qstr} = $q); + $mset_opt->{qstr} = $lse->query_argv_to_string($lse->git, $q); } # n.b. only a few CLI args are accepted for "up", so //= usually sets for my $k ($lss->ARRAY_FIELDS) {