lib/PublicInbox/IMAPsearchqp.pm | 3 ++- t/imapd.t | 2 ++ diff --git a/lib/PublicInbox/IMAPsearchqp.pm b/lib/PublicInbox/IMAPsearchqp.pm index c9b442cb4fa8dc1d6bd50606e1d93aca5461467f..4ea99ea500bc61988b45f15c4d12e896489fb387 100644 --- a/lib/PublicInbox/IMAPsearchqp.pm +++ b/lib/PublicInbox/IMAPsearchqp.pm @@ -16,7 +16,6 @@ my %MM = map {; $MoY[$_-1] => sprintf('%02u', $_) } (1..12); # IMAP to Xapian header search key mapping my %IH2X = ( - TEXT => '', SUBJECT => 's:', BODY => 'b:', FROM => 'f:', @@ -183,6 +182,7 @@ | TO_string | CC_string | BCC_string | SUBJECT_string + | TEXT_string | UID_set | MSN_set | sub_query @@ -239,6 +239,7 @@ TO_string : "TO" string { $q->ih2x('TO', $item{string}) } CC_string : "CC" string { $q->ih2x('CC', $item{string}) } BCC_string : "BCC" string { $q->ih2x('BCC', $item{string}) } SUBJECT_string : "SUBJECT" string { $q->ih2x('SUBJECT', $item{string}) } +TEXT_string : "TEXT" string { $q->ih2x(undef, $item{string}) } op_subq_enter : '(' { $q->subq_enter } sub_query : op_subq_enter search_key1(s) ')' { $q->subq_leave } diff --git a/t/imapd.t b/t/imapd.t index 4e2c89318703afd1edb4f46f74672fcfd2d64264..f9d93448fe570152ad05ffdec20b15c4d614080d 100644 --- a/t/imapd.t +++ b/t/imapd.t @@ -398,6 +398,8 @@ my $x = $mic->search(qw(header subject embedded)); is(scalar(@$x), 1, 'MSN SEARCH on Subject works after rm'); $x = $mic->message_string($x->[0]); is($x, $ret->{2}->{RFC822}, 'message 2 unchanged'); + $x = $mic->search(qw(text embedded)); + is(scalar(@$x), 1, 'MSN SEARCH on TEXT works after rm'); } # FIXME? no EXPUNGE response, yet