diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm
index e0e8164d..fbcff2c3 100644
--- a/lib/PublicInbox/Search.pm
+++ b/lib/PublicInbox/Search.pm
@@ -302,7 +302,10 @@ sub date_parse_prepare {
                                $x = "$fmt$#$to_parse\0";
                        }
                        if ($pfx eq 'dt') {
-                               s/\0%Y%m%d/\0%Y%m%d%H%M%S/ for @r;
+                               for (@r) {
+                                       s/\0%Y%m%d/\0%Y%m%d%H%M%S/;
+                                       s/\A([0-9]{8})\z/${1}000000/;
+                               }
                        }
                }
        } elsif ($pfx eq 'dt') {
diff --git a/t/search.t b/t/search.t
index b63a7672..47a67f7f 100644
--- a/t/search.t
+++ b/t/search.t
@@ -630,6 +630,11 @@ SKIP: {
        like($qs, qr/\Abroken dt:$x_days_ago[0-9]{6}\.\./,
                'date.phrase.with.dots');
 
+       $orig = $qs = 'd:20101002..now';
+       $s->query_approxidate($g, $qs);
+       like($qs, qr/\Adt:20101002000000\.\.[0-9]{14}\z/,
+               'approxidate on range-end only');
+
        $ENV{TEST_EXPENSIVE} or
                skip 'TEST_EXPENSIVE not set for argv overflow check', 1;
        my @w;
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to