On Mon, 12 Mar 2012 11:31:52 +0000, Mark Walters <markwalters1009@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. > > 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. LGTM. Even if we don't totally understand the root cause here, this change is the right thing to do anyway. I think it's fine to go ahead and push this ahead of the other exclude updates, though obviously those will need a little rebasing on top of this.