api/queryinternal.cc,api/queryinternal.h: Drop MatchNothing
subqueries in OR-like situations in add_subquery() rather than
adding them and then handling it later.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16620 6b2f1b92-a4f3-0310-943f-de3cbe41748b
api/queryinternal.cc: Handle QueryAndLike with a MatchNothing
subquery in add_subquery() rather than done().

git-svn-id: file:///home/xapian-svn/xapian/trunk@16621 6b2f1b92-a4f3-0310-943f-de3cbe41748b
api/queryinternal.cc: Handle the left side of AND_NOT and
AND_MAYBE being MatchNothing in add_subquery() rather than
in done().

git-svn-id: file:///home/xapian-svn/xapian/trunk@16622 6b2f1b92-a4f3-0310-943f-de3cbe41748b
configure.ac,php/Makefile.am: Fix "make check" for PHP to work in a
VPATH build using a release tarball.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16623 6b2f1b92-a4f3-0310-943f-de3cbe41748b
api/,include/xapian/query.h: Rework QueryBranch to use a special
QueryVector class rather than std::vector<Xapian::Query>.  The
special class is no bigger than std::vector<Xapian::Query>, and
handles up to two entries by holding them within the object (at
least GCC's std::vector doesn't currently do this space optimisation)
which significantly reduces the memory used by a pairwise operator,
which is very desirable as we no longer flatten a tree of the same
pairwise operator as we build the query.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16624 6b2f1b92-a4f3-0310-943f-de3cbe41748b
api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h:
"Limited" to "Ltd" in (C) two statements, for consistency (and with
Charlie's agreement on IRC).

git-svn-id: file:///home/xapian-svn/xapian/trunk@16625 6b2f1b92-a4f3-0310-943f-de3cbe41748b
include/xapian/queryparser.h,queryparser/queryparser.lemony:
Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all
terms and adds a Z prefix.  (Patch from Sehaj Singh Kalra, fixes
ticket#562)
tests/queryparsertest.cc: Add test coverage for
QueryParser::STEM_ALL_Z.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16626 6b2f1b92-a4f3-0310-943f-de3cbe41748b
include/xapian/queryparser.h: Add doc comment for stem_strategy
typedef.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16627 6b2f1b92-a4f3-0310-943f-de3cbe41748b
include/xapian/termgenerator.h,queryparser/termgenerator.cc,
queryparser/termgenerator_internal.cc,
queryparser/termgenerator_internal.h: Add
TermGenerator::set_stemming_strategy() method, with strategies which
correspond to those of QueryParser.  Based on patch from Sehaj Singh
Kalra, with some tweaks for adding term positions in more cases.
(Fixes ticket#563)
tests/termgentest.cc: Add test coverage for the new features.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16628 6b2f1b92-a4f3-0310-943f-de3cbe41748b
backends/flint_lock.h: Mark FlintLock::throw_databaselockerror() as
XAPIAN_NORETURN.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16629 6b2f1b92-a4f3-0310-943f-de3cbe41748b
include/xapian/weight.h: Fix documentation comment typo ("k1" ->
"k").

git-svn-id: file:///home/xapian-svn/xapian/trunk@16630 6b2f1b92-a4f3-0310-943f-de3cbe41748b
generic/except.i: Don't name exceptions objects we don't inspect.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16631 6b2f1b92-a4f3-0310-943f-de3cbe41748b
exception_data.pm,include/Makefile.mk,include/xapian.h,
include/xapian/attributes.h,include/xapian/unicode.h: Add
XAPIAN_CONST_FUNCTION, XAPIAN_PURE_FUNCTION, and XAPIAN_NOTHROW
macros for marking functions and methods with those attributes.
(tickets #151, #454)

git-svn-id: file:///home/xapian-svn/xapian/trunk@16632 6b2f1b92-a4f3-0310-943f-de3cbe41748b
xapian-head.i: Hide XAPIAN_CONST_FUNCTION, XAPIAN_PURE_FUNCTION, and
XAPIAN_NOTHROW from SWIG.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16633 6b2f1b92-a4f3-0310-943f-de3cbe41748b
lua/generate-lua-exceptions,perl/generate-perl-exceptions,
python/generate-python-exceptions: Use new XAPIAN_NOTHROW markers
in API headers to avoid generate exception handling code around
the calls SWIG generates to such functions and methods.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16634 6b2f1b92-a4f3-0310-943f-de3cbe41748b
lua/generate-lua-exceptions,perl/generate-perl-exceptions,
python/generate-python-exceptions: Have a single copyright statement
at the top of the script (in a $copyright variable), and substitute
this into the generated script.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16635 6b2f1b92-a4f3-0310-943f-de3cbe41748b
python/generate-python-exceptions: Remove superfluous ';' after
"namespace { [...] }".

git-svn-id: file:///home/xapian-svn/xapian/trunk@16636 6b2f1b92-a4f3-0310-943f-de3cbe41748b
exception_data.pm: Fix typo to fix warning and so that XAPIAN_NOTHROW
on a method will work.

git-svn-id: file:///home/xapian-svn/xapian/trunk@16637 6b2f1b92-a4f3-0310-943f-de3cbe41748b
perl/perl.i: Pass 0 instead of NULL for non-pointer parameter to
av_fetch (spotted due to GCC 4.7 warning).

git-svn-id: file:///home/xapian-svn/xapian/trunk@16638 6b2f1b92-a4f3-0310-943f-de3cbe41748b
Skip any directories with a .nobootstrap file in.


git-svn-id: file:///home/xapian-svn/xapian/trunk@16639 6b2f1b92-a4f3-0310-943f-de3cbe41748b