From: Eric Wong <e@80x24.org>
To: meta@public-inbox.org
Subject: [PATCH 1/7] search: support multiple From/To/Cc/Subject headers
Date: Thu, 24 Oct 2019 00:12:35 +0000 [thread overview]
Message-ID: <20191024001241.14224-2-e@80x24.org> (raw)
In-Reply-To: <20191024001241.14224-1-e@80x24.org>
We can easily support searching on messages with
multiple From/To/Cc/Subject headers just like we
do with multiple Message-ID headers.
This matches the normal mutt pager display behavior.
---
lib/PublicInbox/SearchMsg.pm | 4 ++--
t/v2reindex.t | 16 ++++++++++++----
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/lib/PublicInbox/SearchMsg.pm b/lib/PublicInbox/SearchMsg.pm
index adadf92e..7561e7f2 100644
--- a/lib/PublicInbox/SearchMsg.pm
+++ b/lib/PublicInbox/SearchMsg.pm
@@ -107,8 +107,8 @@ sub __hdr ($$) {
return $val if defined $val;
my $mime = $self->{mime} or return;
- $val = $mime->header($field);
- $val = '' unless defined $val;
+ my @raw = $mime->header($field);
+ $val = join(', ', @raw);
$val =~ tr/\t\n/ /;
$val =~ tr/\r//d;
$self->{$field} = $val;
diff --git a/t/v2reindex.t b/t/v2reindex.t
index 52711f8f..3e56ddfa 100644
--- a/t/v2reindex.t
+++ b/t/v2reindex.t
@@ -439,7 +439,7 @@ ok(!-d $xap, 'Xapian directories removed again');
my @warn;
local $SIG{__WARN__} = sub { push @warn, @_ };
my %config = %$ibx_config;
- $config{indexlevel} = 'basic';
+ $config{indexlevel} = 'medium';
my $ibx = PublicInbox::Inbox->new(\%config);
my $im = PublicInbox::V2Writable->new($ibx);
my $m3 = PublicInbox::MIME->new(<<'EOF');
@@ -447,7 +447,7 @@ Date: Tue, 24 May 2016 14:34:22 -0700 (PDT)
Message-Id: <20160524.143422.552507610109476444.d@example.com>
To: t@example.com
Cc: c@example.com
-Subject: Re: [PATCH v2 2/2]
+Subject: Re: [PATCH v2 2/2] uno
From: <f@example.com>
In-Reply-To: <1463825855-7363-2-git-send-email-y@example.com>
References: <1463825855-7363-1-git-send-email-y@example.com>
@@ -456,14 +456,14 @@ Date: Wed, 25 May 2016 10:01:51 +0900
From: h@example.com
To: g@example.com
Cc: m@example.com
-Subject: Re: [PATCH]
+Subject: Re: [PATCH] dos
Message-ID: <20160525010150.GD7292@example.com>
References: <1463498133-23918-1-git-send-email-g+r@example.com>
In-Reply-To: <1463498133-23918-1-git-send-email-g+r@example.com>
From: s@example.com
To: h@example.com
Cc: m@example.com
-Subject: [PATCH 12/13]
+Subject: [PATCH 12/13] tres
Date: Wed, 01 Jun 2016 01:32:35 +0300
Message-ID: <1923946.Jvi0TDUXFC@wasted.example.com>
In-Reply-To: <13205049.n7pM8utpHF@wasted.example.com>
@@ -495,6 +495,14 @@ EOF
eval { $im->index_sync({reindex=>1}) };
is($@, '', 'no error from reindexing after reused Message-ID (x3)');
is_deeply(\@warn, [], 'no warnings on reindex');
+
+ my %uniq;
+ for my $s (qw(uno dos tres)) {
+ my $msgs = $ibx->search->query("s:$s");
+ is(scalar(@$msgs), 1, "only one result for `$s'");
+ $uniq{$msgs->[0]->{num}}++;
+ }
+ is_deeply([values %uniq], [3], 'search on different subjects');
}
done_testing();
next prev parent reply other threads:[~2019-10-24 0:12 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-24 0:12 [PATCH 0/7] redundant header madness Eric Wong
2019-10-24 0:12 ` Eric Wong [this message]
2019-10-24 0:12 ` [PATCH 2/7] view: display redundant headers in permalink Eric Wong
2019-10-24 0:12 ` [PATCH 3/7] view: move '<' and '>' outside <a> Eric Wong
2019-10-24 0:12 ` [PATCH 4/7] view: improve warning for multiple Message-IDs Eric Wong
2019-10-24 0:12 ` [PATCH 5/7] linkify: support adding "(raw)" link for Message-IDs Eric Wong
2019-10-24 0:12 ` [RFC 6/7] index: allow search/lookups on X-Alt-Message-ID Eric Wong
2019-10-24 0:12 ` [RFC 7/7] view: show X-Alt-Message-ID in permalink view, too Eric Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://public-inbox.org/README
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191024001241.14224-2-e@80x24.org \
--to=e@80x24.org \
--cc=meta@public-inbox.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).