[PATCH 0/2] A bug in the exclude code
On Mon, 12 Mar 2012 13:03:12 -0700, Jameson Graef Rollins wrote: > On Mon, 12 Mar 2012 11:31:52 +, Mark Walters gmail.com> wrote: > > There is a bug in the exclude code (found by jrollins in the > > --with-excluded series) but also present in master. None of the > > current tests were finding it so the first patch adds two tests. > > Hey, Mark. Thanks so much for looking in to this. It look like this > patch fixes the issue for me too! Very excited to see this all coming > together. > > > The bug (and test failure) do not appear in all configuations: on my > > main test machine (an oldish debian testing 32bit userspace with a > > 64bit kernel and xapian 1.2.7) all tests pass. On my laptop (a recent > > debian testing 64bit userspace and xapian 1.2.8) one of the new tests > > fails. > > It was failing for me too, but looking closer at the test I actually > found a bug: you accidentally used the old style --no-exclude option, > instead of the new --with-excludes. When you fix the call all the tests > pass fine. That's great. > > The second patch fixes the behaviour for me but I don't see why it > > should make a difference: searches for A and not B should give the > > same results as A and not (A and B). It could be a bug in xapian, it > > could be that I am not allowed to reuse queries as I do (is query1 = > > query1 and query2 allowed?) or it could be some memory use bug on my > > part. > > I can't explain it either, but there's certainly a lot about xapian that > I don't understand. Maybe one of the xapian gurus will have some ideas > (Olly? Austin?). > > Anyway, thanks again for pushing on all of this, Mark. > > jamie. > > PS. Not a big deal, but it would have been nice for this patch set to > have been sent in-reply-to the original series it fixes, just to keep > everything together. Just to emphasise the bug is already present in current master (just better hidden because of the defaults). Hence this pair of patches (unlike the first one I sent privately) are to current master rather than to the exclude the series (though they apply there to to modulo the minor change you mention). Best wishes Mark
[PATCH v6 06/10] schemata: Add documentation for JSON reply format.
Quoth Adam Wolfe Gordon on Mar 11 at 10:09 pm: > On Sun, Mar 11, 2012 at 18:36, Austin Clements wrote: > > Oops. ?Looks like I left references to various old JSON functions in > > the schemata file. ?I'll submit a patch to fix those up, but you might > > as well use the correct function names in the new documentation. > > Erk, I missed this review as I was making up the latest version of the > series. I guess I'll have to send another, but I'll wait for reviews > on the other patches first. No worries. I'm happy to fold these in to fixing up other stale references in that file. This shouldn't hold up your series.
[PATCH 1/2] test: add tests for message only search
On Mon, 12 Mar 2012 11:31:53 +, Mark Walters wrote: > +test_begin_subtest "Exclude \"deleted\" messages from message search > (no-exclude)" > +output=$(notmuch search --no-exclude --output=messages subject:deleted | > notmuch_search_sanitize) This should be 's/no-exclude/with-excludes/'. With this change all tests pass when the subsequent patch is applied. jamie. -- next part -- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 835 bytes Desc: not available URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20120312/16108061/attachment.pgp>
[PATCH 0/2] A bug in the exclude code
On Mon, 12 Mar 2012 11:31:52 +, Mark Walters wrote: > There is a bug in the exclude code (found by jrollins in the > --with-excluded series) but also present in master. None of the > current tests were finding it so the first patch adds two tests. Hey, Mark. Thanks so much for looking in to this. It look like this patch fixes the issue for me too! Very excited to see this all coming together. > The bug (and test failure) do not appear in all configuations: on my > main test machine (an oldish debian testing 32bit userspace with a > 64bit kernel and xapian 1.2.7) all tests pass. On my laptop (a recent > debian testing 64bit userspace and xapian 1.2.8) one of the new tests > fails. It was failing for me too, but looking closer at the test I actually found a bug: you accidentally used the old style --no-exclude option, instead of the new --with-excludes. When you fix the call all the tests pass fine. > The second patch fixes the behaviour for me but I don't see why it > should make a difference: searches for A and not B should give the > same results as A and not (A and B). It could be a bug in xapian, it > could be that I am not allowed to reuse queries as I do (is query1 = > query1 and query2 allowed?) or it could be some memory use bug on my > part. I can't explain it either, but there's certainly a lot about xapian that I don't understand. Maybe one of the xapian gurus will have some ideas (Olly? Austin?). Anyway, thanks again for pushing on all of this, Mark. jamie. PS. Not a big deal, but it would have been nice for this patch set to have been sent in-reply-to the original series it fixes, just to keep everything together. -- next part -- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 835 bytes Desc: not available URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20120312/5a0d4dfe/attachment.pgp>
[PATCH 2/2] lib: fix an exclude bug
One test using the new exclude code was failing in some configurations. This patch makes it work for me. It may be a "fix" but I do not see why it fixes it. --- lib/query.cc |5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/query.cc b/lib/query.cc index ab18fbc..2b73d72 100644 --- a/lib/query.cc +++ b/lib/query.cc @@ -213,13 +213,14 @@ notmuch_query_search_messages (notmuch_query_t *query) if (query->exclude_terms) { exclude_query = _notmuch_exclude_tags (query, final_query); - exclude_query = Xapian::Query (Xapian::Query::OP_AND, - exclude_query, final_query); if (query->omit_excluded_messages) final_query = Xapian::Query (Xapian::Query::OP_AND_NOT, final_query, exclude_query); else { + exclude_query = Xapian::Query (Xapian::Query::OP_AND, + exclude_query, final_query); + enquire.set_weighting_scheme (Xapian::BoolWeight()); enquire.set_query (exclude_query); -- 1.7.9.1
[PATCH 1/2] test: add tests for message only search
This adds two tests for --output=messages searches one of which fails in some configurations. --- test/search | 11 +++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/test/search b/test/search index 081f60c..276271b 100755 --- a/test/search +++ b/test/search @@ -132,13 +132,24 @@ test_expect_equal "$output" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; u test_begin_subtest "Exclude \"deleted\" messages from search" notmuch config set search.exclude_tags = deleted generate_message '[subject]="Not deleted"' +not_deleted_id=$gen_msg_id generate_message '[subject]="Deleted"' notmuch new > /dev/null notmuch tag +deleted id:$gen_msg_id +deleted_id=$gen_msg_id output=$(notmuch search subject:deleted | notmuch_search_sanitize) test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Not deleted (inbox unread) thread:XXX 2001-01-05 [0/1] Notmuch Test Suite; Deleted (deleted inbox unread)" +test_begin_subtest "Exclude \"deleted\" messages from message search" +output=$(notmuch search --output=messages subject:deleted | notmuch_search_sanitize) +test_expect_equal "$output" "id:$not_deleted_id" + +test_begin_subtest "Exclude \"deleted\" messages from message search (no-exclude)" +output=$(notmuch search --no-exclude --output=messages subject:deleted | notmuch_search_sanitize) +test_expect_equal "$output" "id:$not_deleted_id +id:$deleted_id" + test_begin_subtest "Exclude \"deleted\" messages from search, overridden" output=$(notmuch search subject:deleted and tag:deleted | notmuch_search_sanitize) test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Deleted (deleted inbox unread)" -- 1.7.9.1
[PATCH 0/2] A bug in the exclude code
There is a bug in the exclude code (found by jrollins in the --with-excluded series) but also present in master. None of the current tests were finding it so the first patch adds two tests. The bug (and test failure) do not appear in all configuations: on my main test machine (an oldish debian testing 32bit userspace with a 64bit kernel and xapian 1.2.7) all tests pass. On my laptop (a recent debian testing 64bit userspace and xapian 1.2.8) one of the new tests fails. The second patch fixes the behaviour for me but I don't see why it should make a difference: searches for A and not B should give the same results as A and not (A and B). It could be a bug in xapian, it could be that I am not allowed to reuse queries as I do (is query1 = query1 and query2 allowed?) or it could be some memory use bug on my part. Anyway the "fix" is small which should help narrow down the actual cause. Best wishes Mark Mark Walters (2): test: add tests for message only search lib: fix an exclude bug lib/query.cc |5 +++-- test/search | 11 +++ 2 files changed, 14 insertions(+), 2 deletions(-) -- 1.7.9.1
[PATCH] man: update SEE ALSO references in man pages
Drop references to notmuch-part(1). Reference all man pages. Fix man page section of notmuch-dump(1). --- man/man1/notmuch-config.1 |5 ++--- man/man1/notmuch-count.1|8 man/man1/notmuch-dump.1 |8 man/man1/notmuch-new.1 |8 man/man1/notmuch-reply.1|8 man/man1/notmuch-restore.1 |8 man/man1/notmuch-search.1 |8 man/man1/notmuch-show.1 |8 man/man1/notmuch-tag.1 |8 man/man1/notmuch.1 |7 +++ man/man5/notmuch-hooks.5|8 man/man7/notmuch-search-terms.7 |5 ++--- 12 files changed, 43 insertions(+), 46 deletions(-) diff --git a/man/man1/notmuch-config.1 b/man/man1/notmuch-config.1 index e62577c..d22988a 100644 --- a/man/man1/notmuch-config.1 +++ b/man/man1/notmuch-config.1 @@ -137,9 +137,8 @@ Specifies the location of the notmuch configuration file. Notmuch will use ${HOME}/.notmuch\-config if this variable is not set. .SH SEE ALSO -\fBnotmuch\fR(1), \fBnotmuch-count\fR(1), -\fBnotmuch-dump\fR(1), \fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), -\fBnotmuch-part\fR(1), \fBnotmuch-reply\fR(1), +\fBnotmuch\fR(1), \fBnotmuch-count\fR(1), \fBnotmuch-dump\fR(1), +\fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), \fBnotmuch-reply\fR(1), \fBnotmuch-restore\fR(1), \fBnotmuch-search\fR(1), \fBnotmuch-search-terms\fR(7), \fBnotmuch-show\fR(1), \fBnotmuch-tag\fR(1) diff --git a/man/man1/notmuch-count.1 b/man/man1/notmuch-count.1 index 805a8ae..f593065 100644 --- a/man/man1/notmuch-count.1 +++ b/man/man1/notmuch-count.1 @@ -51,7 +51,7 @@ Do not exclude the messages matching search.exclude_tags in the config file. .SH SEE ALSO \fBnotmuch\fR(1), \fBnotmuch-config\fR(1), \fBnotmuch-dump\fR(1), -\fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), \fBnotmuch-part\fR(1), -\fBnotmuch-reply\fR(1), \fBnotmuch-restore\fR(1), -\fBnotmuch-search\fR(1), \fBnotmuch-search-terms\fR(7), -\fBnotmuch-show\fR(1), \fBnotmuch-tag\fR(1) +\fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), \fBnotmuch-reply\fR(1), +\fBnotmuch-restore\fR(1), \fBnotmuch-search\fR(1), +\fBnotmuch-search-terms\fR(7), \fBnotmuch-show\fR(1), +\fBnotmuch-tag\fR(1) diff --git a/man/man1/notmuch-dump.1 b/man/man1/notmuch-dump.1 index bd7e274..4e24392 100644 --- a/man/man1/notmuch-dump.1 +++ b/man/man1/notmuch-dump.1 @@ -31,7 +31,7 @@ for details of the supported syntax for . .SH SEE ALSO \fBnotmuch\fR(1), \fBnotmuch-config\fR(1), \fBnotmuch-count\fR(1), -\fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), \fBnotmuch-part\fR(1), -\fBnotmuch-reply\fR(1), \fBnotmuch-restore\fR(1), -\fBnotmuch-search\fR(1), \fBnotmuch-search-terms\fR(7), -\fBnotmuch-show\fR(1), \fBnotmuch-tag\fR(1) +\fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), \fBnotmuch-reply\fR(1), +\fBnotmuch-restore\fR(1), \fBnotmuch-search\fR(1), +\fBnotmuch-search-terms\fR(7), \fBnotmuch-show\fR(1), +\fBnotmuch-tag\fR(1) diff --git a/man/man1/notmuch-new.1 b/man/man1/notmuch-new.1 index ccee738..19cef3d 100644 --- a/man/man1/notmuch-new.1 +++ b/man/man1/notmuch-new.1 @@ -64,7 +64,7 @@ Prevents hooks from being run. .SH SEE ALSO \fBnotmuch\fR(1), \fBnotmuch-config\fR(1), \fBnotmuch-count\fR(1), -\fBnotmuch-dump\fR(5), \fBnotmuch-hooks\fR(5), \fBnotmuch-part\fR(1), -\fBnotmuch-reply\fR(1), \fBnotmuch-restore\fR(1), -\fBnotmuch-search\fR(1), \fBnotmuch-search-terms\fR(7), -\fBnotmuch-show\fR(1), \fBnotmuch-tag\fR(1) +\fBnotmuch-dump\fR(1), \fBnotmuch-hooks\fR(5), \fBnotmuch-reply\fR(1), +\fBnotmuch-restore\fR(1), \fBnotmuch-search\fR(1), +\fBnotmuch-search-terms\fR(7), \fBnotmuch-show\fR(1), +\fBnotmuch-tag\fR(1) diff --git a/man/man1/notmuch-reply.1 b/man/man1/notmuch-reply.1 index 7ed7f0f..0fb68b4 100644 --- a/man/man1/notmuch-reply.1 +++ b/man/man1/notmuch-reply.1 @@ -80,7 +80,7 @@ on issue found in multiple patches. .SH SEE ALSO \fBnotmuch\fR(1), \fBnotmuch-config\fR(1), \fBnotmuch-count\fR(1), -\fBnotmuch-dump\fR(5), \fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), -\fBnotmuch-part\fR(1), \fBnotmuch-restore\fR(1), -\fBnotmuch-search\fR(1), \fBnotmuch-search-terms\fR(7), -\fBnotmuch-show\fR(1), \fBnotmuch-tag\fR(1) +\fBnotmuch-dump\fR(1), \fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), +\fBnotmuch-restore\fR(1), \fBnotmuch-search\fR(1), +\fBnotmuch-search-terms\fR(7), \fBnotmuch-show\fR(1), +\fBnotmuch-tag\fR(1) diff --git a/man/man1/notmuch-restore.1 b/man/man1/notmuch-restore.1 index 8bd59e4..bcb765c 100644 --- a/man/man1/notmuch-restore.1 +++ b/man/man1/notmuch-restore.1 @@ -39,7 +39,7 @@ details. .SH SEE ALSO \fBnotmuch\fR(1), \fBnotmuch-config\fR(1), \fBnotmuch-count\fR(1), -\fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), \fBnotmuch-part\fR(1), -\fBnotmuch-reply\fR(1), \fBnotmuch-dump\fR(1), -\fBnotmuch-search\fR(1), \fBnotmuch-search-terms\fR(7), -\fBnotmuch-show\fR(1), \fBnotmuch-tag\fR(1) +\fBnotmuch-dump\fR(1), \fBnotmuch-hooks\fR(5), \fBnotmuch-new\fR(1), +\fBnotmuch-reply\fR(1),
[PATCH 0/2] A bug in the exclude code
There is a bug in the exclude code (found by jrollins in the --with-excluded series) but also present in master. None of the current tests were finding it so the first patch adds two tests. The bug (and test failure) do not appear in all configuations: on my main test machine (an oldish debian testing 32bit userspace with a 64bit kernel and xapian 1.2.7) all tests pass. On my laptop (a recent debian testing 64bit userspace and xapian 1.2.8) one of the new tests fails. The second patch fixes the behaviour for me but I don't see why it should make a difference: searches for A and not B should give the same results as A and not (A and B). It could be a bug in xapian, it could be that I am not allowed to reuse queries as I do (is query1 = query1 and query2 allowed?) or it could be some memory use bug on my part. Anyway the fix is small which should help narrow down the actual cause. Best wishes Mark Mark Walters (2): test: add tests for message only search lib: fix an exclude bug lib/query.cc |5 +++-- test/search | 11 +++ 2 files changed, 14 insertions(+), 2 deletions(-) -- 1.7.9.1 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[PATCH 1/2] test: add tests for message only search
This adds two tests for --output=messages searches one of which fails in some configurations. --- test/search | 11 +++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/test/search b/test/search index 081f60c..276271b 100755 --- a/test/search +++ b/test/search @@ -132,13 +132,24 @@ test_expect_equal $output thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; u test_begin_subtest Exclude \deleted\ messages from search notmuch config set search.exclude_tags = deleted generate_message '[subject]=Not deleted' +not_deleted_id=$gen_msg_id generate_message '[subject]=Deleted' notmuch new /dev/null notmuch tag +deleted id:$gen_msg_id +deleted_id=$gen_msg_id output=$(notmuch search subject:deleted | notmuch_search_sanitize) test_expect_equal $output thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Not deleted (inbox unread) thread:XXX 2001-01-05 [0/1] Notmuch Test Suite; Deleted (deleted inbox unread) +test_begin_subtest Exclude \deleted\ messages from message search +output=$(notmuch search --output=messages subject:deleted | notmuch_search_sanitize) +test_expect_equal $output id:$not_deleted_id + +test_begin_subtest Exclude \deleted\ messages from message search (no-exclude) +output=$(notmuch search --no-exclude --output=messages subject:deleted | notmuch_search_sanitize) +test_expect_equal $output id:$not_deleted_id +id:$deleted_id + test_begin_subtest Exclude \deleted\ messages from search, overridden output=$(notmuch search subject:deleted and tag:deleted | notmuch_search_sanitize) test_expect_equal $output thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Deleted (deleted inbox unread) -- 1.7.9.1 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 0/2] A bug in the exclude code
On Mon, 12 Mar 2012 11:31:52 +, Mark Walters markwalters1...@gmail.com wrote: There is a bug in the exclude code (found by jrollins in the --with-excluded series) but also present in master. None of the current tests were finding it so the first patch adds two tests. Hey, Mark. Thanks so much for looking in to this. It look like this patch fixes the issue for me too! Very excited to see this all coming together. The bug (and test failure) do not appear in all configuations: on my main test machine (an oldish debian testing 32bit userspace with a 64bit kernel and xapian 1.2.7) all tests pass. On my laptop (a recent debian testing 64bit userspace and xapian 1.2.8) one of the new tests fails. It was failing for me too, but looking closer at the test I actually found a bug: you accidentally used the old style --no-exclude option, instead of the new --with-excludes. When you fix the call all the tests pass fine. The second patch fixes the behaviour for me but I don't see why it should make a difference: searches for A and not B should give the same results as A and not (A and B). It could be a bug in xapian, it could be that I am not allowed to reuse queries as I do (is query1 = query1 and query2 allowed?) or it could be some memory use bug on my part. I can't explain it either, but there's certainly a lot about xapian that I don't understand. Maybe one of the xapian gurus will have some ideas (Olly? Austin?). Anyway, thanks again for pushing on all of this, Mark. jamie. PS. Not a big deal, but it would have been nice for this patch set to have been sent in-reply-to the original series it fixes, just to keep everything together. pgpBG5NEdaeRi.pgp Description: PGP signature ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 1/2] test: add tests for message only search
On Mon, 12 Mar 2012 11:31:53 +, Mark Walters markwalters1...@gmail.com wrote: +test_begin_subtest Exclude \deleted\ messages from message search (no-exclude) +output=$(notmuch search --no-exclude --output=messages subject:deleted | notmuch_search_sanitize) This should be 's/no-exclude/with-excludes/'. With this change all tests pass when the subsequent patch is applied. jamie. pgpt2YSpUKffG.pgp Description: PGP signature ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH v6 06/10] schemata: Add documentation for JSON reply format.
Quoth Adam Wolfe Gordon on Mar 11 at 10:09 pm: On Sun, Mar 11, 2012 at 18:36, Austin Clements amdra...@mit.edu wrote: Oops. Looks like I left references to various old JSON functions in the schemata file. I'll submit a patch to fix those up, but you might as well use the correct function names in the new documentation. Erk, I missed this review as I was making up the latest version of the series. I guess I'll have to send another, but I'll wait for reviews on the other patches first. No worries. I'm happy to fold these in to fixing up other stale references in that file. This shouldn't hold up your series. ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 0/2] A bug in the exclude code
On Mon, 12 Mar 2012 13:03:12 -0700, Jameson Graef Rollins jroll...@finestructure.net wrote: On Mon, 12 Mar 2012 11:31:52 +, Mark Walters markwalters1...@gmail.com wrote: There is a bug in the exclude code (found by jrollins in the --with-excluded series) but also present in master. None of the current tests were finding it so the first patch adds two tests. Hey, Mark. Thanks so much for looking in to this. It look like this patch fixes the issue for me too! Very excited to see this all coming together. The bug (and test failure) do not appear in all configuations: on my main test machine (an oldish debian testing 32bit userspace with a 64bit kernel and xapian 1.2.7) all tests pass. On my laptop (a recent debian testing 64bit userspace and xapian 1.2.8) one of the new tests fails. It was failing for me too, but looking closer at the test I actually found a bug: you accidentally used the old style --no-exclude option, instead of the new --with-excludes. When you fix the call all the tests pass fine. That's great. The second patch fixes the behaviour for me but I don't see why it should make a difference: searches for A and not B should give the same results as A and not (A and B). It could be a bug in xapian, it could be that I am not allowed to reuse queries as I do (is query1 = query1 and query2 allowed?) or it could be some memory use bug on my part. I can't explain it either, but there's certainly a lot about xapian that I don't understand. Maybe one of the xapian gurus will have some ideas (Olly? Austin?). Anyway, thanks again for pushing on all of this, Mark. jamie. PS. Not a big deal, but it would have been nice for this patch set to have been sent in-reply-to the original series it fixes, just to keep everything together. Just to emphasise the bug is already present in current master (just better hidden because of the defaults). Hence this pair of patches (unlike the first one I sent privately) are to current master rather than to the exclude the series (though they apply there to to modulo the minor change you mention). Best wishes Mark ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch