Thu Nov 09 00:17:35 GMT 2006  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.ac: Update for 0.9.9.

Wed Nov 08 20:54:31 GMT 2006  Olly Betts <olly@survex.com>

	* xapian.spec.in: Apply changes from Neal Becker to run "autoreconf
	  --force" so that we don't set rpath for /usr/lib64, and add "libs"
	  to %post and %postun.
	* AUTHORS: Thank Neal Becker.

Wed Nov 08 04:27:17 GMT 2006  Olly Betts <olly@survex.com>

	* docs/tests.html: Update for "testsuite" -> "tests/harness".  Mark
	  paths and programs with <code>...</code>.  Improve wording in a few
	  places.

Wed Nov 08 03:10:37 GMT 2006  Olly Betts <olly@survex.com>

	* bin/xapian-tcpsrv.cc: Need '#include "safeerrno.h"' for EADDRINUSE.

Wed Nov 08 02:36:59 GMT 2006  Olly Betts <olly@survex.com>

	* bin/Makefile.am,bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc:
	  xapian-progsrv now uses getopt for option processing, and we can
	  now generate a man page using help2man.  Fixes Bug #98.

Wed Nov 08 01:47:19 GMT 2006  Olly Betts <olly@survex.com>

	* bin/xapian-tcpsrv.cc: If the port requested is in use, exit with
	  code 69 (EX_UNAVAILABLE) which is useful if you're trying to
	  automate launching of xapian-tcpsrv instances.
	* tests/harness/backendmanager.cc: If we can't start xapian-tcpsrv
	  because the port is in use, try higher numbered ports.
	* tests/harness/testsuite.cc: Catch and report std::string exceptions.

Tue Nov 07 22:40:58 GMT 2006  Olly Betts <olly@survex.com>

	* net/tcpclient.cc: Turn on TCP_NODELAY for the client too.

Tue Nov 07 21:46:39 GMT 2006  Olly Betts <olly@survex.com>

	* net/tcpserver.cc: Turn on TCP_NODELAY for xapian-tcpsrv which
	  increases throughput for the remote backend over tcp.

Tue Nov 07 21:08:57 GMT 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_btreebase.cc: Add missing '#include'-s.

Tue Nov 07 17:57:22 GMT 2006  Olly Betts <olly@survex.com>

	* backends/quartz/btree_base.cc: Add missing '#include'-s.

Tue Nov 07 05:12:40 GMT 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_positionlist.h,backends/flint/flint_table.cc,
	  backends/quartz/btree.cc: Add missing '#include <vector>' which
	  "utils.h" was implicitly pulling in.
	* common/utils.h: Move '#include "safefcntl.h"' to more logical place.

Tue Nov 07 04:18:27 GMT 2006  Olly Betts <olly@survex.com>

	* common/safefcntl.h: Actually add the new file to SVN.

Tue Nov 07 03:36:59 GMT 2006  Olly Betts <olly@survex.com>

	* HACKING,backends/flint/flint_io.h,backends/flint/flint_lock.cc,
	  backends/flint/flint_lock.h,backends/muscat36/io_system.cc,common/,
	  net/tcpserver.cc,tests/harness/backendmanager.cc,
	  tests/harness/testsuite.cc: Create "safefcntl.h" as a replacement
	  for <fcntl.h> instead of using "utils.h" for this purpose, since
	  "utils.h" pulls in many other things we often don't want.
	* common/utils.cc,common/utils.h,net/progclient.cc: Move split_words
	  to progclient.cc which is the only user of it.  Rewrite it to not
	  modified the string being split which risks being O(n^2).
	* net/progclient.cc,common/progclient.h: Pass std::string by const
	  reference.
	* configure.ac: Fix DJGPP build (fork is present but always fails).

Tue Nov 07 03:21:24 GMT 2006  Olly Betts <olly@survex.com>

	* matcher/biaspostlist.h: Don't need '#include "utils.h"'.

Tue Nov 07 01:15:14 GMT 2006  Olly Betts <olly@survex.com>

	* common/c_strtod.cc: Remove file which was checked in but is unused!

Mon Nov 06 15:24:02 GMT 2006  Olly Betts <olly@survex.com>

	* tests/internaltest.cc: Disable serialiselength1 and serialisedoc1
	  when the remote backend is disabled.

Mon Nov 06 15:23:40 GMT 2006  Olly Betts <olly@survex.com>

	* tests/Makefile.am: Fix typo in recent check-in.

Mon Nov 06 01:43:37 GMT 2006  Olly Betts <olly@survex.com>

	* tests/Makefile.am: Need "harness" in "$(srcdir)" for VPATH builds to
	  work.

Sun Nov 05 19:55:26 GMT 2006  Olly Betts <olly@survex.com>

	* backends/quartz/Makefile.am: Remove explicit dependency of
	  libbtreecheck.la on libxapian.la.  We always link in libxapian.la
	  and the explicit dependency makes it hard to build things in a
	  sane order.

Sun Nov 05 19:29:17 GMT 2006  Olly Betts <olly@survex.com>

	* net/tcpserver.cc: Don't define on_SIGCHLD() unless we'll use it.
	* tests/harness/backendmanager.cc: Use a proper signal handler for
	  SIGCHLD if we have waitpid() - POSIX leaves the semantics of
	  SIG_IGN on SIGCHLD unspecified.

Sun Nov 05 19:11:36 GMT 2006  Olly Betts <olly@survex.com>

	* backends/quartz/Makefile.am,backends/quartz/btreecheck.cc,
	  backends/quartz/btreecheck.h,bin/Makefile.am,tests/Makefile.am,
	  tests/harness/: Use _exit(0) instead of exit(0) in the child
	  process which closes the pipe to xapian-tcpsrv in BackendManager
	  since we don't want to call atexit functions from the child.  Move
	  btreecheck stuff into backends/quartz.

Sun Nov 05 17:12:05 GMT 2006  Olly Betts <olly@survex.com>

	* Makefile.am,bin/Makefile.am,configure.ac,tests/Makefile.am,
	  tests/harness/Makefile.am,tests/harness/dir_contents,testsuite/:
	  Move the testsuite harness from "testsuite/" to "tests/harness/".

Sun Nov 05 16:36:56 GMT 2006  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc,testsuite/backendmanager.h: Now needs
	  <stdio.h>.  Set SIG_IGN for SIG_CHLD so we don't get zombie child
	  processes.

Sun Nov 05 03:53:24 GMT 2006  Olly Betts <olly@survex.com>

	* tests/apitest.cc: Make backendmanager static.

Sun Nov 05 03:51:36 GMT 2006  Olly Betts <olly@survex.com>

	* bin/xapian-tcpsrv.cc: Output "Listening..." once the socket is
	  open and read for connections.
	* testsuite/backendmanager.cc: Use popen() to run xapian-tcpsrv
	  and wait for "Listening..." before returning rather than just
	  sleeping for 1 second and hoping that's enough.

Sun Nov 05 02:54:23 GMT 2006  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Remove unnecessary inclusion of backendmanager.h.

Fri Nov 03 02:09:26 GMT 2006  Olly Betts <olly@survex.com>

	* HACKING: Update debian packaging checklist.

Fri Nov 03 00:57:35 GMT 2006  Olly Betts <olly@survex.com>

	* docs/Makefile.am: Building sourcedoc.pdf needs a larger pool_size
	  now.

Thu Nov 02 19:12:34 GMT 2006  Olly Betts <olly@survex.com>

	* AUTHORS: Updated.

Thu Nov 02 15:41:46 GMT 2006  Olly Betts <olly@survex.com>

	* HACKING,NEWS,configure.ac: Update for 0.9.8.

Thu Nov 02 15:20:05 GMT 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Update from tinderbox.

Thu Nov 02 11:53:53 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: GCC's -Wendif-labels is enabled by default on versions
	  which support it, which simplifies our tests.

Thu Nov 02 00:22:44 GMT 2006  Olly Betts <olly@survex.com>

	* backends/remote/dir_contents: Update.

Wed Nov 01 15:33:12 GMT 2006  Olly Betts <olly@survex.com>

	* common/omstringstream.h: Fix our implementation of om_ostringstream
	  to work with OmTime.

Wed Nov 01 03:27:36 GMT 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Don't
	  require a prefixed boolean term to start with an alphanumeric
	  - allow the same set of characters as we do for the second and
	  subsequent characters.

Sat Oct 28 04:12:13 BST 2006  Olly Betts <olly@survex.com>

	* bin/quartzcheck.cc: Add catch for unknown exceptions.

Sat Oct 28 03:49:19 BST 2006  Olly Betts <olly@survex.com>

	* HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api_conf.in,
	  docs/doxygen_full_conf.in: Produce a PDF for apidoc rather than
	  PostScript, since the PDF is smaller, and easier to view for most
	  users.  Use pdflatex to generate the PDF directly rather than
	  going via a DVI file.  This also avoids problems on some Linux
	  distros where latex is a symlink to pdfelatex (bug#81, bug#95).

Thu Oct 26 22:12:20 BST 2006  Richard Boulton <richard@lemurconsulting.com>

	* bin/quartzcheck.cc: Catch (and display) any exceptions which are
	  of type "const char *error".  btreecheck.cc raises an exception
	  of this type if a btree error is found, and this avoids
	  quartzcheck dying quite so horribly in this case.

Wed Oct 25 23:30:26 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: -Wendif-labels is new in GCC 3.3.
	* configure.ac: Revert accidental change which turned on -Werror in
	  non-maintainer builds.
	* configure.ac: Avoid non-portable use of double quotes in
	  double-quoted backticks.

Wed Oct 25 01:19:24 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Redhat's GCC 2.96 doesn't support -Wundef even
	  though real GCC version before and after it do!  Also, use
	  -Wshadow and -Wendif-labels even when not in maintainer mode.

Tue Oct 24 04:17:58 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_lock.cc,bin/quartzcheck.cc: Eliminate
	  a couple of variables whose value is never used.

Tue Oct 24 00:31:25 BST 2006  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Only force a flush on
	  WritableDatabase::allterms_begin() if there are actually pending
	  changes.

Mon Oct 23 23:49:52 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_database.cc: Only force a flush on
	  WritableDatabase::allterms_begin() if there are actually pending
	  changes.

Mon Oct 23 02:24:12 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: When checking if we need -lm, don't use a constant
	  argument to log as the compiler might simply evaluate the whole
	  expression at compile time.

Sat Oct 21 20:42:52 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Mention automake 1.10 is out but we've not tested it yet.

Sat Oct 21 20:39:57 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Add entries to release checklist: make sure new API methods
	  are wrapped by the bindings, and that bug submitters are thanked.

Fri Oct 20 13:56:50 BST 2006  Richard Boulton <richard@lemurconsulting.com>

	* backends/flint/flint_io.cc: Fix compilation on windows (needs to
	  #include "safewindows.h" to get definition of SSIZE_T).

Tue Oct 17 02:16:37 BST 2006  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc: Fix compilation when valgrind is
	  detected by configure.

Thu Oct 12 13:30:05 BST 2006  Olly Betts <olly@survex.com>

	* xapian.spec.in: Package xapian-progsrv.

Thu Oct 12 00:49:47 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Note that on Debian, tetex-extra is needed for
	  fancyhdr.sty.
	* HACKING: Note that dch can be used to update debian/changelog.

Wed Oct 11 23:35:08 BST 2006  Olly Betts <olly@survex.com>

	* docs/Makefile.am: If running latex on refman.ps fails, cat
	  refman.log since that is likely to show what failed.

Tue Oct 10 17:24:00 BST 2006  Olly Betts <olly@survex.com>

	* NEWS: Bump release date.

Sun Oct 08 21:41:04 BST 2006  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.ac: Update for 0.9.7.

Sun Oct 08 10:06:51 BST 2006  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Use lseek() to skip existing valgrind output
	  instead of repeated calls to read.  Handle the old valgrind naming
	  convention for log files.

Sun Oct 08 09:35:59 BST 2006  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Fix a couple of typos in comments.

Sun Oct 08 05:36:36 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Disable probing and short-cut tests for a FORTRAN
	  compiler.  We don't use one, but current libtool versions always
	  check for it regardless.

Sat Oct 07 21:19:35 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac,tests/runtest.in,testsuite/backendmanager.cc,
	  testsuite/testsuite.cc: Fix testsuite harness to show valgrind
	  output when a test fails (when running under valgrind in verbose
	  mode).  This probably stopped working due to changes in valgrind 3.
	* testsuite/backendmanager.cc: Run xapian-tcpsrv under valgrind if
	  apitest is.

Fri Oct  6 18:27:13 BST 2006  Richard Boulton <richard@lemurconsulting.com>

	* tests/runtest.in: export $LIBTOOL, $VALGRIND and $VG_LOG_FD.
	* testsuite/backendmanager.cc: If $LIBTOOL, $VALGRIND and
	  $VG_LOG_FD are set, run progsrv under valgrind.  Fixes
	  Bug #94.
	* net/remoteserver.cc: Use an AutoPtr to hold the unserialised
	  query, so it gets deleted if an exception is thrown.
	* api/omqueryinternal.cc: Use AutoPtr in one place, and a try-catch
	  in another, to ensure that partially unserialised queries get
	  deleted if exceptions are thrown.
	* tests/internaltest.cc: Add copyright notices to file for recent
	  change.
	* AUTHORS: Add myself as a current developer, now that I've started
	  committing to the core again.

Fri Oct 06 17:44:21 BST 2006  Olly Betts <olly@survex.com>

	* api/omqueryinternal.cc: Fix memory leak in query unserialisation.

Fri Oct  6 17:34:59 BST 2006  Richard Boulton <richard@lemurconsulting.com>

	* tests/runtest.in: Cache result of test for $VG_LOG_FD if we
	  find the new option.  Saves 2 seconds for each invocation on my
	  machine, which is half the time when running just a single simple
	  test.

Fri Oct  6 16:35:46 BST 2006  Richard Boulton <richard@lemurconsulting.com>

	* tests/internaltest.cc: Check serialisation and unserialisation of
	  Query objects.  Currently fails under valgrind due to a memory
	  leak somewhere in the unserialisation code.

Thu Oct 05 14:13:55 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/error.h: Only enable the SWIG visibility hook when
	  using GCC 4 or later.

Wed Oct 04 20:32:43 BST 2006  Olly Betts <olly@survex.com>

	* m4/xapian.m4: Remove overquoting.

Wed Oct  4 13:28:09 BST 2006  Richard Boulton <richard@lemurconsulting.com>

	* common/utils.h: MSVC seems to #define open.  However, the
	  workaround for this problem implemented for old versions of
	  solaris doesn't work for windows, so avoid applying the fix for
	  windows, and just #undef open.  (Windows seems to define some
	  open() functions, as well as #defining open!)

Wed Oct  4 13:26:18 BST 2006  Richard Boulton <richard@lemurconsulting.com>

	* net/serialise.cc: Use "unsigned char" instead of "char" when
	  serialising lengths, to avoid problems on platforms where char is
	  signed (eg, windows).

Wed Oct 04 12:25:51 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_version.cc: Remove "100" from start of file so
	  it actually compiles.

Mon Oct 02 13:57:56 BST 2006  Olly Betts <olly@survex.com>

	* xapian-config.in: Fix typo - "@libdir" should be "@libdir@".
	  This would lead to -L/usr/lib not being pruned, which is really
	  just a cosmetic problem (the typo was introduced in 0.9.3).

Thu Sep 28 02:00:05 BST 2006  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Reserve the right number of entries in the
	  subrsets vector.

Fri Sep 22 07:48:32 BST 2006  Olly Betts <olly@survex.com>

	* common/serialise-double.cc: Fix warning with aCC.

Fri Sep 22 04:43:06 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Expand note on _GLIBCXX_DEBUG;  Now using autoconf 2.60 for
	  snapshots and releases;  Now using a libtool patch which improves
	  support for -library=stlport4 with Sun's C++;  Give URL to Alexandre
	  Duret-Lutz's autotools tutorial, which is much more up-to-date than
	  the "goat book".

Fri Sep 22 04:42:08 BST 2006  Olly Betts <olly@survex.com>

	* common/serialise-double.cc: Fix a few compiler warnings.

Fri Sep 22 04:29:18 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_lock.cc: Retry on EINTR from fcntl or waitpid.

Fri Sep 22 03:39:12 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/version_h.cc: Only check _GLIBCXX_DEBUG for GCC 3.4
	  and later (which are the versions which support it).

Fri Sep 22 03:37:02 BST 2006  Olly Betts <olly@survex.com>

	* bin/xapian-tcpsrv.cc: Report errno if we catch a Xapian::Error which
	  has it set.

Fri Sep 22 03:30:25 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Turn on -Wportability to help ensure our Makefile.am's
	  are written in a portable way.

Fri Sep 22 03:29:25 BST 2006  Olly Betts <olly@survex.com>

	* tests/runtest.in: Turn on GLIBCXX_FORCE_NEW when running tests under
	  valgrind.

Tue Sep 19 06:28:47 BST 2006  Olly Betts <olly@survex.com>

	* tests/internaltest.cc: Check that the the destructor on a temporary
	  object gets called at the correct time (Sun C++ deliberately gets
	  this wrong by default).

Tue Sep 19 04:32:04 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Revert change to Xapian::Weight's copy
	  constructor because it prevents Omega from compiling.

Tue Sep 19 04:01:14 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Make the argument of log() a double to avoid
	  potential compiler warnings.

Mon Sep 18 22:58:19 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Xapian::Weight's copy constructor should
	  be private not protected (direct copying isn't allowed).

Mon Sep 18 07:03:51 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: We reportedly need "-lm" to get maths functions on
	  some versions of Sun's C++ compiler.

Sat Sep 16 12:08:25 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Sun's C++ compiler implements non-standards-conforming
	  lifetimes for temporary objects (for "backwards compatibility" with
	  old Sun C++ specific code).  We don't care about such code, so
	  always pass "-features=tmplife" for Sun C++.

Sat Sep 16 03:04:57 BST 2006  Olly Betts <olly@survex.com>

	* bin/xapian-progsrv.cc: Oops, fix compilation error.

Sat Sep 16 02:13:22 BST 2006  Olly Betts <olly@survex.com>

	* bin/xapian-progsrv.cc: Fix messages send by xapian-progsrv if an
	  exception is thrown while opening the database.

Fri Sep 15 06:29:55 BST 2006  Olly Betts <olly@survex.com>

	* tests/internaltest.cc: 1/DBL_MAX may be less than DBL_MIN but on
	  platforms like x86 which hold results in registers with extra
	  precision, this is still representable, but not reliably so
	  the test sometimes fails.

Fri Sep 15 02:40:52 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_btreebase.cc: Avoid copying beyond the end of
	  the bitmap block.

Thu Sep 14 02:01:58 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_version.cc: Fix warning from GCC 4.1.0.

Wed Sep 13 18:12:43 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_io.cc,backends/flint/flint_io.h,
	  backends/flint/flint_version.cc: Fix compiler warnings.

Wed Sep 13 06:09:40 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_version.cc,backends/flint/flint_version.h:
	  Actually commit the new files!

Wed Sep 13 05:21:04 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/,common/utils.h: Rewrite some of flint's low level IO
	  functions, and the "iamflint" handling class.

Tue Sep 12 20:22:57 BST 2006  Olly Betts <olly@survex.com>

	* backends/remote/remote-database.cc: Fix to compile.

Tue Sep 12 18:56:16 BST 2006  Olly Betts <olly@survex.com>

	* backends/remote/remote-database.cc,common/remote-database.h:
	  Fix bug in remote backend which incorrectly returned an empty MSet
	  under certain circumstances!

Tue Sep 12 11:51:31 BST 2006  Olly Betts <olly@survex.com>

	* matcher/msetcmp.cc: "static inline" -> "inline" since the static is
	  superfluous and Sun's C++ warns.

Mon Sep 11 23:42:28 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Check $CXX not $CC to identify which C++ compiler we
	  have.

Mon Sep 11 16:32:37 BST 2006  Olly Betts <olly@survex.com>

	* api/omenquire.cc,api/vectortermlist.h,
	  backends/flint/flint_positionlist.cc,configure.ac,
	  net/remoteconnection.cc,net/tcpclient.cc,
	  queryparser/queryparser.lemony,tests/api_anydb.cc,tests/api_db.cc,
	  tests/api_nodb.cc: I've discovered that -library=stlport4 puts
	  Sun's compiler into an "ANSI C++ compliant" mode, so do that
	  automatically in configure and throw away all the annoying special
	  bits of alternative code we'd accumulated just for this one
	  compiler.

Mon Sep 11 16:01:20 BST 2006  Olly Betts <olly@survex.com>

	* tests/api_wrdb.cc: Speed up deldoc4 when run in verbose mode
	  - some stringstream implementations are very inefficient when
	  the string grows long.

Mon Sep 11 05:30:29 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Add some advice regarding debugging using -D_GLIBCXX_DEBUG,
	  valgrind, and gdb.

Sun Sep 10 02:24:47 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Fix last check-in to actually work.

Sat Sep 09 04:19:44 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Ensure that if _GLIBCXX_DEBUG has been specified that
	  it also passed when generating version.h.

Sat Sep 09 04:01:40 BST 2006  Olly Betts <olly@survex.com>

	* tests/internaltest.cc: Give more useful output should the double
	  serialisation test fail.

Sat Sep 09 03:19:20 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/version_h.cc: Add a check that _GLIBCXX_DEBUG is
	  set compatibly if we're compiling with GNU C++.

Sat Sep 09 02:55:38 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_modifiedpostlist.cc: Fix potential access to
	  iterator which has already reached its end.

Fri Sep 08 04:05:28 BST 2006  Olly Betts <olly@survex.com>

	* backends/remote/remote-database.cc,common/,matcher/bm25weight.cc,
	  matcher/tradweight.cc,net/,tests/internaltest.cc: Split the double
	  serialisation code off into its own file - it is used by BM25Weight
	  and TradWeight, so it needs to be compiled in even when the remote
	  backend is disabled.

Thu Sep 07 00:09:41 BST 2006  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc: Discard stderr from xapian-tcpsrv
	  so we don't get "write error" messages appearing in the testsuite
	  output when we've just closed the connection at the client side.

Tue Sep 05 21:07:40 BST 2006  Olly Betts <olly@survex.com>

	* api/omqueryinternal.cc: Fix warning when remote backend
	  is disabled.

Tue Sep 05 20:58:52 BST 2006  Olly Betts <olly@survex.com>

	* docs/Makefile.am: Add extra dependencies so that parallel make
	  doesn't try to run latex twice simultaneously.

Tue Sep 05 20:58:13 BST 2006  Olly Betts <olly@survex.com>

	* AUTHORS: Updated.

Tue Sep 05 20:56:50 BST 2006  Olly Betts <olly@survex.com>

	* Makefile.am: Fix typo.

Tue Sep 05 03:23:14 BST 2006  Olly Betts <olly@survex.com>

	* docs/queryparser.html,queryparser/queryparser.lemony,
	  tests/queryparsertest.cc: Implement "ADJ" operator - like
	  "NEAR" except the terms must appear in matching documents in the
	  same order as in the query.

Tue Sep 05 03:19:12 BST 2006  Olly Betts <olly@survex.com>

	* backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
	  matcher/bm25weight.cc,matcher/tradweight.cc,net/remoteserver.cc,
	  net/serialise.cc,tests/internaltest.cc: Change how doubles are
	  serialised by TradWeight, BM25Weight, and in the remote backend
	  protocol.  The new encoding allows us to transfer any double
	  value which can be represented by both machines precisely and
	  compactly.

Tue Sep 05 02:27:36 BST 2006  Olly Betts <olly@survex.com>

	* docs/queryparser.html,queryparser/queryparser.lemony,
	  tests/queryparsertest.cc: Allow a distance to be specified
	  for NEAR - e.g. "cats NEAR/3 dogs" (bug#92).

Fri Sep 01 00:29:10 BST 2006  Olly Betts <olly@survex.com>

	* backends/remote/remote-database.cc,common/remote-database.h:
	  Fix RemoteDatabase::reopen() to not be const so it actually
	  overrides the virtual method it is supposed to.

Thu Aug 31 21:40:53 BST 2006  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.h: Remove unneeded BackendManager::
	  qualifications.

Thu Aug 31 17:08:16 BST 2006  Olly Betts <olly@survex.com>

	* matcher/msetpostlist.cc,matcher/msetpostlist.h: Move #include
	  "omenquireinternal.h" into the header to fix compilation error
	  with older versions of GCC.

Thu Aug 31 16:38:33 BST 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Added success report for Nexenta (alpha 5).

Wed Aug 30 23:41:08 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Fix generation of version.h to work with Solaris sed.

Sat Aug 26 15:28:22 BST 2006  Olly Betts <olly@survex.com>

	* docs/index.html: Add links to the wiki.

Sun Jul 16 03:48:26 BST 2006  Olly Betts <olly@survex.com>

	* common/Makefile.am: Ship remoteprotocol.h.

Sun Jul 16 02:23:54 BST 2006  Olly Betts <olly@survex.com>

	* common/remote-database.h: Add new file I missed in the previous
	  commit.

Sun Jul 16 01:58:25 BST 2006  Olly Betts <olly@survex.com>

	* Makefile.am,api/,backends/Makefile.am,backends/database.cc,
	  backends/dbfactory_remote.cc,backends/flint/flint_database.cc,
	  backends/flint/flint_termlist.cc,backends/flint/flint_termlist.h,
	  backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_database.h,
	  backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
	  backends/net/,backends/quartz/quartz_termlist.cc,
	  backends/quartz/quartz_termlist.h,backends/remote/,bin/Makefile.am,
	  bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/,configure.ac,
	  docs/remote_protocol.html,include/xapian/,matcher/,net/,tests/,
	  testsuite/backendmanager.cc,testsuite/backendmanager.h: Rewrite
	  most of the remote backend.  It now supports most operations
	  which a local database does (including writing!), the protocol
	  used is more compact, and a number of layers of classes have
	  been eliminated and the sequences of method calls simplified, so the
	  code should be easier to understand and maintain despite doing more.
	  A number of bugs have been fixed in the process.

Sat Jul 15 05:10:38 BST 2006  Olly Betts <olly@survex.com>

	* tests/api_nodb.cc: Doesn't need <iostream>.

Sat Jul 15 01:06:27 BST 2006  Olly Betts <olly@survex.com>

	* README: Add link to the wiki.  Tweak wording.

Fri Jul 14 15:21:39 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Note in error message that dot is in graphviz.

Fri Jul 14 15:17:36 BST 2006  Olly Betts <olly@survex.com>

	* docs/overview.html: Add discussion of uses of terms vs values.

Fri Jul 14 15:01:04 BST 2006  Olly Betts <olly@survex.com>

	* docs/overview.html: Rewrite the section on Xapian::Document to
	  remove some very out-of-date information and make it clearer.

Tue Jul 11 18:41:07 BST 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony: Fix problem I believe was introduced
	  by previous fix.
	* tests/queryparsertest.cc: Add regression test and some additional
	  related test cases.

Tue Jul 11 03:32:48 BST 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony: Fix bug in how we handle prefixed
	  quoted phrases and prefixed brackets.
	* tests/queryparsertest.cc: Add regression tests.

Mon Jul 10 23:17:58 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/database.h: Note that automatically allocated
	  document IDs don't reuse IDs from deleted document.

Wed Jul 05 01:06:35 BST 2006  Olly Betts <olly@survex.com>

	* tests/api_wrdb.cc: Tweak whitespace.

Mon Jun 26 23:56:02 BST 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Added success reports for MSVC and sparc linux.

Sat Jun 17 02:01:35 BST 2006  Olly Betts <olly@survex.com>

	* Makefile.am,tests/Makefile.am: Tweak new check-* rules to be more
	  portable and robust.

Sun Jun 11 23:29:48 BST 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix parsing
	  of loved and hated prefixed phrases and bracketted expressions.  Fix
	  handling of stopwords in boolean expressions.  Don't ignore a
	  stopword if it's the only query term.  Add regression tests for all
	  these cases.

Fri Jun 09 15:21:07 BST 2006  Olly Betts <olly@survex.com>

	* docs/queryparser.html: Add pointer to set_database when describing
	  FLAG_WILDCARD.

Fri Jun 09 13:51:03 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h: Add note that FLAG_WILDCARD requires
	  you to call set_database.

Fri Jun 09 13:49:34 BST 2006  Olly Betts <olly@survex.com>

	* api/omqueryinternal.cc: Don't compile query serialisation if the
	  remote backend is disabled.

Fri Jun 09 01:48:25 BST 2006  Olly Betts <olly@survex.com>

	* api/omdocument.cc,tests/api_nodb.cc: add_value failed to replace an
	  existing value with the same number, contrary to what the
	  documentation says (bug #82).

Thu Jun 08 21:36:54 BST 2006  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Don't fetch the document data when fetching
	  the value to sort on.  Simple benchmarking showed this to speed
	  up sort by value by a factor of between 3 and 9!

Sun Jun 04 17:36:01 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/: Remove forced flush when iterating the posting list
	  of a term which has modified posting pending.

Sat Jun 03 21:38:43 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_database.cc,backends/flint/flint_termlist.cc,
	  backends/quartz/quartz_database.cc,tests/api_wrdb.cc: We can't flush
	  during a transaction, which means that we can't use flush to avoid
	  having to handle corner cases (like deleting a document right after
	  adding it before it's been flushed) so handle corner cases properly
	  (except for postlist_begin() and allterms_begin() which are
	  harder - these now throw UnimplementedError at least...)
	* backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
	  replace_document(did, doc) was double-incrementing the "changes"
	  counter when document did didn't exist - fixed.

Sat Jun 03 17:53:41 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Document "make check-flint" and "make check-quartz".

Sat Jun 03 17:49:25 BST 2006  Olly Betts <olly@survex.com>

	* Makefile.am,tests/Makefile.am: Added make targets "check-flint" and
	  "check-quartz" which run the subset of tests which test the flint
	  and quartz backends respectively.

Sat Jun 03 04:03:00 BST 2006  Olly Betts <olly@survex.com>

	* api/omdatabase.cc,backends/database.cc,
	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
	  backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_database.h,backends/quartz/dir_contents,
	  backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
	  common/database.h,include/xapian/database.h,tests/apitest.cc:
	  Rework transactions to support "unflushed" transactions, and so
	  they work with quartz as well as with flint.

Sat Jun 03 03:18:22 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Document "make check-remote".

Sat Jun 03 00:23:46 BST 2006  Olly Betts <olly@survex.com>

	* backends/database.cc,backends/flint/dir_contents,
	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
	  backends/quartz/dir_contents,common/database.h,
	  include/xapian/database.h,tests/: Implement transactions for
	  flint.

Sat Jun 03 00:14:37 BST 2006  Olly Betts <olly@survex.com>

	* tests/apitest.cc: Run tests on flint if flint is enabled, rather
	  than if quartz is enabled.

Sun May 28 23:01:45 BST 2006  Olly Betts <olly@survex.com>

	* common/omtime.h: Add operator+ and operator+= with argument of
	  type Xapian::timeout.

Sun May 28 22:02:30 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/errorhandler.h: Fix typos in private assignment
	  operator and copy ctor (Error -> ErrorHandler!)

Sun May 28 21:54:05 BST 2006  Olly Betts <olly@survex.com>

	* Makefile.am,tests/Makefile.am: Add "check-remote" target which runs
	  the subset of tests which test the remote backend.

Thu May 25 16:06:06 BST 2006  Olly Betts <olly@survex.com>

	* api/omdatabase.cc,backends/database.cc,common/database.h:
	  Merge Xapian::Internal::open_database() into the Xapian::Database
	  ctor which calls it; merge Xapian::Internal::open_writable_database()
	  into the Xapian::WritableDatabase ctor which calls it.

Wed May 24 08:28:40 BST 2006  Olly Betts <olly@survex.com>

	* net/socketserver.cc: OmLineBuf -> OmSocketLineBuf.

Wed May 24 08:27:22 BST 2006  Olly Betts <olly@survex.com>

	* common/socketserver.h: OmLineBuf -> OmSocketLineBuf.

Wed May 24 07:50:51 BST 2006  Olly Betts <olly@survex.com>

	* common/Makefile.am,common/omlinebuf.h,common/socketcommon.h,
	  net/Makefile.am,net/omlinebuf.cc,net/socketcommon.cc:
	  Merge OmLineBuf into OmSocketLineBuf.
	* common/Makefile.am: Fix netutils.cc to be conditionally included
	  when the remote backend is enabled, not the quartz backend!

Tue May 23 18:59:09 BST 2006  Olly Betts <olly@survex.com>

	* api/Makefile.am,api/errorhandler.cc,api/omerror.cc,
	  include/xapian/error.h,include/xapian/errorhandler.h:
	  Redo the Xapian::Error and Xapian::ErrorHandler classes.
	  The new versions have better, clearer documentation comments
	  and are cleaner internally.
	* include/xapian/error.h: Add hook to allow SWIG bindings to
	  be built using GCC's visibility support.

Tue May 23 10:08:02 BST 2006  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Remove superfluous '#include <autoptr.h>'.

Tue May 23 09:42:52 BST 2006  Olly Betts <olly@survex.com>

	* backends/Makefile.am,backends/database.cc,
	  backends/dbfactory_remote.cc,backends/net/net_database.cc,
	  backends/net/net_termlist.cc,backends/net/net_termlist.h,common/,
	  include/xapian/dbfactory.h,matcher/,net/socketclient.cc,
	  net/socketcommon.cc: Eliminate the NetClient class by merging
	  it into NetDatabase.

Mon May 22 08:51:16 BST 2006  Olly Betts <olly@survex.com>

	* common/omtime.h: Fix OmTime::operator> which failed to return false
	  if the seconds were strictly less but the microsecond fraction was
	  more.

Sun May 21 11:53:29 BST 2006  Olly Betts <olly@survex.com>

	* Makefile.am,bin/Makefile.am,docs/Makefile.am,examples/Makefile.am:
	  Make use of the dist_ prefix to avoid having to list files in
	  EXTRA_DIST as well as in *_DATA and man_MANS.

Sun May 21 05:55:00 BST 2006  Olly Betts <olly@survex.com>

	* api/dir_contents,getopt/dir_contents,queryparser/dir_contents:
	  Add missing dir_contents files.

Sun May 21 05:45:44 BST 2006  Olly Betts <olly@survex.com>

	* tests/remotetest.cc: Remove unnecessary "#include <sys/wait.h>".

Sat May 20 11:02:43 BST 2006  Olly Betts <olly@survex.com>

	* docs/Makefile.am: doxygen_api_conf and doxygen_full_conf are
	  generated, so aren't in srcdir!

Sat May 20 10:14:52 BST 2006  Olly Betts <olly@survex.com>

	* docs/Makefile.am: automake adds suitable rules for rebuilding
	  doxygen_api_conf and doxygen_source_conf, so remove our less
	  accurate versions.

Fri May 19 14:43:47 BST 2006  Olly Betts <olly@survex.com>

	* docs/Makefile.am,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
	  Remove "XAPIAN_DEPRECATED" from generated documentation.
	* docs/Makefile.am: Fix dependencies for regenerating the doxygen
	  documentation.

Fri May 19 08:12:51 BST 2006  Olly Betts <olly@survex.com>

	* docs/scalability.html: quartzcompact and xapian-compact now allow
	  you to set the blocksize, so there's no need to use copydatabase
	  if you want to migrate a database to a larger blocksize.  Mention
	  gmane.  Other minor tweaks.

Fri May 19 07:52:23 BST 2006  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Add --blocksize option to allow the blocksize
	  to be set (default is 8K as before.)

Fri May 19 07:47:13 BST 2006  Olly Betts <olly@survex.com>

	* bin/xapian-compact.cc: Add --blocksize option to allow the blocksize
	  to be set (default is 8K as before.)

Thu May 18 11:24:17 BST 2006  Olly Betts <olly@survex.com>

	* api/vectortermlist.h: Whitespace tweak.

Tue May 16 10:09:53 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Update details of the debian stable backport version
	  numbering scheme.

Tue May 16 06:55:14 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Remove unused variable from snprintf testing code.

Tue May 16 04:32:34 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Expand on the debian package building checklist.

Tue May 16 04:32:07 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Note that "set_sort_by_relevance" is the
	  default setting.

Mon May 15 06:59:01 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Update debian package building checklist.

Mon May 15 03:53:53 BST 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Update one more result before the actual release.

Mon May 15 02:15:18 BST 2006  Olly Betts <olly@survex.com>

	* NEWS,configure.ac: Updated for 0.9.6.

Mon May 15 01:35:33 BST 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated in preparation for the next release.

Sun May 14 19:05:37 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_lock.h: Added workaround for newlib header bug.

Sat May 13 07:04:14 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Fix snprintf tests.

Sat May 13 04:52:53 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Tweak version.h generation to cope with CXXCPP putting
	  carriage returns into its output as can happen on cygwin.

Fri May 12 21:49:33 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Update with the libtool patches we're now using.

Fri May 12 21:43:02 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/version_h.cc: Trim trailing whitespace.

Fri May 12 20:43:47 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac,include/xapian/version_h.cc: Replace @@ with " instead
	  of @, so we can write @deprecated.  Fix more compilation problems.

Fri May 12 19:00:08 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/version_h.cc: Fix compilation problem.

Fri May 12 01:19:14 BST 2006  Olly Betts <olly@survex.com>

	* api/version.cc,include/xapian/version_h.cc: Rename
	  Xapian::xapian_version_string() and companions to
	  Xapian::version_string().  Keep the old functions as aliases
	  which are marked as deprecated.

Wed May 10 18:25:59 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Remove bogus documentation for a
	  parameter which doesn't exist.

Tue May 09 19:17:23 BST 2006  Olly Betts <olly@survex.com>

	* bin/Makefile.am: Remove trailing whitespace.
	* bin/xapian-compact.cc: Fix renaming of "iamflint.tmp" for MS Windows
	  where you can't rename an open file.

Tue May 09 15:57:26 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Fix reversed conditional in test for snprintf (which
	  affects cygwin).

Mon May 01 21:49:46 BST 2006  Olly Betts <olly@survex.com>

	* tests/queryparsertest.cc: Add another prefix testcase to improve
	  coverage.

Sat Apr 29 20:16:46 BST 2006  Olly Betts <olly@survex.com>

	* docs/remote_protocol.html: Document keep-alive messages.

Thu Apr 13 14:49:48 BST 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Add rules
	  to handle a boolean filter with a "+" in front (such as
	  +site:xapian.org).

Wed Apr 12 18:42:31 BST 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: More updates for 0.9.5.

Tue Apr 11 19:56:16 BST 2006  Olly Betts <olly@survex.com>

	* matcher/Makefile.am: Need to add "-I${top_builddir}/include" to
	  INCLUDES so that xapian/version.h is found.

Tue Apr 11 19:24:59 BST 2006  Olly Betts <olly@survex.com>

	* backends/database.cc,configure.ac,include/xapian/version_h.cc,
	  matcher/multimatch.cc,matcher/stats.cc,tests/apitest.cc,
	  testsuite/backendmanager.cc,testsuite/backendmanager.h:
	  Eliminate XAPIAN_BUILD_BACKEND_* from config.h and just use
	  XAPIAN_HAS_*_BACKEND from xapian/version.h instead.

Tue Apr 11 18:32:52 BST 2006  Olly Betts <olly@survex.com>

	* include/Makefile.am: Add xapian/version.h.timestamp as a dependency
	  on all-local so that xapian/version.h actually gets regenerated
	  when required.

Tue Apr 11 17:52:24 BST 2006  Olly Betts <olly@survex.com>

	* api/omenquire.cc,backends/flint/flint_btreebase.cc,
	  backends/quartz/btree_base.cc,common/utils.h,configure.ac:
	  Disable MSVC warning 4800 (on int to bool conversions) in config.h
	  and then we can remove the "fixes" elsewhere.

Tue Apr 11 16:28:01 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: Simpler check for VALGRIND being set to empty value.

Tue Apr 11 01:04:32 BST 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Add a summary.

Tue Apr 11 00:45:55 BST 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Updates from boxes which were down when I did the
	  release.

Mon Apr 10 17:06:46 BST 2006  Olly Betts <olly@survex.com>

	* api/omenquire.cc,backends/flint/flint_btreebase.cc,
	  backends/flint/flint_utils.h,backends/quartz/btree_base.cc,
	  backends/quartz/quartz_utils.h,common/omassert.h:
	  Fix more MSVC7 warnings (I spoke too soon).

Mon Apr 10 15:56:52 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/query.h: Another MSVC7 warning fix.  Should be free
	  of warnings now.

Mon Apr 10 14:46:34 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_database.cc,backends/flint/flint_utils.h,
	  backends/quartz/quartz_utils.h,bin/quartzcompact.cc,
	  bin/xapian-compact.cc,common/omdebug.h,common/utils.h,
	  include/xapian/query.h,languages/header.h,matcher/multimatch.cc:
	  Fix assorted MSVC7 warnings.

Sun Apr 09 04:56:09 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: Expand on details of what's required when changing Xapian
	  (discuss documentation requirements, expand on why feature tests
	  are vital).
	* HACKING: Update section on building debian packages.

Sat Apr 08 20:02:19 BST 2006  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.ac: Updated for 0.9.5.

Fri Apr 07 23:53:08 BST 2006  Olly Betts <olly@survex.com>

	* tests/api_anydb.cc,tests/api_db.cc,tests/btreetest.cc: Correct
	  spelling of "existant" to "existent".

Fri Apr 07 19:13:24 BST 2006  Olly Betts <olly@survex.com>

	* configure.ac: We don't use strcasecmp, so don't probe for it.

Fri Apr 07 18:30:40 BST 2006  Olly Betts <olly@survex.com>

	* common/utils.h: Fixes for MSVC7 compilation.

Fri Apr 07 17:19:43 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Fixes for
	  MSVC compilation.

Fri Apr 07 16:04:08 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_cursor.h: Fix incorrect example code in
	  documentation comment.
	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
	  Remove unused method FlintTable::find_key().

Fri Apr 07 16:02:40 BST 2006  Olly Betts <olly@survex.com>

	* AUTHORS: Updated.

Fri Apr 07 15:58:31 BST 2006  Olly Betts <olly@survex.com>

	* debian/control.in: copydatabase and xapian-compact are packaged
	  in xapian-tools, so add them to the documented list of tools
	  included.

Fri Apr 07 15:12:43 BST 2006  Olly Betts <olly@survex.com>

	* net/tcpserver.cc: Set xapian-tcpsrv to allow 5 connections in the
	  listen queue instead of just one.

Fri Apr 07 13:28:15 BST 2006  Olly Betts <olly@survex.com>

	* tests/remotetest.cc: Check mset size in tcpmatch1.

Fri Apr 07 01:26:03 BST 2006  Olly Betts <olly@survex.com>

	* xapian.spec.in: Man pages may be gzipped.

Thu Apr 06 14:41:29 BST 2006  Olly Betts <olly@survex.com>

	* HACKING: aclocal is part of automake, not autoconf.

Thu Apr 06 01:29:21 BST 2006  Olly Betts <olly@survex.com>

	* bin/,examples/copydatabase.cc,examples/delve.cc,examples/quest.cc:
	  In the "--help" output, add "Options:" before the list of options.

Thu Apr 06 01:11:31 BST 2006  Olly Betts <olly@survex.com>

	* xapian-config.in: Tweak to improve help2man output.

Wed Apr 05 16:26:15 BST 2006  Fabrice Colin

	* xapian.spec.in: Package man pages.

Wed Apr 05 16:23:49 BST 2006  Olly Betts <olly@survex.com>

	* Makefile.am,bin/Makefile.am,examples/Makefile.am: Include generated
	  man pages in the distribution tarball.

Wed Apr 05 02:48:27 BST 2006  Olly Betts <olly@survex.com>

	* debian/TODO: Updated.

Wed Apr 05 02:44:15 BST 2006  Olly Betts <olly@survex.com>

	* ./,examples: svn:ignore man pages.

Wed Apr 05 02:43:08 BST 2006  Olly Betts <olly@survex.com>

	* bin/Makefile.am,examples/Makefile.am: No need to make man pages
	  depend on config.h, since the binaries will already.

Wed Apr 05 02:42:42 BST 2006  Olly Betts <olly@survex.com>

	* Makefile.am: Generate man page for xapian-config.

Wed Apr 05 00:59:53 BST 2006  Olly Betts <olly@survex.com>

	* examples/Makefile.am: Use help2man to generate manpages for the
	  installed binaries in examples.

Wed Apr 05 00:56:11 BST 2006  Olly Betts <olly@survex.com>

	* bin/omtcpsrv.cc: Rename to bin/xapian-tcpsrv.cc.
	* bin/omprogsrv.cc: Rename to bin/xapian-progsrv.cc.
	* HACKING,bin/Makefile.am,configure.ac: Use help2man to generate
	  manpages for the installed binaries in bin.

Tue Apr 04 16:44:54 BST 2006  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Note example of BM25Weight parameters
	  which make set_sort_by_relevance_then_value useful.

Tue Apr 04 16:35:58 BST 2006  Olly Betts <olly@survex.com>

	* api/omenquire.cc,include/xapian/enquire.h,matcher/,tests/api_db.cc:
	  Implement Enquire::set_sort_by_relevance_then_value().

Tue Apr 04 01:05:41 BST 2006  Olly Betts <olly@survex.com>

	* common/omenquireinternal.h: sort_key no longer needs to be mutable
	  now that MSetSortCmp has been removed.

Mon Apr 03 02:03:12 BST 2006  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Removed dead code (class MSetSortCmp).

Sun Apr 02 16:37:38 BST 2006  Olly Betts <olly@survex.com>

	* net/tcpserver.cc: Don't perform a name lookup on the IP address
	  which an incoming connection is from as that could easily slow
	  down the search response - instead just print the IP address itself
	  if output is verbose.

Sun Apr 02 13:28:31 BST 2006  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/,docs/remote_protocol.html,
	  matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h,
	  net/socketclient.cc,net/socketserver.cc: Change bool
	  sort_by_relevance to enum sort_by in preparation for adding
	  "sort_by_relevance_then_value".

Fri Mar 31 22:32:16 BST 2006  Olly Betts <olly@survex.com>

	* examples/copydatabase.cc,examples/quest.cc: Add --help and --version
	  options.
	* examples/delve.cc: Tidy up output from --help and --version options.

Fri Mar 31 19:01:25 BST 2006  Olly Betts <olly@survex.com>

	* bin/quartzcheck.cc: Fix SEGV when run with no arguments (introduced
	  by last change).

Fri Mar 31 17:57:27 BST 2006  Olly Betts <olly@survex.com>

	* bin/quartzcheck.cc: Add --version option.  Tidy up output from
	  --help.

Fri Mar 31 17:43:25 BST 2006  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Include --help and --version in --help output.
	* bin/quartzdump.cc: Add --help and --version options.  Terminate list
	  of long options so that "quartzdump --foo" no longer segfaults.

Fri Mar 31 17:27:09 BST 2006  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Tweak --help and --version output for
	  consistency with other binaries.  Terminate list of long options so
	  that "quartzcompact --foo" no longer segfaults.

Fri Mar 31 16:47:02 BST 2006  Olly Betts <olly@survex.com>

	* bin/omtcpsrv.cc: Make OPT_HELP and OPT_VERSION positive numbers.
	  Only give synopsis line for --help, not for syntax error.
	* bin/xapian-compact.cc: List --help and --version in --help output.
	  Terminate list of long options so that "xapian-compact --foo" no
	  longer segfaults.

Fri Mar 31 16:20:24 BST 2006  Olly Betts <olly@survex.com>

	* bin/omtcpsrv.cc: Added --help and --version options.

Thu Mar 30 11:51:21 BST 2006  Philip Neustrom

	* docs/remote_protocol.html: Document messages for requesting and
	  sending a termlist and a document.

Wed Mar 29 19:39:05 BST 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_termlist.cc,backends/quartz/quartz_termlist.cc:
	  Add missing spaces in debug output.

Fri Mar 17 09:22:54 GMT 2006  Olly Betts <olly@survex.com>

	* api/vectortermlist.h,backends/net/net_termlist.cc,
	  backends/net/net_termlist.h,common/alltermslist.h,common/termlist.h,
	  matcher/branchtermlist.h: Make TermList::positionlist_begin() pure
	  virtual and put dummy implementations in BranchTermList and other
	  subclasses which can't (or don't) implement it.  This makes it
	  hard to accidentally fail to implement it in a backend's TermList
	  subclass.
	* backends/net/net_termlist.h: positionlist_begin() now throws
	  UnimplementedError instead of InvalidOperationError.

Fri Mar 17 08:46:52 GMT 2006  Olly Betts <olly@survex.com>

	* api/omdatabase.cc: There's no need for the MultiTermList wrapper in
	  the common case where we're only dealing with a single database.

Fri Mar 17 07:54:54 GMT 2006  Olly Betts <olly@survex.com>

	* backends/net/net_termlist.h: Remove unused "positions" member.

Fri Mar 17 07:07:57 GMT 2006  Olly Betts <olly@survex.com>

	* backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
	  tests/api_posdb.cc: Fix TermIterator::positionlist_begin() to work
	  on TermIterator from Database::termlist_begin().

Fri Mar 17 03:47:04 GMT 2006  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Fix "unused parameter" warning from
	  previous change.

Thu Mar 16 05:20:16 GMT 2006  Olly Betts <olly@survex.com>

	* api/omenquire.cc,include/xapian/enquire.h:  Move
	  Enquire::get_matching_terms_end() inline in header.

Thu Mar 16 04:28:20 GMT 2006  Olly Betts <olly@survex.com>

	* api/omdocument.cc,configure.ac,include/xapian/document.h: Move
	  Document::termlist_end() inline in header.

Fri Mar 10 04:55:57 GMT 2006  Olly Betts <olly@survex.com>

	* INSTALL: Improve wording.

Fri Mar 10 04:49:09 GMT 2006  Olly Betts <olly@survex.com>

	* backends/quartz/bcursor.h: Fix incorrect method name in
	  documentation comment.

Fri Mar 10 04:39:45 GMT 2006  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Btree::find_key()
	  is unused so remove it.

Fri Mar 10 04:29:46 GMT 2006  Olly Betts <olly@survex.com>

	* HACKING: Note that we now use a lightly patched version of libtool
	  1.5.22.

Fri Mar 10 02:55:48 GMT 2006  Olly Betts <olly@survex.com>

	* docs/overview.html: Bring up to date.

Wed Mar 08 02:32:49 GMT 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony: Fix FLAG_BOOLEAN_ANY_CASE to really
	  allow any case combination - previously it only allowed all
	  uppercase or all lowercase.
	* tests/queryparsertest.cc: Add feature and regression tests for
	  FLAG_BOOLEAN_ANY_CASE.
	* tests/queryparsertest.cc: Rename test cases to more descriptive
	  names.

Tue Mar 07 19:59:54 GMT 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony,tests/queryparsertest.cc:
	  Fix QueryParser's handling of terms with trailing "#", "+",
	  or "-" when set_database has been called and the term doesn't
	  exist in the database with the suffix.

Tue Feb 21 21:14:22 GMT 2006  Olly Betts <olly@survex.com>

	* include/xapian/deprecated.h: Allow xapian-bindings to override
	  deprecation warnings.

Tue Feb 21 17:55:17 GMT 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_database.cc: Note that "flicklock" should be
	  "flintlock"!

Tue Feb 21 14:13:08 GMT 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated.

Tue Feb 21 14:12:47 GMT 2006  Olly Betts <olly@survex.com>

	* HACKING: Update the "how to do a release" list.

Tue Feb 21 00:17:40 GMT 2006  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.ac: Updated for 0.9.4.

Mon Feb 20 21:15:46 GMT 2006  Olly Betts <olly@survex.com>

	* api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
	  queryparser/queryparser.cc: GCC 3.2 actually doesn't like
	  __attribute__((deprecated)) on method definitions, so just
	  put declarations of deprecated methods in the headers, and
	  move definitions into the library.

Mon Feb 20 16:04:33 GMT 2006  Olly Betts <olly@survex.com>

	* tests/api_anydb.cc,tests/api_db.cc,tests/api_nodb.cc: Update uses
	  of deprecated methods and functions.

Mon Feb 20 15:47:31 GMT 2006  Olly Betts <olly@survex.com>

	* include/xapian/document.h: __attribute__((deprecated)) doesn't
	  work on method definitions with default parameters on GCC 3.2
	  so fix header to overload instead.

Mon Feb 20 13:44:14 GMT 2006  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Add documentation comment for
	  Enquire::set_sort_by_value_then_relevance().

Sun Feb 19 23:18:09 GMT 2006  Olly Betts <olly@survex.com>

	* include/Makefile.am,include/xapian/: Flag deprecated methods such
	  that the compiler gives a warning, for compilers which support
	  such a feature.

Sun Feb 19 22:58:55 GMT 2006  Olly Betts <olly@survex.com>

	* COPYING: Update second occurrence of old FSF address.

Sun Feb 19 22:46:49 GMT 2006  Olly Betts <olly@survex.com>

	* README: Add pointer to HACKING.  Change "CVS access" to "SVN
	  access".

Sun Feb 19 01:46:00 GMT 2006  Olly Betts <olly@survex.com>

	* api/version.cc: Correct typo in name of function xapian_revision().

Thu Feb 16 10:23:59 GMT 2006  Olly Betts <olly@survex.com>

	* xapian-config.in: Oops, fix previous fix (I'd pasted the substituted
	  result from testing the patch...)

Thu Feb 16 10:16:31 GMT 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated from tinderbox.

Thu Feb 16 10:15:51 GMT 2006  Olly Betts <olly@survex.com>

	* xapian-config.in: Need to set exec_prefix and prefix at top of
	  script as they're used by various @SUBSTITUTIONS@.

Thu Feb 16 00:09:34 GMT 2006  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.ac: Updated for 0.9.3.

Wed Feb 15 21:58:23 GMT 2006  Olly Betts <olly@survex.com>

	* xapian-config.in: Fix option loop to work on shells other than bash.

Wed Feb 15 21:38:38 GMT 2006  Olly Betts <olly@survex.com>

	* include/xapian/database.h: Tweak wording of a documentation comment.

Wed Feb 15 21:34:55 GMT 2006  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h: Fix documentation comments for the
	  values of QueryParser::feature_flag so doxygen actually pulls out
	  the documentation for them.  Add documentation for the parameters
	  of QueryParser::parse_query().

Wed Feb 15 21:26:48 GMT 2006  Olly Betts <olly@survex.com>

	* bin/quartzcheck.cc: If the database is too broken to open, emit a
	  warning message and bump the error count.

Wed Feb 15 21:23:38 GMT 2006  Olly Betts <olly@survex.com>

	* docs/queryparser.html: Document right-truncation.

Wed Feb 15 21:08:37 GMT 2006  Olly Betts <olly@survex.com>

	* xapian-config.in: Fixed to output usage correctly if no arguments
	  are specified.

Mon Feb 13 17:43:08 GMT 2006  Olly Betts <olly@survex.com>

	* xapian-config.in: Expand dependency_libs recursively.  It's not
	  *that* hard, and we're just storing up problems for the future
	  by ignoring the issue.

Mon Feb 13 16:57:36 GMT 2006  Olly Betts <olly@survex.com>

	* HACKING: Devlopers also need makeindex installed for documentation
	  building.  Note that dvips and makeindex are usually packaged with
	  TeX.

Mon Feb 13 15:16:02 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac,xapian-config.in: Some Linux distros have an
	  unhelpful policy of not packaging .la files, and on Linux
	  link_all_deplibs_CXX=no so we don't actually need to link
	  in the dependency_libs.  So use the value of link_all_deplibs_CXX
	  from configure to control whether we link against dependency_libs.
	* xapian-config.in: Factor out common code into shell functions,
	  and tidy up --help output.
	* xapian-config.in: Re entry "Tue May 11 20:55:56 BST 2004": the (C)
	  dates I mined from CVS included a BrightStation (C), but the few
	  fragments of that version which survive are actually from
	  glib-config (or one of the myriad of *-config scripts which look
	  very like it), and are just standard Bourne shell idioms anyway.

Mon Feb 13 13:59:02 GMT 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: td174 is gone.
	* PLATFORMS: Compaq C++ 7.1 seems to have better template support
	  (but fails to link binaries).

Mon Feb 13 12:22:23 GMT 2006  Olly Betts <olly@survex.com>

	* HACKING,testsuite/testsuite.cc: XAPIAN_TESTSUITE_PLAIN_OUTPUT
	  -> XAPIAN_TESTSUITE_OUTPUT=plain.

Sun Feb 12 18:29:55 GMT 2006  Olly Betts <olly@survex.com>

	* backends/database.cc,tests/api_nodb.cc: Trying to open a database
	  for reading which doesn't exist now fails with DatabaseOpeningError
	  instead of FeatureUnavailableError.  Added regression test
	  nosuchdb1.

Thu Feb 09 10:48:10 GMT 2006  Olly Betts <olly@survex.com>

	* net/socketserver.cc: Add missing '#include <iostream>'
	  when TIMING_PATCH is defined.

Wed Feb 08 08:22:09 GMT 2006  Olly Betts <olly@survex.com>

	* HACKING: Now use libtool 1.5.22 for generating snapshots and
	  releases (includes a number of bug-fixes).
	* HACKING,docs/doxygen_api_header.html_tmpl,
	  docs/doxygen_full_header.html_tmpl: Now use doxygen 1.4.6 for
	  generating snapshots and releases (nicer output).
	* docs/doxygen_full_header.html_tmpl: Title "Internal Source
	  Documentation" rather than "Full source documentation".

Sun Feb 05 06:19:29 GMT 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony,tests/queryparsertest.cc: The
	  QueryParser now recognises "AND NOT" as a synonym for "NOT".

Mon Jan 16 18:19:26 GMT 2006  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_utils.h: Fix compiler warning.

Mon Jan 16 18:17:27 GMT 2006  Olly Betts <olly@survex.com>

	* HACKING,backends/flint/,backends/muscat36/,backends/quartz/,
	  bin/quartzcompact.cc,bin/xapian-compact.cc,common/Makefile.am,
	  common/safeerrno.h,net/,tests/btreetest.cc,tests/quartztest.cc,
	  testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
	  a cleaner workaround for Compaq C++'s <errno.h> oddity.

Mon Jan 16 17:18:56 GMT 2006  Olly Betts <olly@survex.com>

	* common/safewindows.h: Fix typo in file description.

Mon Jan 16 13:29:48 GMT 2006  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Reverse order of errno includes
	  which seems to make Compaq's C++ compiler happier.

Sun Jan 15 23:52:01 GMT 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_database.cc,backends/flint/flint_table.cc,
	  backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
	  backends/quartz/quartz_log.cc,configure.ac,net/socketcommon.cc,
	  net/tcpclient.cc,testsuite/backendmanager.cc: Compaq C++ requires
	  sys/errno.h to get ENOENT and most other EXXX codes defined.

Sun Jan 15 23:41:15 GMT 2006  Olly Betts <olly@survex.com>

	* bin/xapian-compact.cc: Initialise 2 variables to avoid compiler
	  warnings.

Sun Jan 15 23:38:11 GMT 2006  Olly Betts <olly@survex.com>

	* xapian-config.in: If libxapian.la's dependency_libs contains
	  another .la file, crudely transform to a pair of -L and -l
	  options.  Ideally we should recursively pull in dependency_libs
	  from that .la file, but that's too hard to do in sh.

Sun Jan 15 21:43:26 GMT 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony,queryparser/queryparser.lt:
	  Eliminate ParseAlloc's mallocProc parameter and ParseFree's freeProc
	  parameter - we always pass malloc and free, and get warnings from
	  some compilers because we're passing a C-linkage function for a
	  C++-linkage function pointer.
	* testsuite/testsuite.cc,testsuite/testsuite.h: Fix functions
	  registered as signal handlers and pass to atexit to have C linkage.

Sun Jan 15 14:49:45 GMT 2006  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_log.cc: #include <string.h> for strerror.

Sun Jan 15 04:36:49 GMT 2006  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h,queryparser/queryparser.cc:
	  Add Stopper::get_description() and SimpleStopper::get_description().

Sat Jan 14 21:43:32 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: Fix backwards logic in snprintf configure test.
	  Also define SNPRINTF_ISO to be an snprintf with ISO C90 semantics
	  for the return value (if one exists), with SNPRINTF being defined
	  to any snprintf which at least performs truncation (which in many
	  cases is sufficient).

Sat Jan 14 04:47:33 GMT 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lt: Fix aCC warnings.

Sat Jan 14 04:47:00 GMT 2006  Olly Betts <olly@survex.com>

	* common/utils.h: Fix aCC warning.

Fri Jan 13 18:25:04 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: Turn on more warnings for aCC; suppress existing
	  warning ("Entire translation unit was empty") since it's not
	  useful to us.

Fri Jan 13 03:22:26 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: The configure test for snprintf uses memcmp, so
	  we need to "#include <string.h>" for it to work reliably.

Wed Jan 11 03:14:30 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: If not cross-compiling, try to actually run a test
	  program built with the C++ compiler, not just link one.

Wed Jan 11 03:06:28 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: Note the library version info which 0.9.3 will
	  probably need.

Tue Jan 10 22:41:36 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: Fix to actually skip the check for valgrind if
	  VALGRIND is set to an empty value.

Tue Jan 10 01:08:10 GMT 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Updates from the tinderbox.

Mon Jan 09 01:35:57 GMT 2006  Olly Betts <olly@survex.com>

	* backends/muscat36/io_system.cc,bin/xapian-compact.cc,
	  common/omdebug.cc: More sprintf tweaks.

Mon Jan 09 00:58:33 GMT 2006  Olly Betts <olly@survex.com>

	* bin/xapian-compact.cc: Use snprintf if we have it.

Sun Jan 08 03:51:52 GMT 2006  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc: Fix conditional compilation of
	  flint backend to use XAPIAN_BUILD_BACKEND_FLINT instead
	  of XAPIAN_BUILD_BACKEND_QUARTZ.

Sun Jan 08 02:11:30 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: Disable flint backend by default if building for
	  djgpp or msdos.

Sun Jan 08 02:09:48 GMT 2006  Olly Betts <olly@survex.com>

	* backends/flint/flint_lock.cc: Cast NULL to (void*) to avoid
	  "missing sentinel" warning from GCC4.

Sat Jan 07 19:09:33 GMT 2006  Olly Betts <olly@survex.com>

	* HACKING,docs/tests.html: Merge the "running tests" section of
	  docs/tests.html into the similar section in HACKING, and make
	  docs/tests.html refer the reader to HACKING for more information.
	* HACKING,tests/apitest.cc: Remove OM_TEST_BACKEND.  You can now
	  use the "-b" switch to apitest to control which backend is used
	  so it's pretty much redundant.
	* HACKING,testsuite/testsuite.cc: Rename XAPIAN_SIG_DFL to
	  XAPIAN_TESTSUITE_SIG_DFL.
	* HACKING,testsuite/testsuite.cc: Add XAPIAN_TESTSUITE_PLAIN_OUTPUT
	  to disable use of ANSI escape sequences in test output.

Sat Jan 07 09:13:06 GMT 2006  Olly Betts <olly@survex.com>

	* tests/queryparsertest.cc: Write top-bit set characters using \xXX
	  notation to avoid warnings from Intel's C++ compiler.

Sat Jan 07 07:13:25 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: TYPE_SOCKLEN_T fails hard, so only run it if we've
	  successfully run other socket tests.

Sat Jan 07 05:29:39 GMT 2006  Olly Betts <olly@survex.com>

	* queryparser/accentnormalisingitor.h: #include <limits.h> for
	  CHAR_BIT.

Fri Jan 06 21:24:01 GMT 2006  Olly Betts <olly@survex.com>

	* bin/xapian-compact.cc: Fix printf type mismatch on 64 bit platforms.

Fri Jan 06 18:05:30 GMT 2006  Olly Betts <olly@survex.com>

	* queryparser/queryparser.cc,queryparser/queryparser.lemony,
	  queryparser/queryparser_internal.h: Replace pair<bool, string>
	  with a simple class BoolAndString - the pair results in a
	  4328 byte symbol on HP-UX which gets truncated (to 4000 bytes).

Fri Jan 06 12:55:37 GMT 2006  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated from tinderbox.

Thu Jan 05 16:12:00 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: Oops, remove hack left over from testing.

Thu Jan 05 16:09:06 GMT 2006  Olly Betts <olly@survex.com>

	* configure.ac: Add sanity check for MS Windows that "find" is
	  Unix-like find, not MSDOS-like.

Thu Jan 05 04:27:29 GMT 2006  Olly Betts <olly@survex.com>

	* INSTALL,PLATFORMS,README: Updated.

Mon Dec 19 12:53:38 GMT 2005  Olly Betts <olly@survex.com>

	* AUTHORS,PLATFORMS: Add success report for Fedora Core 4.

Mon Dec 19 12:52:55 GMT 2005  Olly Betts <olly@survex.com>

	* include/xapian/database.h: Improve a couple of documentation
	  comments.

Sun Dec 11 01:33:58 GMT 2005  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony: Fix handling of "+" terms in a query
	  when the default query operator is AND.
	* tests/queryparsertest.cc: Add regression test.

Fri Dec 09 05:54:33 GMT 2005  Olly Betts <olly@survex.com>

	* languages/api.cc: Check for malloc and calloc failing to allocate
	  memory and throw an exception.  Richard has fix this upstream in
	  snowball, so this is a temporary fix until we import a new version
	  of snowball.

Fri Dec 09 02:15:38 GMT 2005  Olly Betts <olly@survex.com>

	* api/omenquire.cc: Added assertions that the internal ptr isn't NULL
	  to ESet::end() and ESet::get_description().

Fri Dec 09 02:14:13 GMT 2005  Olly Betts <olly@survex.com>

	* HACKING: Note platforms valgrind now has solid support for; Improve
	  phrasing in a few places.

Thu Dec 08 23:13:09 GMT 2005  Olly Betts <olly@survex.com>

	* INSTALL: Update URL for stlport to sourceforge site, which seems to
	  be where the action is now.

Thu Dec 08 04:13:11 GMT 2005  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Fix testsuite harness to work with valgrind
	  on 64 bit platforms (it's not documented, but VALGRIND_COUNT_LEAKS
	  requires the count parameters to be 64 bit on such platforms - i.e.
	  long rather than int as we were using).

Tue Nov 01 13:22:50 GMT 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Sourceforge have a ppc64 linux box.  Xapian builds and
	  works out of the box, so add success report for this platform.

Thu Oct 27 09:32:24 BST 2005  Fabrice Colin

	* xapian.spec.in: Invoke %setup correctly.

Sat Oct 01 03:25:50 BST 2005  Olly Betts <olly@survex.com>

	* bin/xapian-compact.cc: Added "--multipass" option to merge postlists
	  in pairs or triples until all are merged.  Generally this is faster
	  than an N-way merge, but it does require more disk space for
	  temporary files so it's not the default.

Fri Sep 30 18:02:32 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Give pointer to replacements for the
	  deprecated Enquire sorting methods.

Wed Sep 28 02:16:03 BST 2005  Olly Betts <olly@survex.com>

	* bin/xapian-compact.cc: Use a vector<string> to store the list of
	  source databases, in preparation for merging multiple postlist
	  tables in more than one pass.

Mon Sep 26 22:22:24 BST 2005  Olly Betts <olly@survex.com>

	* .: svn:ignore docsource.mk.

Mon Sep 26 19:54:15 BST 2005  Olly Betts <olly@survex.com>

	* bin/: svn:ignore xapian-compact.

Mon Sep 26 19:50:13 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_positionlist.cc: Remove trailing whitespace.

Wed Sep 21 01:31:23 BST 2005  Olly Betts <olly@survex.com>

	* api/Makefile.am: Fixed VPATH build which was broken by the addition
	  of version.cc.

Tue Sep 20 23:38:05 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_lock.cc: Don't pass NULL for second parameter
	  of execl().

Tue Sep 20 21:32:04 BST 2005  Olly Betts <olly@survex.com>

	* api/Makefile.am,api/version.cc,include/xapian/version_h.cc: Add 4
	  functions to report version information for the library version
	  being used (which may not be the same as that compiled against
	  if shared libraries are in use):  xapian_version_string(),
	  xapian_major_version(), xapian_minor_version(), xapian_revision().

Sat Sep 17 14:07:32 BST 2005  Richard Boulton <richard@tartarus.org>

	* backends/flint/flint_lock.cc: Pass two NULLs to execl() to avoid
	  getting a warning ("not enough variable arguments to fit a
	  sentinel", observed on Ubuntu breezy powerpc).  Reported by
	  Sidnei da Silva.

Wed Sep 14 23:54:14 BST 2005  Olly Betts <olly@survex.com>

	* HACKING: Now generate snapshots and releases with automake 1.9.6
	  (was 1.9.5) and libtool 1.5.20 (was 1.5.18).

Tue Aug 30 14:01:55 BST 2005  Olly Betts <olly@survex.com>

	* backends/inmemory/inmemory_database.h: Forward declare class
	  InMemoryDatabase to fix compilation with GCC 4.0.1.

Fri Aug 19 12:13:39 BST 2005  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc,backends/flint/flint_postlist.cc:
	  Correct uses of termcount which should be doccount.

Fri Aug 19 11:48:51 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Fix prototype for ESet::operator[] to
	  take parameter of type termcount instead of doccount.

Wed Aug 17 11:50:54 BST 2005  Olly Betts <olly@survex.com>

	* common/safewindows.h: Fix compilation for cygwin.

Tue Aug 16 16:01:36 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_types.h,backends/quartz/quartz_types.h:  Using
	  a double to hold the total document length would be a bad idea as
	  we need to store it exactly so kill FIXME comments that suggest
	  perhaps we should.

Fri Jul 15 11:11:35 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac,NEWS,PLATFORMS: Updated for 0.9.2.

Fri Jul 15 02:31:11 BST 2005  Olly Betts <olly@survex.com>

	* preautoreconf: Change directory to the directory that the
	  preautoreconf script is in before doing anything else.

Fri Jul 15 01:02:29 BST 2005  Olly Betts <olly@survex.com>

	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in,configure.ac:
	  Eliminate TOP_SRCDIR and TOP_BUILDDIR - it's better to just use
	  top_srcdir and top_builddir directly.

Fri Jul 15 00:48:39 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: Fix superfluous shell quoting.

Fri Jul 15 00:28:40 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac,docs/Makefile.am,preautoreconf,Makefile.am: Generate
	  the list of source files to feed to doxygen by inspecting all the
	  Makefile.am files prior to running autoreconf rather than by using
	  "find" when the user runs ./configure.  This speeds up configure,
	  avoids generating docs for random .cc and .h files which aren't
	  part of xapian-core, and avoids problems with picking up FIND.EXE
	  on MS Windows.

Thu Jul 14 12:49:36 BST 2005  Olly Betts <olly@survex.com>

	* common/,matcher/multimatch.cc,matcher/networkmatch.cc,
	  matcher/networkmatch.h,net/socketclient.cc,net/socketserver.cc,
	  tests/api_db.cc: Implement sorting on a value with the remote
	  backend.

Wed Jul 13 01:25:17 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/database.h,include/xapian/dbfactory.h,
	  net/socketclient.cc: Regularise horizontal whitespace.

Tue Jul 05 03:03:57 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h: Oops, failed to check in header
	  changes for last change.

Mon Jul 04 15:50:55 BST 2005  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony,queryparser/queryparser.cc:
	  Add flag FLAG_BOOLEAN_ANY_CASE which tells the QueryParser that
	  boolean operators such as "AND", "OR", and "NEAR" should be
	  recognised even if they aren't fully capitalised (so "and",
	  "And", "aNd", etc will work too).  Add flag FLAG_WILDCARD which
	  tells the QueryParser to allow right truncation e.g. "xap*".
	* tests/queryparsertest.cc: Add tests for FLAG_WILDCARD.

Sun Jul 03 15:24:12 BST 2005  Olly Betts <olly@survex.com>

	* backends/database.cc: Fixed to auto-detect database type when
	  opening an existing Flint database as a WritableDatabase.

Sat Jul 02 18:49:22 BST 2005  Olly Betts <olly@survex.com>

	* tests/queryparsertest.cc: Add test case: "-site:xapian.org mail".

Sat Jul 02 18:49:03 BST 2005  Olly Betts <olly@survex.com>

	* common/Makefile.am: Ship safewindows.h header.

Sat Jul 02 18:04:18 BST 2005  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc,bin/xapian-compact.cc,
	  backends/muscat36/io_system.cc,backends/quartz/btree.cc,
	  backends/quartz/quartz_log.cc,backends/quartz/quartz_database.cc,
	  backends/flint/,common/,net/,tests/,testsuite/backendmanager.cc,
	  testsuite/testsuite.cc: Assorted tweaks towards allowing
	  compilation with MSVC.

Sat Jul 02 05:08:54 BST 2005  Olly Betts <olly@survex.com>

	* backends/quartz/: Always define WIN32_LEAN_AND_MEAN before
	  including windows.h to reduce the amount of stuff it includes
	  and speed up builds; Eliminate Btree::max_key_len as MSVC
	  doesn't like the way we define it and it actually seems
	  simpler to just use BTREE_MAX_KEY_LEN everywhere anyway.
	* backends/quartz/btree.cc: Added a few more assertions.

Sat Jul 02 04:11:01 BST 2005  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Fixed to
	  handle "-site:microsoft.com" where site is a boolean prefix.
	* queryparser/Makefile.am: Add dependency to generate
	  queryparser_token.h.

Thu Jun 30 02:14:16 BST 2005  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Update URL for valgrind FAQ in comment.

Thu Jun 30 00:11:52 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: More explicit explanation of the
	  "descending docid with boolean weighting" trick for fast
	  date ordered searching.

Wed Jun 29 13:16:13 BST 2005  Olly Betts <olly@survex.com>

	* NEWS: Fix typo: "configurec" -> "configure".

Mon Jun 27 04:21:34 BST 2005  Olly Betts <olly@survex.com>

	* xapian.spec.in: Package xapian-compact.

Mon Jun 27 03:41:23 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_positionlist.cc,tests/api_wrdb.cc: Fixed
	  mispacking of length for Flint positionlists with more than 127
	  entries, and added regression test longpositionlist1.

Sun Jun 26 02:04:33 BST 2005  Olly Betts <olly@survex.com>

	* bin/xapian-compact.cc,backends/flint/flint_cursor.h: Let
	  PostlistCursor take ownership of the FlintTable it's iterating over
	  which makes clean-up tidier.
	* bin/xapian-compact.cc: We were accidentally skipping the first
	  entry in various tables (which essentially meant the first
	  document from each database would go missing when merging
	  databases).

Sat Jun 25 23:45:42 BST 2005  Olly Betts <olly@survex.com>

	* api/omdatabase.cc: Tweak get_lastdocid() code to be a little
	  clearer.

Wed Jun 22 20:50:43 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac,include/xapian/version.h.in,include/xapian/version_h.cc,
	  include/Makefile.am: Eliminate use of "ln -s" when generating
	  include/xapian/version.h since it seems to cause problems on Solaris
	  in some setups and isn't really necessary.  Also add dependency
	  mechanism so version.h gets regenerated when the template is
	  changed.

Wed Jun 22 18:47:05 BST 2005  Olly Betts <olly@survex.com>

	* docs/intro_ir.html: Citeseer has moved, so update link.

Mon Jun 20 13:33:42 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: -Wshadow causes false positives with GCC 3.0.4, so
	  only enable it for 3.1 and up.

Mon Jun 20 03:09:07 BST 2005  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony: "utilpy" -> "utility"!

Fri Jun 17 19:54:44 BST 2005  Olly Betts <olly@survex.com>

	* COPYING: Update FSF address.

Thu Jun 16 18:43:33 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_table.cc: Fix warnings from older GCC versions.
	* backends/flint/flint_lock.cc: '#include <signal.h>' so that SIGHUP
	  gets defined reliably.

Thu Jun 16 17:54:39 BST 2005  Olly Betts <olly@survex.com>

	* bin/Makefile.am,bin/xapian-compact.cc: Added new "xapian-compact"
	  program which can compact and merge flint databases in a similar
	  way to how quartzcompact does for quartz databases.

Thu Jun 16 01:22:45 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: Check for spaces in build directory, source directory,
	  or install prefix and die with a helpful message.

Wed Jun 15 01:00:11 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_lock.cc: It seems we need to explicitly kill
	  the child process.  Otherwise when we have two databases locked
	  just closing the connection doesn't cause the child to die.  I
	  don't understand why it's needed, but this fix is at least clean.

Mon Jun 13 00:13:33 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_alltermslist.cc,
	  backends/flint/flint_alltermslist.h,
	  backends/flint/flint_database.cc: Rewrite of FlintAllTermsList
	  with several fewer member variables.  Also fixes a bug (the old
	  version wasn't ignoring the metainfo entry so tests were failing).

Sun Jun 12 13:08:16 BST 2005  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_alltermslist.cc: Disable assertion which is
	  incorrect in a corner case.
	* tests/api_db.cc: Add test_specialterms2 as a regression test.

Sun Jun 12 02:03:52 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_positionlist.cc: Encoding and decoding of
	  position list size, and first and last entries didn't match.
	  Reworked to match using a slightly smaller encoding.
	* backends/flint/flint_metafile.cc: Bumped format version.

Sun Jun 12 02:02:35 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_table.cc: We were failing to append "DB" to the
	  path when opening a table for reading - fixed.

Sun Jun 12 02:00:30 BST 2005  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc: When a flint database was requested, we
	  were incorrectly creating a quartz database instead - fixed.

Sat Jun 11 17:53:12 BST 2005  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Fix mis-repacking of keys in positionlist
	  table when merging several databases.

Thu Jun 09 01:06:35 BST 2005  Olly Betts <olly@survex.com>

	* Makefile.am,configure.ac: Pass automake options to AM_INIT_AUTOMAKE
	  rather than specifying them in Makefile.am.  This way, the version
	  requirements for autoconf and automake are stated close together.

Mon Jun 06 19:49:36 BST 2005  Olly Betts <olly@survex.com>

	* HACKING: Minor updates to release checklist.

Mon Jun 06 17:44:19 BST 2005  Olly Betts <olly@survex.com>

	* NEWS,configure.ac: Updated for 0.9.1.

Mon Jun 06 17:28:34 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: Describe CC_FOR_BUILD in configure --help output.

Mon Jun 06 16:00:26 BST 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated for 0.9.1.

Fri Jun 03 03:49:33 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Fixed
	  compilation failure on mingw.

Fri Jun 03 01:58:08 BST 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated from tinderbox.

Fri Jun 03 00:46:00 BST 2005  Olly Betts <olly@survex.com>

	* HACKING,NEWS: Snapshot and release tarballs are now bootstrapped
	  using libtool 1.5.18 and automake 1.9.5 (though neither is currently
	  an enforced requirement for bootstrapping).

Thu Jun 02 17:36:36 BST 2005  Olly Betts <olly@survex.com>

	* NEWS: First draft of release notes for 0.9.1.

Thu Jun 02 02:05:47 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_record.cc: Fix get_doccount() to not return
	  one too low now that the special entry is no longer in the record
	  table!

Wed Jun 01 12:41:59 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_positionlist.cc: Placate Sun's C++ compiler.

Tue May 31 19:31:24 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_positionlist.h,
	  backends/flint/flint_positionlist.cc,
	  backends/flint/flint_metafile.cc: positionlist entries are now
	  stored using interpolative coding (which is significantly more
	  compact).

Mon May 30 01:48:17 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_lock.cc,backends/flint/flint_lock.h:  Added
	  locking code for MS Windows (untested).

Sun May 29 01:00:41 BST 2005  Olly Betts <olly@survex.com>

	* HACKING,NEWS,testsuite/testsuite.h: Fixed spelling mistakes.

Sat May 28 22:51:15 BST 2005  Olly Betts <olly@survex.com>

	* tests/: svn:ignore .flint/ subdirectory.
	* tests/Makefile.am: Remove .flint subdirectory on 'make clean'.

Sat May 28 22:45:24 BST 2005  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Remove warning that quartz is still in
	  development.

Sat May 28 16:24:43 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_lock.h: Removed unused FlintLock method
	  'operator int()' which was confusing Sun's C++ compiler.

Sat May 28 16:18:11 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/query.h: Removed superfluous "Query::" which was
	  causing the build to fail with aCC.

Sat May 28 14:31:33 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_metafile.cc: Added missing '#include <errno.h>'.

Sat May 28 14:15:36 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_positionlist.cc: Simplify code a bit.

Sat May 28 02:01:12 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/: Move the special item holding the total document
	  length and doc id high water mark from the record table to the
	  postlist table.  This means that when appending documents, the
	  insertion point will now always be at the end of the record table.
	  We need to jump around the postlist table to merge anyway.

Sat May 28 00:42:25 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_metafile.cc: Change metafile magic to be
	  different from quartz, and make the metafile version a datestamp
	  which we'll change each time the format changes; check the return
	  value of close on the metafile.

Fri May 27 22:09:45 BST 2005  Olly Betts <olly@survex.com>

	* backends/Makefile.am,backends/flint/: Implement new fork+fcntl+exec
	  based locking;  Fix new GCC warnings.

Fri May 27 22:06:14 BST 2005  Olly Betts <olly@survex.com>

	* api/omquery.cc: Missed a warning fix.

Fri May 27 22:04:18 BST 2005  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h,
	  backends/quartz/quartz_postlist.cc,common/omtime.h,matcher/,
	  net/socketserver.cc,net/socketcommon.cc,net/socketclient.cc,
	  testsuite/btreecheck.h,testsuite/testsuite.cc: Fix GCC warnings
	  from new flags.

Fri May 27 20:06:52 BST 2005  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony: Add missing '#include <config.h>'.

Fri May 27 12:20:03 BST 2005  Olly Betts <olly@survex.com>

	* common/omdebug.h: Oops, change to static_cast reveals that we were
	  discarding const (harmlessly).

Fri May 27 12:16:03 BST 2005  Olly Betts <olly@survex.com>

	* common/omdebug.h: Replace C style cast with static_cast<>.

Fri May 27 12:07:48 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: -Wendif should be -Wendif-labels.

Wed May 25 20:41:39 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: Pass more -W flags to g++ (including -Wundef which
	  caught the getopt problem fixed by the previous commit).

Wed May 25 20:32:35 BST 2005  Olly Betts <olly@survex.com>

	* getopt/getopt.cc: Added accidentally pruned #define so that getopt
	  code isn't compiled in when the system uses glibc.

Wed May 25 18:36:41 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: Add -Wredundant-decls to the default CXXFLAGS for GCC.

Wed May 25 03:33:34 BST 2005  Olly Betts <olly@survex.com>

	* tests/apitest.cc,tests/api_db.cc,tests/api_db.h,
	  testsuite/backendmanager.cc,testsuite/backendmanager.h:
	  apitest now runs tests on flint as well.

Wed May 25 03:20:12 BST 2005  Olly Betts <olly@survex.com>

	* backends/database.cc: When automatically determining which backend
	  to use when creating a WritableDatabase, don't try to open it as
	  both Flint *AND* Quartz (an "else" was missing).

Wed May 25 03:19:21 BST 2005  Olly Betts <olly@survex.com>

	* backends/flint/flint_btreebase.cc: Fix typo in code which prevented
	  a flint database from being opened.

Wed May 25 01:10:51 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/version.h.in,include/xapian/dbfactory.h,
	  include/xapian/queryparser.h,backends/quartz/,backends/flint/:
	  Flint backend hooked in fully, and everything now builds once
	  more.

Tue May 24 02:30:39 BST 2005  Olly Betts <olly@survex.com>

	* HACKING: Add "email Fabrice" to the release checklist so that RPM
	  spec files don't lag behind.  The new svn-tag-release script
	  actually builds the release tarballs rather than just copying
	  snapshots like cvs-tag-release did, so document that.

Tue May 24 01:21:18 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h: Added missing documentation comments.

Mon May 23 02:36:06 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac,backends/database.cc,backends/Makefile.am,
	  backends/flint/: Cloned the quartz backend to form the basis of the
	  new flint backend.  Currently it's the same except that the quartz
	  log feature has been removed.  When creating a database without a
	  specified backend, quartz is still used unless the environmental
	  variable XAPIAN_PREFER_FLINT is set to a non-empty value.

Sat May 21 20:58:48 BST 2005  Olly Betts <olly@survex.com>

	* xapian.spec.in: Remove bogus %setup line left over from when we
	  packaged xapian-core and xapian-examples together from separate
	  tarballs.

Thu May 19 01:12:27 BST 2005  Olly Betts <olly@survex.com>

	* bin/quartzcheck.cc: Fixed corner case where you couldn't check a
	  single Btree table which was just the DB and baseA/baseB files
	  in a directory (Xapian doesn't produce anything like this, but
	  btreetest does while unit testing the Btree code).

Wed May 18 16:59:23 BST 2005  Olly Betts <olly@survex.com>

	* api/omquery.cc,include/xapian/query.h: Put Query::get_terms_end()
	  inline in header.

Wed May 18 16:41:56 BST 2005  Olly Betts <olly@survex.com>

	* api/omquery.cc,tests/api_nodb.cc: Fix SEGV on get_terms_begin()
	  on an empty Query object.

Mon May 16 22:58:09 BST 2005  Olly Betts <olly@survex.com>

	* api/omqueryinternal.cc: Fixed compilation with --enable-debug.

Sat May 14 01:02:33 BST 2005  Olly Betts <olly@survex.com>

	* docs/doxygen_full_conf.in: Fix lingering DOXYGEN_HAVE_DOT reference.

Sat May 14 00:36:14 BST 2005  Olly Betts <olly@survex.com>

	* HACKING: Update information about the SVN tag name to use for
	  debian files.

Fri May 13 23:21:54 BST 2005  Olly Betts <olly@survex.com>

	* HACKING: Updated release instructions to refer to SVN.

Fri May 13 20:58:15 BST 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated for 0.9.0.

Fri May 13 02:47:42 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h: Fix for Sun's C++ compiler.

Fri May 13 00:09:07 BST 2005  Olly Betts <olly@survex.com>

	* NEWS,configure.ac: Updated for 0.9.0.

Thu May 12 18:54:11 BST 2005  Olly Betts <olly@survex.com>

	* docs/doxygen_api_conf.in,docs/Makefile.am: Fix to generate docs
	  for all backend factory functions like 0.8.5 did.

Thu May 12 16:59:22 BST 2005  Olly Betts <olly@survex.com>

	* backends/database.cc,backends/Makefile.am,include/xapian/database.h,
	  include/xapian/dbfactory.h,include/xapian.h,include/Makefile.am:
	  Split off database factory methods into xapian/dbfactory.h - this
	  allows us to fix recent breakage in VPATH builds (caused by the
	  need to include the generated file xapian/version.h from
	  xapian/database.h) without modifying almost every Makefile.am.

Wed May 11 16:52:41 BST 2005  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony: Move prefixed, bracketed
	  subexpression to be an alternative for stop_term which allows
	  "term prefix:(term2 term3)" to parse correctly. Also move
	  non-prefixed, bracketed subexpression to be an alternative
	  for stop_term - this doesn't change how things parse, but
	  makes the grammar simpler.
	* tests/queryparsertest.cc: Added regression test for the above.
	* tests/Makefile.am,tests/queryparsertest.cc: Reworked queryparsertest
	  to use the standard testsuite harness.

Wed May 11 16:09:32 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/query.h: Fix OP_ELITE_SET at 10 (the value it had
	  in 0.8.5).

Tue May 10 22:56:45 BST 2005  Olly Betts <olly@survex.com>

	* docs/Makefile.am: Removed check for DOXYGEN_HAVE_DOT which I removed
	  recently.

Tue May 10 01:09:01 BST 2005  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony: Removed state parameter from
	  TermList::add_term() since it is no longer used.

Mon May 09 20:56:40 BST 2005  Olly Betts <olly@survex.com>

	* docs/Makefile.am: Explicitly set the pool_size for latex, because we
	  seem to overflow the default setting on many systems.
	* docs/Makefile.am: Use $(MAKE) instead of make.

Sun May 08 23:22:37 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: Corrected $CC -> $CXX to fix bogus message "Checking
	  for  option to enable ANSI C++ mode".
	* configure.ac: If any tools needed for documentation are missing
	  and we're in maintainer mode, die with a suitable error in
	  configure rather than with strange errors when building the
	  documentation.

Sun May 08 01:43:55 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h,queryparser/queryparser.lemony,
	  queryparser/queryparser_internal.h,queryparser/queryparser.cc:
	  Remove QueryParser::termlist_begin() and termlist_end() since
	  you can just use Query::terms_begin() and terms_end() on the
	  Query object returned by QueryParser::parse_query().

Thu May 05 01:00:26 BST 2005  Olly Betts <olly@survex.com>

	* common/utils.cc: On WIN32, don't define NOMINMAX if it is already
	  defined.

Wed May 04 00:52:04 BST 2005  Olly Betts <olly@survex.com>

	* matcher/bm25weight.cc: Avoid needing document length if we're simply
	  going to multiply it by zero!

Tue May 03 14:07:20 BST 2005  Olly Betts <olly@survex.com>

	* HACKING: CVS -> SVN;  Note that tabs should be 8 spaces.

Thu Apr 28 21:13:17 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/database.h: Don't declare the backend factory
	  functions if the corresponding backend has been disabled.  This
	  means that trying to use a disabled backend will be caught at
	  compile time rather than link time.

Thu Apr 28 21:12:43 BST 2005  Olly Betts <olly@survex.com>

	* docs/intro_ir.html: Corrected two errors.

Wed Apr 27 23:04:53 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac,include/xapian/version.h.in: Define
	  XAPIAN_HAS_xxx_BACKEND for each backend which is enabled.  The
	  bindings need this, and user code might find it useful too.

Wed Apr 27 03:31:50 BST 2005  Olly Betts <olly@survex.com>

	* api/omdatabase.cc,api/ompostlistiterator.cc,
	  api/omtermlistiterator.cc,include/xapian/,
	  queryparser/queryparser.cc: Where end iterator is just
	  FooIterator(NULL) put it inline in the header for efficiency.
	  If we ever need to change an implementation, we can easily move
	  methods back into the library and bump the library version suitably.

Wed Apr 27 02:40:43 BST 2005  Olly Betts <olly@survex.com>

	* examples/quest.cc,include/xapian/queryparser.h,
	  queryparser/queryparser.cc,tests/queryparsertest.cc: Rename
	  QueryParser::set_stemming_options() to set_stemming_strategy()
	  - it's a better name and avoids confusion with the old deprecated
	  method called set_stemming_options().
	* examples/quest.cc: Added stopword handling.

Wed Apr 27 02:39:33 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Fixed documentation comment.

Sun Apr 24 03:02:47 BST 2005  Olly Betts <olly@survex.com>

	* api/omstem.cc: Simplified Xapian::Stem::Internal.

Sun Apr 24 02:21:22 BST 2005  Olly Betts <olly@survex.com>

	* tests/api_nodb.cc: Extended stemlang1 to check that trying to create
	  a stemmer for a non-existent language throws InvalidArgumentError.

Fri Apr 22 01:20:57 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/document.h: Clearer documentation comments.

Thu Apr 21 15:03:42 BST 2005  Olly Betts <olly@survex.com>

	* docs/overview.html,include/xapian/query.h: Removed lingering
	  references to OP_WEIGHT_CUTOFF.

Thu Apr 21 01:46:51 BST 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Added success report for Ubuntu 5.04 on x86_64.

Mon Apr 18 02:54:10 BST 2005  Olly Betts <olly@survex.com>

	* docs/stemming.html: Stemming appears to be applicable to Japanese
	  so don't say it isn't!

Sat Apr 16 01:08:22 BST 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated from tinderbox.

Fri Apr 15 23:18:58 BST 2005  Olly Betts <olly@survex.com>

	* languages/: Remove lingering .c versions of snowball generated
	  sources.

Fri Apr 15 02:05:27 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h,queryparser/queryparser_internal.h,
	  queryparser/queryparser.cc: Implemented QueryParser::set_database()
	  method.
	* queryparser/queryparser.lemony: Allow searches for C#, etc.  If a
	  database has been set, for this and + and - suffixes, check if the
	  term actually exists, and if not, ignore the suffix if the
	  unsuffixed term exists.
	* tests/queryparsertest.cc: Added tests for # suffix.

Thu Apr 14 23:39:57 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/stem.h: Rewritten with better documentation comments.
	* include/xapian/stem.h: Added operator() as preferred alternative
	  to stem_word().
	* api/omstem.cc,include/xapian/stem.h: Simplified by restructuring
	  to eliminate a few internal methods.

Thu Apr 14 23:35:47 BST 2005  Olly Betts <olly@survex.com>

	* queryparser/queryparser.cc: Make get_description() debug tracing
	  message category INTRO not API.

Thu Apr 14 19:57:06 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h,queryparser/queryparser.cc: Added
	  QueryParser::get_description() method (not very descriptive yet!)

Thu Apr 14 03:30:09 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h: Fixed to only include the xapian
	  headers we actually depend on.
	* include/xapian/queryparser.h: Added \file and \brief documentation
	  comments.

Thu Apr 14 02:50:36 BST 2005  Olly Betts <olly@survex.com>

	* examples/quest.cc,include/xapian.h,tests/queryparsertest.cc:
	  Change xapian.h to automatically include xapian/queryparser.h
	  and fix direct includes of xapian/queryparser.h in tests and
	  examples.

Thu Apr 14 01:48:39 BST 2005  Olly Betts <olly@survex.com>

	* include/xapian/queryparser.h: Added Xapian::SimpleStopper which
	  should be sufficient for the majority of uses.
	* include/xapian/queryparser.h,queryparser/queryparser_internal.h,
	  queryparser/queryparser.cc: Changed QueryParser::set_stopper() to
	  take a const pointer.

Thu Apr 07 15:57:15 BST 2005  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/omenquireinternal.h,common/multimatch.h,
	  matcher/multimatch.cc,net/socketserver.cc: Tidy up after sort_bands.

Thu Apr 07 15:15:27 BST 2005  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/,include/xapian/enquire.h,
	  matcher/networkmatch.cc,matcher/multimatch.cc,matcher/networkmatch.h,
	  net/socketserver.cc,net/socketclient.cc,tests/api_db.cc:
	  Enhanced Enquire sorting API and added ability to reverse sort on
	  a value.
	* api/omenquire.cc: Enquire::get_description() now includes output of
	  Enquire::Internal::get_description().

Thu Apr 07 13:55:56 BST 2005  Olly Betts <olly@survex.com>

	* HACKING: Fixed a typo.

Thu Apr 07 13:37:02 BST 2005  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h,
	  bin/quartzcompact.cc: The "fuller compaction" code needs changes
	  to btree.h which I'd failed to check in.  Also document --fuller
	  in 'quartzcompact --help'.

Thu Apr 07 03:35:36 BST 2005  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Added "fuller compaction" mode, which ignores
	  the usual "at least 4 items per block" rule.

Thu Apr 07 03:28:32 BST 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Added success result for GCC 3.2.3 on FreeBSD 4.8; fixed
	  a typo.

Wed Apr 06 23:04:15 BST 2005  Olly Betts <olly@survex.com>

	* queryparser/queryparser.lemony: Added FIXME comment.

Wed Apr 06 22:52:53 BST 2005  Olly Betts <olly@survex.com>

	* ./: Removed ylwrap from svn:ignore.

Tue Apr 05 22:34:16 BST 2005  Olly Betts <olly@survex.com>

	* queryparser/queryparsertest.cc,queryparser/Makefile.am,
	  tests/Makefile.am: Moved queryparsertest into tests/.

Tue Apr 05 22:15:05 BST 2005  Olly Betts <olly@survex.com>

	* examples/: Updated svn:ignore property.

Tue Apr 05 21:34:13 BST 2005  Olly Betts <olly@survex.com>

	* queryparser/Makefile.am,configure.ac,extra/xapian/queryparser.h,
	  extra/,include/Makefile.am,Makefile.am: Move extra/ to queryparser/;
	  Merge extra/xapian/ into include/xapian/.

Tue Apr 05 16:37:32 BST 2005  Olly Betts <olly@survex.com>

	* m4/xapian.m4: Fix m4 quoting (argh!)

Tue Apr 05 16:28:06 BST 2005  Olly Betts <olly@survex.com>

	* m4/xapian.m4: Fix XO_LIB_XAPIAN to trim off any _svn6789 from
	  XAPIAN_VERSION.

Tue Apr 05 16:17:31 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: Fix m4 quoting.

Tue Apr 05 15:16:38 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: #define VERSION in version.h shouldn't include any
	  _svn6789 suffix.

Tue Apr 05 13:28:23 BST 2005  Olly Betts <olly@survex.com>

	* configure.ac: Snapshot generator now appends _svn6789 or similar to
	  the version string, so take that into account when finding REVISION.

Tue Apr 05 12:55:52 BST 2005  Olly Betts <olly@survex.com>

	* ChangeLog.examples,Makefile.am,examples/ChangeLog: Move
	  xapian-examples ChangeLog to ChangeLog.examples in the top-level
	  and include in the tarball.

Tue Apr 05 02:18:08 BST 2005  Olly Betts <olly@survex.com>

	* examples/dir_contents,examples/README: Converted xapian-examples
	  README into a dir_contents file.

Tue Apr 05 02:12:31 BST 2005  Olly Betts <olly@survex.com>

	* docs/overview.html,docs/install.html,configure.ac,Makefile.am,
	  xapian.spec.in,examples/Makefile.am: Moved xapian-examples module
	  to examples subdirectory of xapian-core.

Tue Apr 05 00:37:05 BST 2005  Olly Betts <olly@survex.com>

	* m4/.cvsignore,debian/.cvsignore,matcher/.cvsignore,docs/.cvsignore,
	  tests/.cvsignore,bin/.cvsignore,.cvsignore,autoconf/.cvsignore,
	  extra/.cvsignore,include/xapian/.cvsignore,include/.cvsignore,
	  net/.cvsignore,common/.cvsignore,testsuite/.cvsignore,
	  getopt/.cvsignore,languages/.cvsignore,api/.cvsignore,
	  backends/inmemory/.cvsignore,backends/muscat36/.cvsignore,
	  backends/net/.cvsignore,backends/quartz/.cvsignore,
	  backends/multi/.cvsignore,backends/.cvsignore: Remove .cvsignore
	  files, as they're not used by SVN.

Thu Mar 10 01:48:20 GMT 2005  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc,testsuite/index_utils.cc,
	  testsuite/index_utils.h: Rewrite of index_utils code, removing
	  unused and unusual features.
	* tests/testdata/: Cleaned up data for apitest now that paragraphs
	  don't have the odd minimum number of lines!
	* tests/testdata/apitest_space.txt: New index_utils code has C-like
	  \ escapes for control characters rather than ^ escapes.

Wed Mar 09 22:04:08 GMT 2005  Olly Betts <olly@survex.com>

	* common/utils.h: Added C_isxdigit and C_isnotxdigit.

Wed Mar 09 15:22:35 GMT 2005  Olly Betts <olly@survex.com>

	* testsuite/index_utils.cc: Fixed ^x to actually decode hex values
	  correctly.

Tue Mar 08 16:57:25 GMT 2005  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Minor code tidy.

Tue Mar 08 15:48:38 GMT 2005  Olly Betts <olly@survex.com>

	* api/omenquire.cc,docs/matcherdesign.html,include/xapian/enquire.h,
	  matcher/multimatch.cc,tests/api_db.cc: Removed sort_bands support.

Tue Mar 08 04:13:03 GMT 2005  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Fixed to add items for all tables in key order
	  which produces results around 40% more compact (previously in the
	  merge case, this was only happening for the postlist table).

Tue Mar 08 03:30:06 GMT 2005  Olly Betts <olly@survex.com>

	* testsuite/btreecheck.cc: Make default check output fit on a single
	  line (at least for many databases).

Tue Mar 08 02:34:41 GMT 2005  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Fix warning from newer versions of GCC.

Sat Mar 05 00:25:07 GMT 2005  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/omenquireinternal.h,include/xapian/enquire.h,
	  matcher/multimatch.cc,tests/api_db.cc: Fixed Xapian::RSet to have
	  the same "it's a handle" copy semantics as most of the other
	  classes.

Sat Mar 05 00:23:47 GMT 2005  Olly Betts <olly@survex.com>

	* testsuite/testsuite.h: Fixed TEST_EQUAL_DOUBLE to use DBL_EPSILON
	  correctly.

Fri Mar 04 21:06:38 GMT 2005  Olly Betts <olly@survex.com>

	* tests/testdata/etext.txt: Stripped carriage returns.

Fri Mar 04 21:04:25 GMT 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Assorted updates.

Thu Mar 03 01:17:07 GMT 2005  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Fixed to allow compacting a single database.
	  Fixed handling of very last term when merging postlists.

Wed Mar 02 03:18:30 GMT 2005  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_values.cc: Values are stored in sorted order
	  so we can stop unpacking the list once we get to one after the one
	  we're looking for.

Wed Mar 02 02:59:23 GMT 2005  Olly Betts <olly@survex.com>

	* bin/quartzcheck.cc: Now checks the structure of all the tables, not
	  just the postlist table, and cross-checks doclen values between
	  termlist and postlist tables.  Recognises "--help" option.  Should
	  now continue after an error (typically it would crash before), and
	  counts the number of errors found.  Now exits with non-zero status
	  if any errors were found.

Tue Mar 01 18:48:25 GMT 2005  Olly Betts <olly@survex.com>

	* xapian.spec.in: '/usr/share' -> '%{_datadir}'.

Tue Mar 01 16:21:07 GMT 2005  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Fixed warning from Sun's C++ compiler.

Tue Mar 01 02:02:15 GMT 2005  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Extended to allow merging several quartz
	  databases to produce a single compact quartz database.  This
	  allows for faster building - simple index in chunks, then merge
	  the chunks.

Tue Mar 01 00:08:12 GMT 2005  Olly Betts <olly@survex.com>

	* xapian.spec.in: Put the .so in the -devel package (it's only useful
	  for linking to - the .so.* files are all that's needed at runtime).

Tue Mar 01 00:05:25 GMT 2005  Olly Betts <olly@survex.com>

	* Makefile.am,xapian-config.in,xapian.spec.in,extra/.cvsignore,
	  extra/Makefile.am: Eliminated the extra library for the queryparser
	  - it's tiny compared to the main library and having it around just
	  complicates things.

Mon Feb 28 23:52:19 GMT 2005  Olly Betts <olly@survex.com>

	* tests/api_anydb.cc: More set_length() changes.

Mon Feb 28 20:31:13 GMT 2005  Olly Betts <olly@survex.com>

	* net/socketclient.cc,net/socketserver.cc,api/omenquire.cc,
	  api/omquery.cc,api/omqueryinternal.cc,common/,
	  include/xapian/enquire.h,include/xapian/query.h,matcher/:
	  Remove Query::set_length() in favour of an optional length
	  parameter to Enquire::set_query().

Mon Feb 28 15:32:32 GMT 2005  Olly Betts <olly@survex.com>

	* api/omqueryinternal.cc,common/Makefile.am,common/deleter_vector.h:
	  Removed deleter_vector as it's no longer used anywhere.

Mon Feb 28 15:27:42 GMT 2005  Olly Betts <olly@survex.com>

	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
	  matcher/localmatch.cc,tests/api_anydb.cc,tests/api_nodb.cc:
	  Eliminated Query::set_elite_set_size().

Mon Feb 28 15:15:45 GMT 2005  Olly Betts <olly@survex.com>

	* HACKING: Note how to disable use of VALGRIND on the make check
	  command line, or when using runtest directly.

Mon Feb 28 13:36:07 GMT 2005  Olly Betts <olly@survex.com>

	* common/omqueryinternal.h: Removed out-of-date commented out version
	  of Xapian::Query::Internal.

Mon Feb 28 13:07:42 GMT 2005  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_alltermslist.cc,tests/api_db.cc: Updated (C)
	  dates for changes earlier this year.

Mon Feb 28 13:04:41 GMT 2005  Olly Betts <olly@survex.com>

	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
	  matcher/localmatch.cc,matcher/localmatch.h,tests/api_anydb.cc,
	  tests/api_nodb.cc,tests/api_posdb.cc: Eliminated Query::set_window
	  in favour of an optional parameter to the constructor, with the aim
	  of making Query objects immutable once constructed.

Mon Feb 28 12:32:26 GMT 2005  Olly Betts <olly@survex.com>

	* extra/queryparser.lemony: Updated 2 uses of Query::set_window().

Mon Feb 28 04:43:20 GMT 2005  Olly Betts <olly@survex.com>

	* api/omquery.cc,api/omqueryinternal.cc,common/socketcommon.h,
	  include/xapian/query.h,matcher/,tests/api_anydb.cc:
	  Removed OP_WEIGHT_CUTOFF, since it doesn't actually seem to
	  add useful functionality over using Enquire::set_cutoff().

Mon Feb 28 04:31:58 GMT 2005  Olly Betts <olly@survex.com>

	* matcher/weightcutoffpostlist.cc: Fix updating of docid in
	  WeightCutoffPostList - the current code works, but can end up doing
	  lots (potentially millions) of pointless loop iterations.

Mon Feb 28 02:57:29 GMT 2005  Olly Betts <olly@survex.com>

	* docs/queryparser.html: Note that + and - work on phrases and
	  bracketed expressions.

Fri Feb 25 17:06:23 GMT 2005  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_alltermslist.cc: Fix skip_to on an allterms
	  TermIterator to set the current term when the skip_to-ed term is
	  in the database.
	* tests/api_db.cc: Add regression test for this (allterms5).

Wed Feb 23 19:07:30 GMT 2005  Olly Betts <olly@survex.com>

	* configure.ac: Suppress 2 Intel C++ warnings which we can't easily
	  code around, and enable -Werror automatically with
	  --enable-maintainer-mode.
	* configure.ac: Check that the C++ compiler can actually link a
	  program.  AC_LANG_CXX doesn't, and if it can't find a C++ compiler
	  it'll just return "g++" which just leads to a later configure
	  test failing in a confusing way.

Tue Feb 22 13:39:07 GMT 2005  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Improved documentation comments.
	* api/omenquire.cc,include/xapian/enquire.h: MSet::max_size() (which
	  only exists so that MSet is an STL compiler) now returns
	  MSet::size() and is inlined from the header.
	* include/xapian/enquire.h: Added ESet::max_size() (for STL
	  compatibility).

Tue Feb 22 00:18:33 GMT 2005  Olly Betts <olly@survex.com>

	* configure.ac: corrected "none known for yes" or "none known for no"
	  to "none known for g++-3.2" or similar.
	* configure.ac: autoconf identifies Intel's C++ compiler as GCC, so
	  probe for which it actually is.

Mon Feb 21 21:54:29 GMT 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated.

Mon Feb 21 16:06:32 GMT 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Added success report for Intel C++ 8.1 on ia64 Linux
	  (and also GCC 3.2.3 on ia64 Linux).

Mon Feb 21 05:33:46 GMT 2005  Olly Betts <olly@survex.com>

	* backends/multi/: Don't delare methods in headers if they're virtual
	  or large.

Mon Feb 21 04:11:23 GMT 2005  Olly Betts <olly@survex.com>

	* backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_database.h: Don't delare methods in
	  headers if they're virtual or large.

Sun Feb 20 21:13:40 GMT 2005  Olly Betts <olly@survex.com>

	* common/multimatch.h: Removed unused "class SocketServer;".

Sun Feb 20 19:47:01 GMT 2005  Olly Betts <olly@survex.com>

	* net/socketserver.cc: Fixed typo in debug code.

Sat Feb 19 18:44:17 GMT 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Added minimal testcase which fails to compile with
	  Compaq's C++ compiler (cxx).

Sat Feb 19 04:23:51 GMT 2005  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Change
	  Btree::find_in_block to take a bool indicating if this is a leaf
	  block rather than an offset to subtract when it is.

Fri Feb 18 04:27:16 GMT 2005  Olly Betts <olly@survex.com>

	* HACKING: Added better description of how reference-counted API
	  classes are structured.
	* include/xapian/postingiterator.h,include/xapian/termiterator.h:
	  More (and better) documentation comments.

Fri Feb 18 03:05:40 GMT 2005  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Made full compaction a tiny bit more
	  compact.  Improved compaction by a few % in non-full case.
	  Tighter bound on amount of memory to reserve to read the tag
	  into.

Fri Feb 18 00:47:41 GMT 2005  Olly Betts <olly@survex.com>

	* api/omenquire.cc: Removed duplicate "#include <xapian/enquire.h>".

Thu Feb 17 01:33:01 GMT 2005  Olly Betts <olly@survex.com>

	* extra/queryparser_internal.h: Further Sun C++ fixes.

Wed Feb 16 05:32:40 GMT 2005  Olly Betts <olly@survex.com>

	* extra/queryparser.lemony: Attempted fix for Sun's C++ compiler.

Tue Feb 15 02:10:35 GMT 2005  Olly Betts <olly@survex.com>

	* extra/queryparser.cc,extra/queryparser.lemony,
	  extra/queryparser_internal.h: Fixed namespace stuff to keep Sun's C++
	  compiler happy.

Mon Feb 14 21:21:08 GMT 2005  Olly Betts <olly@survex.com>

	* api/vectortermlist.h: Workaround a shortcoming in Sun's C++
	  compiler.

Mon Feb 14 21:16:05 GMT 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: Results from upgraded sourceforge x86_64 box.

Mon Feb 14 18:36:40 GMT 2005  Olly Betts <olly@survex.com>

	* extra/xapian/queryparser.h: Fixed compilation error.

Mon Feb 14 18:00:12 GMT 2005  Olly Betts <olly@survex.com>

	* extra/xapian/queryparser.h: Added backward compatibility wrapper for
	  old version of QueryParser::set_stemming_options().

Mon Feb 14 17:50:47 GMT 2005  Olly Betts <olly@survex.com>

	* extra/xapian/queryparser.h: Added dummy QueryParser::set_database()
	  (currently it ignores the parameter).

Mon Feb 14 15:34:13 GMT 2005  Olly Betts <olly@survex.com>

	* extra/lemon.c: C90, not C99!

Mon Feb 14 15:20:11 GMT 2005  Olly Betts <olly@survex.com>

	* extra/lemon.c: C, not C++.

Mon Feb 14 05:49:50 GMT 2005  Olly Betts <olly@survex.com>

	* extra/: Tweak lemon so we can avoid generating files in builddir
	  in a VPATH build.

Mon Feb 14 02:44:17 GMT 2005  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Update to reflect lempar.c -> queryparser.lt.

Mon Feb 14 02:25:53 GMT 2005  Olly Betts <olly@survex.com>

	* extra/lempar.c,extra/queryparser.lt: Rename lemon template to .lt
	  which is more sensible than calling it lempar.c and should work
	  with VPATH builds.

Mon Feb 14 02:12:51 GMT 2005  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Fixes for VPATH builds.

Mon Feb 14 01:43:59 GMT 2005  Olly Betts <olly@survex.com>

	* configure.ac: Need to AC_SUBST(CC_FOR_BUILD).

Mon Feb 14 00:19:45 GMT 2005  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Added dependency for building queryparser.h.

Sun Feb 13 23:30:02 GMT 2005  Olly Betts <olly@survex.com>

	* extra/queryparser.cc,extra/queryparser_internal.h,
	  extra/xapian/queryparser.h: Fixed to compile with GCC 3.3.

Sun Feb 13 23:09:15 GMT 2005  Olly Betts <olly@survex.com>

	* configure.ac: Enhanced valgrind test to (a) see if --tool=memcheck
	  is needed and (b) see if valgrind actually works (we don't want to
	  try to use an x86 valgrind on an x86_64 box).

Mon Jan 17 03:21:29 GMT 2005  Olly Betts <olly@survex.com>

	* api/vectortermlist.h,extra/,extra/xapian/queryparser.h: Rewritten
	  QueryParser class.  Uses Lemon instead of Bison to generate the
	  parser, which enables us to stop using static data, so this class
	  is at last reentrant.  It now uses a PIMPL style with reference
	  counted internals like most of the other Xapian classes.  And
	  direct access to member variables has gone, which unfortunately
	  forces an API change (bug #39).  The rewrite also supports more
	  features than the original did.
	* HACKING,configure.ac: No longer need Bison.
	* configure.ac: Need CC_FOR_BUILD to compile Lemon with.

Mon Jan 17 02:40:40 GMT 2005  Olly Betts <olly@survex.com>

	* PLATFORMS: IRIX + SGI C++ now compiles with just two warnings -
	  unused variables in Snowball generated code.

Sun Jan 16 03:19:56 GMT 2005  Olly Betts <olly@survex.com>

	* xapian.spec.in: Don't say "%makeinstall" in a comment since rpm
	  tries to expand it and explodes.

Sat Jan 15 03:30:33 GMT 2005  Olly Betts <olly@survex.com>

	* docs/Makefile.am: Clearer rules for making Postscript doxygen docs.

Sat Jan 15 02:45:19 GMT 2005  Olly Betts <olly@survex.com>

	* HACKING: Note that '#include <limits>' isn't supported by GCC 2.95,
	  and other assorted minor tweaks.

Sat Jan 08 16:09:10 GMT 2005  Olly Betts <olly@survex.com>

	* api/maptermlist.h,backends/inmemory/inmemory_database.h,
	  backends/quartz/quartz_postlist.h,common/,matcher/localmatch.h,
	  matcher/mergepostlist.h,matcher/phrasepostlist.h,net/progclient.cc:
	  Fixes for SGI C++ warnings.

Fri Jan  7 13:02:49 GMT 2005  Richard Boulton <richard@tartarus.org>

	* common/positionlist.h: Correct out-of-date documentation comment.

Tue Jan 04 03:05:26 GMT 2005  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Removed unnecessary class declaration.

Tue Jan 04 03:02:02 GMT 2005  Olly Betts <olly@survex.com>

	* configure.ac: Automatically enable ANSI C++ mode for SGI's compiler
	  with '-LANG:std'; check that any automatically determined flags
	  for ANSI C++ mode actually allow us to compile a trivial program
	  - if they don't it probably means the compiler isn't the one we
	  were expecting, but one installed with the same name, so we now
	  drop the flags in this case.

Thu Dec 30 00:50:58 GMT 2004  Olly Betts <olly@survex.com>

	* extra/queryparser.yy: QueryParser::parse_query() was failing to
	  clear termlist and unstem.

Fri Dec 24 00:07:28 GMT 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated from tinderbox.

Thu Dec 23 21:13:46 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Fixed GCC compilation warning.

Thu Dec 23 17:22:15 GMT 2004  Olly Betts <olly@survex.com>

	* INSTALL,README: Updated.
	* README: Don't quote chunks of the GPL - just refer people to the
	  full text in COPYING.

Thu Dec 23 16:55:03 GMT 2004  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.ac: Updated for 0.8.5 release.

Tue Dec 21 13:26:55 GMT 2004  Olly Betts <olly@survex.com>

	* docs/quickstart.html: Improved wording.

Tue Dec 21 13:03:06 GMT 2004  Olly Betts <olly@survex.com>

	* HACKING: Updated to reflect extra jobs which cvs-tag-release now
	  does.

Mon Dec 20 16:25:21 GMT 2004  Olly Betts <olly@survex.com>

	* bin/Makefile.am: quartzcompact now uses getopt, so need to link
	  it in our version to build on non-glibc platforms.

Mon Dec 20 16:23:28 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Added comment noting why we can't
	  truncate separating keys at higher levels.

Thu Dec 16 14:46:28 GMT 2004  Olly Betts <olly@survex.com>

	* HACKING: Fixed a typo, and improved wording.

Mon Dec 13 02:52:52 GMT 2004  Olly Betts <olly@survex.com>

	* backends/multi/multi_postlist.cc: Updated (C) date.

Mon Dec 13 02:50:44 GMT 2004  Olly Betts <olly@survex.com>

	* languages/: Added missing '#include <config.h>' to .cc files
	  (probably harmless, but it should be included as the first thing any
	  source file does).

Mon Dec 13 02:21:28 GMT 2004  Olly Betts <olly@survex.com>

	* bin/quartzdump.cc: Mark the long options as const.

Mon Dec 13 02:20:08 GMT 2004  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Tables sizes will always be a whole number of
	  Kbytes, since the blocksize is, so report the size in K.  Also
	  report the change in size as well as the before and after sizes.

Mon Dec 13 02:11:59 GMT 2004  Olly Betts <olly@survex.com>

	* common/netutils.cc: Added missing '#include <config.h>' (probably
	  harmless, but it should be included as the first thing any source
	  file does).

Mon Dec 13 01:39:53 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Renamed
	  Btree::compress() to Btree::compact() for consistency with
	  "full_compaction" and "quartzcompact".  Also, "compress" is
	  confusing since use "compact" and we use that term in the zlib
	  patch.
	* backends/quartz/btree.cc: When full_compaction is enabled, don't
	  fill the last few bytes of a block if that would mean we needed
	  an extra item and the overhead for that item would use up more
	  of the next block than we save.  This reduces the table size
	  after full compaction by up to 0.2% in my tests!

Mon Dec 13 01:39:02 GMT 2004  Olly Betts <olly@survex.com>

	* backends/multi/multi_postlist.cc: Fixed to build with AssertParanoid
	  enabled.

Mon Dec 13 00:41:28 GMT 2004  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Added missing '#include <config.h>' so that
	  largefile support is enabled and we report compression statistics
	  for tables > 2G.
	* bin/quartzcompact.cc: Added --no-full / -n option to disable full
	  compaction.  This may be useful if you want to update the database
	  after compacting it (need to test to see if this option is actually
	  useful).

Sun Dec 12 21:26:27 GMT 2004  Olly Betts <olly@survex.com>

	* xapian-config.in: Previous attempted fix to --libs output was wrong
	  - made it actually work.

Sun Dec 12 21:24:44 GMT 2004  Olly Betts <olly@survex.com>

	* xapian.spec.in: %makeinstall puts the wrong paths in the .la files
	  so use "make DESTDIR=... install" instead.

Wed Dec 08 15:59:44 GMT 2004  Olly Betts <olly@survex.com>

	* NEWS: Bumped the 0.8.4 release date.

Wed Dec 08 15:32:46 GMT 2004  Olly Betts <olly@survex.com>

	* xapian-config.in: Make sure that --libs output doesn't include
	  libxapian.la (from libxapianqueryparser.la's dependencies).

Tue Dec 07 18:18:26 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_log.cc: Fixed to compile on mingw.

Tue Dec 07 15:57:44 GMT 2004  Olly Betts <olly@survex.com>

	* NEWS: Updated.
	* api/omdatabase.cc,backends/database.cc,bin/omtcpsrv.cc,
	  common/database.h,docs/,include/xapian/database.h,tests/api_db.cc:
	  Added constructors to Database and WritableDatabase which fulfil the
	  role that the Auto::open() factory functions currently do.
	  Auto::open() is now deprecated.
	* api/,backends/inmemory/inmemory_database.cc,
	  backends/quartz/quartz_database.cc,backends/quartz/quartz_postlist.h,
	  common/expandweight.h,common/stats.h,include/xapian.h:
	  #include <xapian.h> no longer pulls in xapian/output.h - this
	  removes the external ability to write a Xapian object to an
	  ostream directly, as it's little used and potentially dangerous
	  ('cout << mset[i];' will compile, but you almost certainly meant
	  'cout << *mset[i];').  You can get the old effect by writing
	  'cout << obj->get_description();' instead of 'cout << obj;'.
	  Adjusted all the library sources which relied on xapian/output.h
	  pulling in various other xapian/ headers.
	* backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
	  Debug output tweaks.
	* common/emptypostlist.h,matcher/mergepostlist.cc,matcher/multimatch.cc:
	  Added EmptyPostList::get_maxweight() which always returns 0, so you
	  no longer need to explicitly set a weighting scheme on an
	  EmptyPostList.
	* common/omdebug.h: Only include omstringstream.h if
	  XAPIAN_DEBUG_VERBOSE is in effect.
	* extra/Makefile.am: queryparsertest needs to link to libxapian.la
	  explicitly.
	* net/progclient.cc: Whitespace tweak.
	* testsuite/: Eliminated barely used sources indexer.h,
	  textfile_indexer.h, and textfile_indexer.cc.
	* testsuite/backendmanager.cc: Removed unused functions
	  make_strvec() and index_file_to_database().

Wed Dec 01 07:15:46 GMT 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: SF CF x86_64 machine no longer needs --disable-shared.

Tue Nov 30 21:53:33 GMT 2004  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.ac: Updated for 0.8.4 release.

Tue Nov 30 03:07:43 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac,backends/database.cc,backends/quartz/bcursor.cc,
	  backends/quartz/quartz_database.cc,
	  backends/quartz/quartz_postlist.cc,common/omassert.h,
	  common/omdebug.cc,common/omdebug.h,docs/doxygen_full_conf.in,
	  matcher/localmatch.cc,matcher/multimatch.cc,matcher/stats.cc,
	  tests/apitest.cc,tests/btreetest.cc,testsuite/backendmanager.cc,
	  testsuite/backendmanager.h,testsuite/testsuite.cc: Rename all the
	  MUS_xxx defines to XAPIAN_xxx.

Tue Nov 30 02:36:33 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac,backends/quartz/btree.cc: Get configure to probe for
	  the prototypes (if any) needed for pread and pwrite.

Tue Nov 30 01:09:26 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Instead of trying to coax pread/pwrite
	  prototypes out of the system headers, let's try just providing our
	  own!

Mon Nov 29 19:51:13 GMT 2004  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Moved -no-undefined to the right place, plus we
	  also need to pass @ldflags@ and ../libxapian.la in
	  libxapianqueryparser_la_LIBADD.

Mon Nov 29 18:28:57 GMT 2004  Olly Betts <olly@survex.com>

	* AUTHORS: Updated.

Mon Nov 29 18:27:12 GMT 2004  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Added -no-undefined to
	  libxapianqueryparser_la_LDFLAGS so it builds on mingw.

Mon Nov 29 17:46:54 GMT 2004  Olly Betts <olly@survex.com>

	* tests/Makefile.am: Don't try to run "runtest" as a test - it just
	  needs to be a dependency of the tests.

Sat Nov 27 02:58:28 GMT 2004  Olly Betts <olly@survex.com>

	* backends/inmemory/dir_contents: Trimmed whitespace.

Sat Nov 27 02:05:51 GMT 2004  Olly Betts <olly@survex.com>

	* NEWS: Updated ready for 0.8.4 release.

Sat Nov 27 02:03:40 GMT 2004  Olly Betts <olly@survex.com>

	* tests/Makefile.am: Added a dependency so "make check" regenerates
	  runtest if necessary.

Sat Nov 27 02:02:58 GMT 2004  Olly Betts <olly@survex.com>

	* AUTHORS: Updated.

Sat Nov 27 01:59:18 GMT 2004  Olly Betts <olly@survex.com>

	* README: Minor tweak.

Sat Nov 27 01:58:53 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Improved a couple of comments.

Sat Nov 27 01:42:32 GMT 2004  Olly Betts <olly@survex.com>

	* docs/: Trimmed trailing whitespace.

Sat Nov 27 01:41:33 GMT 2004  Olly Betts <olly@survex.com>

	* docs/stemming.html: Reworded text from BrightStation times which
	  talked about "the open source release".

Fri Nov 26 17:32:55 GMT 2004  Olly Betts <olly@survex.com>

	* docs/indexerquickstart.html: Removed dead documentation.

Fri Nov 26 17:11:19 GMT 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated with new cygwin report.

Fri Nov 26 17:07:21 GMT 2004  Olly Betts <olly@survex.com>

	* tests/api_anydb.cc,tests/api_nodb.cc,docs/bm25.html,
	  include/xapian/enquire.h,matcher/bm25weight.cc: Renamed BM25
	  parameters to match standard naming in papers and elsewhere
	  (A->k3, B->k1, C->k2, D->b), eliminated the extra factor of 2
	  which our C had, and reordered the parameters to k1, k2, k3.
	  This is an incompatible API change for BM25Weight(), so if
	  you are using custom parameters for BM25 you'll need to
	  update your code.

Fri Nov 26 15:20:16 GMT 2004  Olly Betts <olly@survex.com>

	* tests/runtest.in: Allow VALGRIND environmental variable to override
	  the value we got from configure.

Fri Nov 26 03:50:36 GMT 2004  Olly Betts <olly@survex.com>

	* matcher/bm25weight.cc,matcher/tradweight.cc: termfreq is always
	  exact for matching (we only approximate it for query expansion)
	  so replace code to work around bad approximations with Assert() to
	  make sure this never happens.

Fri Nov 26 00:19:22 GMT 2004  Olly Betts <olly@survex.com>

	* matcher/expandweight.cc,matcher/tradweight.cc: If we estimate the
	  term frequency, ensure it has a sane value (>= r and <= N - R + r)
	  rather than bodging around the problem later on.

Thu Nov 25 01:29:36 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Fixed recent cygwin change to
	  actually compile.

Thu Nov 25 01:06:03 GMT 2004  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Added --help and --version; Check that the
	  source path and desitination path aren't the same; Report each table
	  name when we start compacting it, and some simple stats on the
	  compaction achieved when we finish.

Tue Nov 23 16:19:09 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Fixed m4 quoting problem.

Tue Nov 23 12:47:54 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Fix the test for GCC3 used to turn on -Werror with
	  --enable-maintainer-mode.

Mon Nov 22 03:08:10 GMT 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Assorted updates.

Mon Nov 22 02:15:22 GMT 2004  Olly Betts <olly@survex.com>

	* tests/quartztest.cc: Test with DB_CREATE_OR_OPEN in writelock1.

Mon Nov 22 01:37:13 GMT 2004  Olly Betts <olly@survex.com>

	* common/utils.cc: define NOMINMAX as a cleaner way to prevent
	  windows.h from polluting the namespace and colliding with ANSI C++.

Sat Nov 20 14:36:43 GMT 2004  Olly Betts <olly@survex.com>

	* tests/runtest.in: --logfile-fd was renamed to --log-fd in valgrind
	  2.1.2 with no support for the old option name, so we must probe
	  to decide which to use.

Fri Nov 19 13:18:43 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/bcursor.cc,backends/quartz/bcursor.h: Eliminated
	  Bcursor::get_tag() - it's an internal method only used from one
	  other method, and it now just a trivial wrapper around
	  Btree::read_tag().

Fri Nov 19 04:20:39 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/bcursor.cc,backends/quartz/btree.cc,
	  backends/quartz/btree.h: Factored out near identical code from
	  Btree::find_tag() and Bcursor::get_tag() into Btree::read_tag().

Thu Nov 18 03:27:52 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Applied the Quartz "DANGEROUS" patch, but
	  disabled for now.  This way it won't keep being broken by changes
	  to the code.

Tue Nov 16 04:29:25 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Ah, it's __sun__/__sun/sun, not
	  __solaris__ (at least for x86 Solaris 9).

Tue Nov 16 02:56:44 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Solaris defines __solaris__ not
	  __SOLARIS__.

Mon Nov 15 12:40:38 GMT 2004  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Added new test userweight1 to test user defined
	  matching schemes.

Sun Nov 14 05:20:34 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_metafile.cc,
	  backends/quartz/quartz_metafile.h: Removed unused
	  QuartzMetaFile::erase() method.

Sun Nov 14 04:55:05 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: For cygwin, use the underlying
	  MoveFile API call for locking, as link() doesn't work on FAT
	  partitions.  And don't rely on HAVE_LINK to control whether we
	  use link() otherwise - if the configure test somehow misfires, a
	  compilation error is better than using rename() on Unix as that
	  would cause a second writer to smash the lock of the first.

Thu Nov 11 06:58:41 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Removed superfluous statement.

Tue Nov 09 23:50:10 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Need to include sys/types.h to define
	  ssize_t, size_t, and off_t before we prototype pread and pwrite
	  for OSF.

Tue Nov 09 22:39:00 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Tweaked the pread/pwrite mess to try to
	  get it to work on OSF and x86 Solaris while not breaking it
	  elsewhere.

Tue Nov 09 19:29:37 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: More refactoring.

Tue Nov 09 17:13:10 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/: More refactoring.  Also rearranged the contents
	  of the quartz and btree headers, eliminating btree_types.h in the
	  process.

Tue Nov 09 16:47:13 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_metafile.cc: Using fdcloser is less clear in
	  trivial cases.

Tue Nov 09 16:38:47 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Close the fd of the lock file
	  before trying to rename it on Windows.

Tue Nov 09 07:58:02 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h,
	  backends/quartz/btree_util.h: More refactoring.

Tue Nov 09 03:24:59 GMT 2004  Olly Betts <olly@survex.com>

	* xapian-config.in: Added --swigflags option for use with SWIG.

Mon Nov 08 22:54:55 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac,xapian-config.in: If flags are needed to select ANSI
	  mode with the current compiler, then make xapian-config --cxxflags
	  include them so that Xapian users don't have to jump through the
	  same hoops we do.

Mon Nov 08 04:49:21 GMT 2004  Olly Betts <olly@survex.com>

	* backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_database.h,backends/muscat36/,
	  backends/net/net_database.cc,backends/quartz/quartz_database.cc,
	  backends/quartz/quartz_database.h,common/database.h,
	  common/net_database.h,matcher/localmatch.cc: If a database contains
	  no positional information, change NEAR and PHRASE queries into AND
	  queries (as otherwise they'd return no matches at all) (bug#56).
	* tests/api_wrdb.cc: Added feature test phraseorneartoand1.

Mon Nov 08 04:09:04 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac,backends/quartz/btree.cc: Improved what we do to
	  turn on pread and pwrite declarations in unistd.h so that it works
	  on OSF and doesn't need the HAVE_GLIBC test, yet still works on
	  OpenBSD.

Mon Nov 08 03:55:51 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/,testsuite/btreecheck.cc: More refactoring.

Sun Nov 07 20:42:32 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: One more tweak.

Sun Nov 07 18:18:19 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac,include/xapian/version.h.in: Another tweak to hopefully
	  get version.h generation to work everywhere.

Sun Nov 07 15:01:23 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac,include/xapian/version.h.in: Terminating lines with 'N'
	  makes Sun's C++ unhappy.  Try ',' instead.

Sun Nov 07 03:54:42 GMT 2004  Olly Betts <olly@survex.com>

	* tests/api_nodb.cc: Added test_weight1 which tests the built-in
	  Xapian::Weight subclasses (bug#8).

Sun Nov 07 03:36:19 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree_util.h,
	  testsuite/btreecheck.cc: More refactoring.

Sun Nov 07 03:33:24 GMT 2004  Olly Betts <olly@survex.com>

	* matcher/bm25weight.cc,matcher/tradweight.cc: Fixed definitions to
	  match declarations after recent change.

Sun Nov 07 02:33:50 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Noted LIBRARY_VERSION_INFO which 0.8.4 will get.

Sun Nov 07 02:28:38 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: BoolWeight::unserialise() returns
	  BoolWeight*, etc.  BoolWeight::clone() returns BoolWeight *.

Sun Nov 07 02:24:17 GMT 2004  Olly Betts <olly@survex.com>

	* HACKING: Note that C++ style casts are preferable to C style casts;
	  Improve wording in a few places.

Sun Nov 07 01:05:58 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree_util.h,
	  testsuite/btreecheck.cc: Moved set_block_given_by()
	  and block_given_by() into Item class.

Sat Nov 06 21:16:15 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac,include/xapian/version.h.in: Fix generation of
	  version.h to work with aCC -E which concatenates adjacent literal
	  strings.

Sat Nov 06 20:58:00 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/,testsuite/btreecheck.cc: Started to refactor the
	  Btree manager by introducing Item and Key classes which take care
	  of handling the on-disk format.

Sat Nov 06 15:40:05 GMT 2004  Olly Betts <olly@survex.com>

	* xapian-config.in,m4/xapian.m4: Pass across ac_top_srcdir and use it
	  if provided to say "configure.ac" or "configure.in" rather than
	  "configure.in (or configure.ac)" in the "Add AC_PROG_LIBTOOL"
	  error message.

Sat Nov 06 14:49:05 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Updated comment - we now find SOURCEDOC in 2 goes (as
	  there are no longer any C sources).

Sat Nov 06 14:43:16 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Oops, STLPORT_CXXFLAGS *is* used (in xapian-config.in)
	  so revert the change which removes it.

Sat Nov 06 13:37:23 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h,matcher/bm25weight.cc,
	  matcher/tradweight.cc: Move virtual methods of BM25Weight and
	  TradWeight out of the header.

Sat Nov 06 13:19:32 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac,include/xapian/version.h.in: Another rework of how
	  include/xapian/version.h is generated - this time to make it work
	  with Sun's C++ compiler again; XAPIAN_VERSION is now a string;
	  Define XAPIAN_REVISION (which is 4 for version 0.8.4).

Sat Nov 06 04:22:57 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Don't AC_SUBST(STLPORT_CXXFLAGS) as it is never used
	  that way (it's included in AM_CXXFLAGS).

Sat Nov 06 01:03:53 GMT 2004  Olly Betts <olly@survex.com>

	* testsuite/testsuite.h: Removed incorrect comment about how STRINGIZE
	  is used.

Fri Nov 05 14:41:59 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/database.h: Removed a default parameter value from one
	  variant of open_db so that there's only one candidate for
	  open_db(string).

Fri Nov 05 14:40:38 GMT 2004  Olly Betts <olly@survex.com>

	* backends/database.cc: Renamed parameter from keys to values to
	  reflect current external naming.

Fri Nov 05 14:38:07 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/version.h.in,configure.ac: Fixed generation of
	  include/xapian/version.h to work with aCC.

Thu Nov 04 12:17:50 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Try "-std strict_ansi" for Compaq C++.

Thu Nov 04 11:22:52 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Fourth argument to AC_CHECK_HEADERS must be non-empty
	  to make a difference.

Thu Nov 04 10:21:25 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Found clean fix for inttypes.h problem (previous bodge
	  didn't work anyway).

Thu Nov 04 01:18:55 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Eliminated use of \( \) in sed expression as it
	  appears to cause problems on HP-UX.

Thu Nov 04 00:54:11 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Added icky workaround to Compaq C++ oddness - cc can
	  find inttypes.h but cxx can't.

Wed Nov 03 23:58:48 GMT 2004  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
	  net/socketserver.cc: Tweaked to compile with Compaq C++.

Wed Nov 03 22:55:04 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Need to put flags to select ANSI C++ mode in CXXFLAGS
	  not AM_CXXFLAGS.

Wed Nov 03 22:27:08 GMT 2004  Olly Betts <olly@survex.com>

	* api/omenquire.cc: Fixed typo.

Wed Nov 03 21:58:53 GMT 2004  Olly Betts <olly@survex.com>

	* api/omenquire.cc: Added explicit cast to try to help Compaq C++
	  build.

Wed Nov 03 21:38:29 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Probe for C++ compiler switches for ANSI mode as early
	  as possible.  With Compaq's C++, we need -D__USE_STD_IOSTREAM to
	  successfully #include <streambuf>.

Wed Nov 03 21:07:43 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Fixed snprintf configure test.

Wed Nov 03 19:37:32 GMT 2004  Olly Betts <olly@survex.com>

	* common/utils.cc: Fixed typo.

Wed Nov 03 19:27:22 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac,common/utils.cc: Improved snprintf checking.

Wed Nov 03 15:43:54 GMT 2004  Olly Betts <olly@survex.com>

	* getopt/getopt.cc: Fixed to compile when not using glibc.

Wed Nov 03 14:55:29 GMT 2004  Olly Betts <olly@survex.com>

	* bin/omtcpsrv.cc,bin/quartzdump.cc,common/Makefile.am,common/getopt.h,
	  common/gnu_getopt.h,getopt/,testsuite/testsuite.cc: Major overhaul
	  of getopt use.  Move from getopt(), getopt_long(), getopt_long_only()
	  to gnu_getopt(), etc so we don't need to dance around avoiding
	  clashes with getopt() stuff in system headers.  The new gnu_getopt.h
	  header is cruft free and hopefully won't trip up assorted compilers
	  or platforms.

Wed Nov 03 14:53:39 GMT 2004  Olly Betts <olly@survex.com>

	* tests/Makefile.am: quartztest doesn't use getopt directly, so no
	  need to link it.

Wed Nov 03 12:56:56 GMT 2004  Olly Betts <olly@survex.com>

	* tests/stemtest.cc: Prune unused #includes.

Wed Nov 03 03:47:46 GMT 2004  Olly Betts <olly@survex.com>

	* getopt/getopt.cc: Defining _NO_PROTO is a really bad idea for C++
	  code!

Wed Nov 03 03:34:06 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Removed AC_HEADER_STDC - Compaq's C++ compiler can't
	  find inttypes.h, but their C compiler can!

Wed Nov 03 02:48:04 GMT 2004  Olly Betts <olly@survex.com>

	* net/tcpclient.cc,net/tcpserver.cc: Use SOCKLEN_T for the type we
	  need to pass to various socket calls, since HPUX defines socklen_t
	  yet wants int in those calls.

Wed Nov 03 02:43:26 GMT 2004  Olly Betts <olly@survex.com>

	* autoconf/type_socklen_t.m4,matcher/networkmatch.cc,net/: If
	  __WIN32__ is defined, we want winsock2.h instead of sys/socket.h.
	  Mingw doesn't seem to even have the latter, so I think previously
	  we've been compiling by picking one up from somewhere random!

Wed Nov 03 01:10:01 GMT 2004  Olly Betts <olly@survex.com>

	* autoconf/type_socklen_t.m4: Rewritten to work with HPUX which
	  helpfully defines socklen_t but doesn't use it!

Tue Nov 02 21:29:40 GMT 2004  Olly Betts <olly@survex.com>

	* getopt/getopt.cc: Fixes for Compaq C++.

Tue Nov 02 18:51:43 GMT 2004  Olly Betts <olly@survex.com>

	* getopt/getopt.cc: Protect getopt definition for possible getopt
	  macro declared in getopt.h.

Tue Nov 02 16:52:21 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: AM_CONFIG_HEADER -> AC_CONFIG_HEADERS; removed
	  commented out AC_LANG_SAVE and AC_LANG_RESTORE.

Tue Nov 02 15:56:02 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: # comments -> dnl comments.

Tue Nov 02 15:54:46 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: $GCC -> $GXX; $CC -> $CXX.

Tue Nov 02 15:38:21 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac,docs/Makefile.am: Removed SOURCEDOC_C_SRC.

Tue Nov 02 06:51:39 GMT 2004  Olly Betts <olly@survex.com>

	* getopt/getopt.cc,getopt/getopt1.cc: Fixed function declarations to
	  not use K&R C syntax.

Tue Nov 02 05:31:57 GMT 2004  Olly Betts <olly@survex.com>

	* getopt/getopt.cc: Make _getopt_internal extern "C" too.

Tue Nov 02 04:43:08 GMT 2004  Olly Betts <olly@survex.com>

	* Makefile.am,configure.ac,HACKING,PLATFORMS,backends/muscat36/,
	  getopt/Makefile.am,getopt/getopt.cc,getopt/getopt1.cc,languages/:
	  Change the few C sources to be C++.  This way we don't need to
	  worry about configure choosing a mismatching pair of compilers,
	  or about whether configure tests with the C compiler don't apply
	  to the C++ compiler, or vice versa.

Tue Nov 02 04:31:49 GMT 2004  Olly Betts <olly@survex.com>

	* backends/muscat36/: More C casts converted to C++ casts.

Tue Nov 02 04:28:07 GMT 2004  Olly Betts <olly@survex.com>

	* matcher/bm25weight.cc,matcher/tradweight.cc: More C casts converted
	  to C++ casts.

Tue Nov 02 03:22:52 GMT 2004  Olly Betts <olly@survex.com>

	* backends/muscat36/: Removed unused test harness sources.

Tue Nov 02 02:44:34 GMT 2004  Olly Betts <olly@survex.com>

	* languages/pool.c,languages/pool.h: Removed unused sources.

Tue Nov 02 01:51:30 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: AC_TYPE_SIZE_T causes problems with Compaq C++ when it
	  fails to spot size_t (which is there) and the "#define size_t
	  unsigned long" it adds to config.h breaks "using std::size_t;".
	  Also removed AC_C_CONST as I don't believe that's needed either
	  in a largely C++ library.  Both of these have been in configure.in
	  since the very first version so I suspect autoscan decided we wanted
	  them.

Mon Nov 01 05:44:02 GMT 2004  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Fixed compilation problem on alpha Linux.

Mon Nov 01 03:16:36 GMT 2004  Olly Betts <olly@survex.com>

	* api/omqueryinternal.cc,api/omstem.cc,
	  backends/inmemory/inmemory_database.h,
	  backends/multi/multi_termlist.h,backends/quartz/,
	  extra/queryparser.yy,matcher/,net/tcpserver.cc,tests/api_anydb.cc,
	  tests/api_db.cc,tests/quartztest.cc,testsuite/backendmanager.cc,
	  testsuite/btreecheck.cc,testsuite/testsuite.cc: Changed C style
	  casts to C++ style.  The syntax is ugly, but they do make the intent
	  clearer which is a good thing.

Mon Nov 01 02:56:31 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Select ANSI iostream implementation for Compaq C++.

Mon Nov 01 02:41:58 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Compaq's C++ compiler doesn't know snprintf, yet their
	  C compiler does.  Let's try running *all* the configure checks with
	  the C++ compiler, since that's what we compile most code with.

Mon Nov 01 01:12:43 GMT 2004  Olly Betts <olly@survex.com>

	* common/netutils.cc: Fixed to compile.

Mon Nov 01 01:06:13 GMT 2004  Olly Betts <olly@survex.com>

	* common/Makefile.am,common/netutils.cc,common/netutils.h:
	  encode_tname() and decode_tname() aren't really sensible candidates
	  for inlining so move them out of a header.

Sun Oct 31 15:34:18 GMT 2004  Olly Betts <olly@survex.com>

	* configure.ac: Turn on -AA when compiling with HP's aCC.

Sun Oct 31 15:10:02 GMT 2004  Olly Betts <olly@survex.com>

	* testsuite/testutils.cc: Fixed mset_range_is_same() and
	  mset_range_is_same_weights() which were only comparing the
	  first items in the range.  Luckily the tests still all pass
	  so this wasn't hiding any bugs.

Sat Oct 30 19:15:48 BST 2004  Olly Betts <olly@survex.com>

	* configure.ac: Disable pread/pwrite on HP-UX as they don't work when
	  LFS in enabled, and we definitely want LFS.

Sat Oct 30 16:42:24 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/bcursor.cc: Fix Bcursor::del() which didn't always
	  leave the cursor on the next item like it should.
	* backends/quartz/quartz_postlist.cc: If we're removing a posting
	  list entirely, often there will only be one chunk, so avoid
	  creating a Bcursor in this case.

Sat Oct 30 16:55:19 BST 2004  Olly Betts <olly@survex.com>

	* languages/header.h: Removed unused #define MAXINT and MININT which
	  were clashing with some header on HP-UX.

Sat Oct 30 07:09:33 BST 2004  Olly Betts <olly@survex.com>

	* docs/bm25.html,docs/intro_ir.html: Reworked to talk about Xapian
	  rather than Muscat.  Also improved the appearance of the formulae.

Sat Oct 30 06:07:14 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Btree::read_block - debug log the value
	  of p, not the irrelevant contents of the block it points to.

Fri Oct 29 22:37:31 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Improved comments.

Fri Oct 29 05:10:02 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Fixed ultra-obscure bug in the code which
	  finds a key suitable to discriminating between two blocks in a
	  B-tree branch (discovered by reading the code).  Comparing the keys
	  didn't consider the length of the second, so it is possible the code
	  would miscompare.  But in reality this is extremely unlikely to
	  happen, and even then would probably just mean that the
	  discriminating key wouldn't be as short as it could be.

Fri Oct 29 04:12:09 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Simplified Btree::compare_keys() by
	  removing the last case which was dead code as it was covered by
	  an earlier case.

Wed Oct 27 21:17:12 BST 2004  Olly Betts <olly@survex.com>

	* HACKING,tests/runtest.in:
	  Enhanced runtest to allow it to run test programs under valgrind
	  and other tools (gdb was already supported).
	* testsuite/testsuite.cc: Point the user to the runtest script if
	  srcdir can't be guessed.  And no longer look for the test program
	  in the tests subdirectory of the current directory.
	* common/omdebug.cc: Removed compatibility code for checking
	  OM_DEBUG_FILE and OM_DEBUG_TYPES.
	* HACKING: Document that %% in XAPIAN_DEBUG_LOG is substituted with
	  the process-id, and that setting XAPIAN_DEBUG_FLAGS to -1 enables
	  all debug messages.
	* HACKING: Valgrind now supports x86 FreeBSD and PowerPC Linux.
	* HACKING: Removed mentions of long-dead configure options
	  --enable-profiling, --enable-purify and --enable-insure.

Wed Oct 27 21:16:10 BST 2004  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Document parameters of
	  Enquire::register_match_decider().

Wed Oct 27 21:14:32 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated.

Wed Oct 13 20:21:38 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Revert the
	  previous change as runtime sized arrays are a g++ extension.
	  Calling new and delete on every call to add_item() is probably
	  unwise.

Tue Oct 12 23:40:36 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: split_p is only
	  used by Btree::add_item(), so make it a temporary in that method
	  rather than a class member variable which we need to take care to
	  allocate and deallocate.

Mon Oct 11 16:32:10 BST 2004  Olly Betts <olly@survex.com>

	* tests/btreetest.cc: Fix memory leaks in test_cursor1.

Mon Oct 11 02:24:50 BST 2004  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Use 5 tables in the example for how we keep
	  revisions in step, since we use 5 tables in quartz.

Thu Oct 07 22:51:28 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: An interrupted update could cause any
	  further updates to fail with "New revision too low" because the
	  new revision was being calculated incorrectly - fixed.

Wed Oct 06 15:42:31 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,include/xapian/database.h: Check that any
	  user specified block size is a power of 2.  And if the block size
	  passed is invalid, use the default of 8192 rather than throwing an
	  exception.

Wed Oct 06 12:19:39 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated from tinderbox.

Wed Oct 06 01:10:46 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/quartz_document.cc,
	  matcher/multimatch.cc,common/multimatch.h: Fix some warnings
	  from Sun's C++ compiler.

Thu Sep 30 22:16:37 BST 2004  Olly Betts <olly@survex.com>

	* common/utils.cc,common/utils.h: Fixes for win32 and sun's c++
	  compiler.

Thu Sep 30 18:24:20 BST 2004  Olly Betts <olly@survex.com>

	* common/utils.h,extra/queryparser.yy: Fixed bug which caused
	  misparsing of certain prefixed queries, introduced by C_isXXXXX
	  change.

Thu Sep 30 11:09:17 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_anydb.cc: Modified version of changequery1 fails - the
	  fix is tricky, so just make it SKIP for now.

Wed Sep 29 21:33:29 BST 2004  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Fixed to work when srcdir != builddir.

Wed Sep 29 18:52:04 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS,docs/Makefile.am: Workaround odd latex problem.

Wed Sep 29 17:10:00 BST 2004  Olly Betts <olly@survex.com>

	* configure.ac,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
	  Updated doxygen conf files for doxygen 1.3.8.

Wed Sep 29 16:52:53 BST 2004  Olly Betts <olly@survex.com>

	* common/utils.cc,common/utils.h,extra/Makefile.am,
	  extra/queryparser.yy,tests/api_anydb.cc,testsuite/index_utils.cc:
	  Provide our own C_isalpha(), etc replacements for isalpha(), etc
	  which always work in the C locale and avoid signed char problems.

Tue Sep 28 00:04:11 BST 2004  Olly Betts <olly@survex.com>

	* common/utils.cc,common/utils.h: rmdir() isn't a sensible candidate
	  for inlining so move it out of the header.

Mon Sep 27 17:33:23 BST 2004  Olly Betts <olly@survex.com>

	* extra/queryparser.yy: Be smarter about when to add a ':' when adding
	  a term prefix.

Mon Sep 27 16:01:37 BST 2004  Olly Betts <olly@survex.com>

	* docs/scalability.html: Added note warning about benchmarking from
	  cold.

Mon Sep 27 15:20:13 BST 2004  Olly Betts <olly@survex.com>

	* HACKING: Note that we use doxygen 1.3.8 for snapshots and releases;
	  Note that --enable-maintainer-mode now automatically enables -Werror
	  with GCC 3.0 or newer.

Wed Sep 22 16:49:20 BST 2004  Olly Betts <olly@survex.com>

	* matcher/: Pruned unneeded #include-s and other tidying, some
	  enabled by the previous change.

Wed Sep 22 14:04:27 BST 2004  Olly Betts <olly@survex.com>

	* common/positionlist.h,matcher/: Moved all of the implementations
	  of the XXXPostList classes from the .h files into the .cc files.
	  All the methods are virtual, so we aren't going to gain anything
	  from being able to inline them.

Wed Sep 22 02:58:59 BST 2004  Olly Betts <olly@survex.com>

	* configure.ac: Automatically add -Werror to CFLAGS and CXXFLAGS if
	  maintainer mode is enabled and we're using GCC3 or newer.  Don't
	  do this for older GCCs as GCC 2.95 issues spurious warnings.

Wed Sep 22 02:41:41 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
	  Introduced CASSERT_TYPE_UNSIGNED to replace the common use of
	  CASSERT to assert at compile time that a type is unsigned.

Tue Sep 21 15:58:05 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Removed reports from versions prior to 0.7.0.  So much
	  has changed that these are of little value.

Mon Sep 20 15:24:27 BST 2004  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.ac: Version 0.8.3.

Mon Sep 20 15:13:34 BST 2004  Olly Betts <olly@survex.com>

	* AUTHORS: Updated.

Mon Sep 20 14:26:35 BST 2004  Olly Betts <olly@survex.com>

	* xapian.spec.in: Removed reference to xapian-examples' createdatabase
	  (which is no longer in xapian-examples).

Mon Sep 20 13:06:59 BST 2004  Olly Betts <olly@survex.com>

	* xapian.spec.in: Updated version from Fabrice Colin (incorporating
	  changes from Alan Cox's RPM spec files): split off libs into a
	  separate package to allow 32 and 64 bit versions to be installed
	  concurrently; include binaries from xapian-examples; updated source
	  URLs.

Mon Sep 20 03:25:44 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_anydb.cc: Added regression test for previous bug (test
	  checkatleast1).

Mon Sep 20 03:16:14 BST 2004  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Fixed segfault with check_at_least when there
	  were no matches.

Sun Sep 19 17:54:52 BST 2004  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/omdebug.cc: Fixed to compile with debug
	  tracing enabled.

Sat Sep 18 19:02:54 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Updated missed use of omprogsrv to xapian-progsrv.

Tue Sep 14 18:09:19 BST 2004  Olly Betts <olly@survex.com>

	* xapian.spec.in,bin/.cvsignore,bin/Makefile.am,debian/control.in,
	  debian/xapian-tools.install,docs/remote.html,tests/remotetest.cc,
	  testsuite/backendmanager.cc: Rename omtcpsrv to xapian-tcpsrv and
	  omprogsrv to xapian-progsrv.

Tue Sep 14 16:25:06 BST 2004  Olly Betts <olly@survex.com>

	* xapian.spec.in: Fixed mangled URL in last checkin.

Tue Sep 14 15:35:00 BST 2004  Olly Betts <olly@survex.com>

	* xapian.spec.in: Updated URL for tarball.

Tue Sep 14 02:49:34 BST 2004  Olly Betts <olly@survex.com>

	* HACKING: Updated the "how to do a release" tasklist.

Mon Sep 13 03:19:47 BST 2004  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.ac: Version 0.8.2.

Sat Sep 11 16:39:08 BST 2004  Olly Betts <olly@survex.com>

	* include/xapian/version.h.in: GCC 3.1 reported the wrong value for
	  __GXX_ABI_VERSION (100 not 101) so check 3.0 and 3.1 by version
	  number, keeping the __GXX_ABI_VERSION check for newer versions.

Sat Sep 11 02:57:48 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/bcursor.cc: Fixed and reenabled Bcursor::prev()
	  (not currently used, but it will be useful for running posting
	  lists backwards!)

Fri Sep 10 13:13:51 BST 2004  Olly Betts <olly@survex.com>

	* tests/Makefile.am: Need to ship test data for new test.

Thu Sep 09 21:58:37 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Extended feature test sortrel1 to check interaction
	  with Enquire::set_sort_forward(false).

Thu Sep 09 21:46:12 BST 2004  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
	  include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc,
	  tests/api_db.cc,tests/testdata/apitest_sortrel.txt: You can now
	  specify to sort by value, then relevance, then docid instead of
	  by value then docid.

Thu Sep 09 19:30:07 BST 2004  Olly Betts <olly@survex.com>

	* docs/todo.xml: Removed unused file - todo entries are now in
	  bugzilla.

Thu Sep 09 13:11:52 BST 2004  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
	  include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc:
	  Added optional "checkatleast" parameter to Enquire::get_mset()
	  which allows Omega's MIN_HITS functionality to be implemented
	  in the matcher (a bit more efficient).

Thu Sep 09 04:18:32 BST 2004  Olly Betts <olly@survex.com>

	* NEWS: Updated.

Thu Sep 09 03:39:52 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated from the tinderbox.  Sun's C++ compiler can
	  now build Xapian on sparc!

Thu Sep 09 02:19:43 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_wrdb.cc: Added feature test for
	  WritableDatabase::replace_document() and delete_document() with
	  a unique term (apitest:uniqueterm1.
	* backends/inmemory/inmemory_alltermslist.cc,
	  backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_database.h:
	  Fixed bugs thrown up by the new test.

Wed Sep 08 19:45:37 BST 2004  Olly Betts <olly@survex.com>

	* HACKING: Updated details of Solaris open workaround.

Wed Sep 08 19:42:15 BST 2004  Olly Betts <olly@survex.com>

	* common/utils.h,backends/quartz/btree.cc,
	  backends/quartz/quartz_database.cc,backends/quartz/quartz_log.cc:
	  New version of the Solaris open dance - now we always pass in
	  const char * for the filename, and we don't need the dance on
	  new versions, so only dance if open is defined.

Wed Sep 08 16:26:15 BST 2004  Olly Betts <olly@survex.com>

	* api/omquery.cc,include/xapian/query.h: Renamed Query::is_empty()
	  to Query::empty() for consistency.  Keep Query::is_empty() for
	  now as a deprecated alias.

Wed Sep 08 16:24:44 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_wrdb.cc: replace_doc -> replace_doc1; added new test
	  replace_doc2 to test using replace_doc to add a document with
	  a specified docid.

Wed Sep 08 16:23:50 BST 2004  Olly Betts <olly@survex.com>

	* backends/inmemory/inmemory_database.h: Removed unused member
	  variable "indexing".

Wed Sep 08 16:14:47 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: If replace_document() is used
	  to add a document with did greater than lastdocid, raise lastdocid
	  so future calls to add_document() won't clash.

Wed Sep 08 16:13:51 BST 2004  Olly Betts <olly@survex.com>

	* backends/inmemory/inmemory_database.cc: Fixed bug
	  Database::replace_document() to work with a document id greater
	  than lastdocid.

Wed Sep 08 05:10:01 BST 2004  Olly Betts <olly@survex.com>

	* common/utils.h: The latest fcntl.h dance causes a compile error on
	  mingw, so don't use it there.

Wed Sep 08 03:38:20 BST 2004  Olly Betts <olly@survex.com>

	* common/utils.h: Use a namespace as an extra step in the Sun fcntl
	  open64 dance.

Tue Sep 07 02:33:50 BST 2004  Olly Betts <olly@survex.com>

	* tests/test.da: Another cruft file removed.

Tue Sep 07 02:21:49 BST 2004  Olly Betts <olly@survex.com>

	* tests/btreetest.cc,tests/quartztest.cc: Moved overwrite1 from
	  quartztest to btreetest.  Added const in a few places.

Tue Sep 07 02:07:43 BST 2004  Olly Betts <olly@survex.com>

	* tests/quartztest.cc: Removed overwrite2 test.  Digging back in CVS
	  it's been disabled since the day after it added.  After all this
	  time it's hard to guess exactly what it was intended to test, so
	  just removing it seems simplest.  We already have overwrite1 to test
	  getting DatabaseModifiedError.

Tue Sep 07 01:52:25 BST 2004  Olly Betts <olly@survex.com>

	* tests/btreetest.cc: Cleaned up paths to temporary Btrees.

Mon Sep 06 17:51:27 BST 2004  Olly Betts <olly@survex.com>

	* tests/btreetest.cc,tests/quartztest.cc: Now that QuartzTable,
	  QuartzDiskTable, QuartzBufferedTable, QuartzCursor,
	  QuartzDiskCursor, and QuartzBufferedCursor are gone, move
	  quartztest tests which now just use Btree and Bcursor to btreetest.
	  This is more logical and should help make quartztest less of a
	  monster to compile.

Mon Sep 06 12:47:47 BST 2004  Olly Betts <olly@survex.com>

	* tests/Makefile.am: Ship testdata/apitest_allterms4.txt.

Mon Sep 06 02:46:32 BST 2004  Olly Betts <olly@survex.com>

	* tests/quartztest.cc: Xapian::Database will create the directory for
	  the database so there's no need to create it ourselves.

Mon Sep 06 02:40:57 BST 2004  Olly Betts <olly@survex.com>

	* tests/,tests/testdata/apitest_allterms4.txt: Split off tests which
	  require a writable database backend and tests which should work with
	  any database backend from api_db.cc as it was getting rather large.
	  Fixed simplequery2 to work with backends which don't return the
	  document length (such as the muscat36 backends).  Fixed allterms4
	  to work with muscat36 backends.

Mon Sep 06 02:39:29 BST 2004  Olly Betts <olly@survex.com>

	* backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
	  Fixed to compile now that internal_end_session() has gone.

Mon Sep 06 00:59:36 BST 2004  Olly Betts <olly@survex.com>

	* tests/runtest.in: Added support for running gdb on a test program,
	  automatically sorting out srcdir and libtool.

Mon Sep 06 00:49:11 BST 2004  Olly Betts <olly@survex.com>

	* tests/apitest_parser.pm: Removed long unused file.

Sun Sep 05 22:53:27 BST 2004  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Tweaked documentation comment to stop
	  doxygen parsing a hyphen as a single entry bullet point list.

Sun Sep 05 20:20:01 BST 2004  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.h: Added missing "std::" so code will
	  compile with GCC >= 3.

Sun Sep 05 13:54:58 BST 2004  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.h: Removed superfluous "BackendManager::".

Sun Sep 05 01:54:49 BST 2004  Olly Betts <olly@survex.com>

	* common/utils.cc,common/utils.h: Removed now unused files_exist()
	  function.

Sun Sep 05 01:50:35 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_db.cc,tests/apitest.cc,tests/apitest.h,
	  testsuite/backendmanager.cc,testsuite/backendmanager.h:
	  Cleaned up BackendManager by removing complications only required
	  by absentfile1 test, which can be implemented more directly anyway.

Sun Sep 05 01:33:16 BST 2004  Olly Betts <olly@survex.com>

	* tests/quartztest.cc: Cleaned up rather odd code which is a hangover
	  from when keys and tags weren't simply C++ strings.

Sat Sep 04 12:35:12 BST 2004  Olly Betts <olly@survex.com>

	* HACKING: Updated details of which autotools we require.

Fri Sep 03 17:51:59 BST 2004  Olly Betts <olly@survex.com>

	* configure.ac: Require autoconf 2.59.  Noted LIBRARY_VERSION_INFO
	  which 0.8.2 will probably have.
	* Makefile.am: Require automake 1.8.5.

Fri Sep 03 16:40:11 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated with results from tinderbox.

Fri Sep 03 14:34:00 BST 2004  Olly Betts <olly@survex.com>

	* autoconf/definedir.m4,autoconf/rjb_find_stlport.m4: Quote macro
	  names to fix warning from newer aclocal.  Removed comments about
	  future autodetection of stlport, as the user will always need to
	  decide between the STL supplied with the compiler and stlport.

Thu Sep 02 17:55:33 BST 2004  Olly Betts <olly@survex.com>

	* matcher/andpostlist.cc: Initialise lmax and rmax to 0.  Hopefully
	  this will fix SIGFPE on apitest's qterminfo2 on alpha linux.

Thu Sep 02 14:50:20 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Not storing the document length
	  and last docid on every add means that the magic key won't always
	  exists when there are records and
	  QuartzWritableDatabase::get_doccount() is sometimes off by one.  Fix
	  crudely for now by making sure that the magic key does always exist.
	  Longer term the magic key probably should be in the postlist table
	  but that's an incompatible change.

Wed Sep 01 16:15:23 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/: Change QuartzWritableDatabase to store the total
	  document length and the last docid itself rather than tallying added
	  and removed document length and writing the last docid back every
	  time a document is added.  This gives cleaner code and a small
	  performance win.  Removed XAPIAN_FLUSH_THRESHOLD_LENGTH as we no
	  longer tally the length changes, and made the default flush
	  threshold 10000 documents (was 1000).

Wed Sep 01 14:21:19 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Turn on previously commented-out code to
	  make the first key null for blocks more than 1 away from the leaves.
	  It saves disk space for a tiny CPU and RAM cost so is bound to be
	  a win overall.

Tue Aug 31 13:55:58 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h,
	  backends/quartz/btree_util.h: Merged Btree::make_index_item() into
	  Btree::enter_key().

Tue Aug 31 01:07:19 BST 2004  Olly Betts <olly@survex.com>

	* NEWS: Updated in preparation for a release.

Tue Aug 31 00:53:35 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Short-cutting Btree::cancel causes
	  problems so disable that for the time being at least.

Fri Aug 27 13:09:56 BST 2004  Olly Betts <olly@survex.com>

	* testsuite/btreecheck.cc: Fixed %% to % (presumably a hangover from
	  converting printf to cout).

Thu Aug 26 18:11:50 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Reduce quartz postlist chunk
	  threshold from 2048 to 2000 so that chunks won't get split by the
	  Btree.

Thu Aug 26 18:10:27 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_record.cc: Throw DocNotFoundError if we
	  try to delete a record which doesn't exist.

Thu Aug 26 17:18:56 BST 2004  Olly Betts <olly@survex.com>

	* configure.ac: Don't define DATADIR - we no longer use it and clashes
	  with more recent mingw headers.

Wed Aug 25 22:47:06 BST 2004  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Started section on quartzcompact.

Wed Aug 25 22:45:48 BST 2004  Olly Betts <olly@survex.com>

	* api/omdatabase.cc,include/xapian/database.h: Changed new
	  WritableDatabase::replace_document(term, doc) method to return
	  the docid which the document was given.

Tue Aug 24 13:45:52 BST 2004  Olly Betts <olly@survex.com>

	* api/omenquire.cc,include/xapian/enquire.h: Added new ESet methods
	  swap(), back() and operator[].
	* include/xapian/enquire.h: Added documentation comments for
	  MSet methods size(), empty(), swap(), begin(), end(), back().
	* include/xapian/enquire.h: Removed bogus documentation saying
	  that some Enquire methods can throw DatabaseOpeningError.

Tue Aug 24 10:24:30 BST 2004  Olly Betts <olly@survex.com>

	* HACKING: Noted automake 1.8 may be problematic.  Tweaked list of
	  release tasks.

Tue Aug 24 10:16:38 BST 2004  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: If a matchdecider is specified and no matches
	  are requested, the lower bound on the number of matches must be 0
	  (since the matchdecider could reject all the matches).

Mon Aug 23 23:03:12 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Improved the "Db block overwritten"
	  message.  The DatabaseCorruptError version now suggests multiple
	  writers may be the cause, while the DatabaseModifiedError version
	  uses less alarming wording and says to call Database::reopen().

Sun Aug 22 14:07:35 BST 2004  Olly Betts <olly@survex.com>

	* indexer/: Removed the old XML-based indexer framework.  It's not
	  worked for ages, and nobody seems interested in ressurecting it.
	  If anyone ever is, they can fetch it back from CVS, but otherwise
	  it's just bulking up CVS checkouts.

Sun Aug 22 13:02:25 BST 2004  Olly Betts <olly@survex.com>

	* Makefile.am,configure.ac,extra/Makefile.am: Moved the older library
	  version information into configure.ac.

Sun Aug 22 12:58:21 BST 2004  Olly Betts <olly@survex.com>

	* HACKING,configure.in,configure.ac,backends/Makefile.am,
	  docs/Makefile.am: Renamed configure.in to configure.ac.

Sun Aug 22 12:47:43 BST 2004  Olly Betts <olly@survex.com>

	* xapian-config.in: Add "(or configure.ac)" in message telling the
	  user to add a line to their configure.in.

Sun Aug 22 11:38:55 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree_util.h: Adjusted
	  some Asserts to check c is within blocksize rather than
	  65536.  Added a FIXME for those which can't be trivially changed.

Sun Aug 22 10:56:56 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: No need to force a flush on
	  QuartzWritableDatabase::open_document() (the document will read
	  things lazily from the database, and that may trigger a forced
	  flush).
	* backends/quartz/quartz_database.cc,
	  backends/quartz/quartz_database.h: Eliminated
	  QuartzDatabase::open_post_list_internal() and
	  QuartzDatabase::open_term_list_internal().

Sun Aug 22 01:33:05 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc,backends/quartz/quartz_record.cc,
	  backends/quartz/quartz_record.h: WritableDatabase::get_avlength()
	  no longer forces pending changes to be flushed.  This means you can
	  now search a modified WritableDatabase without causing a flush
	  unless the search includes a term whose postlist has pending
	  modifications.

Fri Aug 20 20:03:59 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree_util.h,common/,docs/overview.html,
	  docs/quickstart.html,include/xapian/enquire.h,
	  matcher/branchpostlist.h,matcher/multimatch.cc,tests/api_db.cc:
	  Corrected multiple occurrences of "an Xapian::XXX" to "a Xapian::XXX"
	  (presumably these all resulted from replacing "Om" with "Xapian::").

Fri Aug 20 17:38:15 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
	  bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc:
	  Merged QuartzCursor into Bcursor.

Fri Aug 20 13:43:04 BST 2004  Olly Betts <olly@survex.com>

	* NEWS,backends/quartz/: Fixed the problem with "lazy tag reading"
	  in QuartzCursor and reenable that code.  The problem was with
	  deleting the current key, so added QuartzCursor::del() which
	  deletes the current key, leaving the cursor on the next item.

Fri Aug 20 13:04:33 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Reenabled test allterms2, but with the iterator
	  copying parts removed - TermIterator is an input_iterator so
	  that part was invalid.

Thu Aug 19 19:19:48 BST 2004  Olly Betts <olly@survex.com>

	* NEWS: Updated from recent ChangeLog entries.

Thu Aug 19 14:09:28 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Added regression test for bug #37.

Thu Aug 19 13:31:37 BST 2004  Olly Betts <olly@survex.com>

	* matcher/localmatch.cc: Fixed problems handling termweights in
	  queries with the same term repeated (bug #37).

Thu Aug 19 13:22:12 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_table.cc: Disable the "lazy tag reading" in
	  QuartzCursor for the time being - it seems to cause problems.

Thu Aug 19 12:58:10 BST 2004  Olly Betts <olly@survex.com>

	* bin/quartzcheck.cc,bin/quartzdump.cc: Added calls to
	  QuartzCursor::read_tag().

Thu Aug 19 12:56:53 BST 2004  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Removed superfluous clear() of a map.

Thu Aug 19 12:56:08 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Corrected a comment - a pure boolean query has all
	  weights set to 0, not 1.

Mon Aug 16 15:41:33 BST 2004  Olly Betts <olly@survex.com>

	* docs/: Removed unused and very out of date class diagrams in dia
	  format.  Doxygen generates similar but up-to-date diagrams
	  automatically anyway.

Mon Aug 16 15:27:30 BST 2004  Olly Betts <olly@survex.com>

	* xapian.spec.in,debian/libxapianVERSION-dev.install,
	  extra/.cvsignore,extra/Makefile.am,extra/omparsequery.h,
	  include/Makefile.am,include/om/.cvsignore,include/om/dir_contents,
	  include/om/om.h,m4/xapian.m4: Removed the compatibility layer which
	  allowed programs written against the pre-0.7.0 API to be compiled.

Mon Aug 16 15:08:08 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_table.cc: Fixed QuartzCursor::find()
	  to work again after the last change.

Mon Aug 16 14:43:08 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/,tests/quartztest.cc: QuartzCursor no longer
	  automatically reads the tag - you have to call read_tag() to
	  get it read.  This speeds up iterator over all the terms in
	  a database.  Also commented out QuartzCursor::prev as it's
	  unused and untested (at least in its latest form).

Mon Aug 16 12:39:56 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree_types.h: Made Bcursor.rewrite bool rather than
	  int.

Mon Aug 16 12:35:07 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Calculate and
	  store the latest revision number, rather than storing the other
	  one and working out which is newer every time we're asked.

Mon Aug 16 12:32:59 BST 2004  Olly Betts <olly@survex.com>

	* docs/install.html: We haven't "only [...] UNIX" for ages, so don't
	  claim we are.  We use libtool as well as autoconf and automake.
	  Link to the CVS snapshots.  And also mention downloading omega.

Mon Aug 16 12:20:04 BST 2004  Olly Betts <olly@survex.com>

	* docs/index.html: exaplains -> explains.

Mon Aug 16 12:18:34 BST 2004  Olly Betts <olly@survex.com>

	* docs/overview.html: Removed references to "our company" (meaning
	  BrightStation) and to the now defunct special parameters which
	  the inmemory backend accepted to cause deliberate errors for
	  testing.

Sun Aug 15 23:48:20 BST 2004  Olly Betts <olly@survex.com>

	* tests/btreetest.cc: item_count -> get_entry_count(); revision_number
	  -> get_open_revision_number().

Sun Aug 15 23:15:34 BST 2004  Olly Betts <olly@survex.com>

	* backends/Makefile.am,backends/inmemory/Makefile.am: Fixed to compile
	  with --disable-inmemory (bug #33).

Sat Aug 14 18:56:06 BST 2004  Olly Betts <olly@survex.com>

	* Makefile.am: Improved library versioning comment.

Sat Aug 14 18:55:17 BST 2004  Olly Betts <olly@survex.com>

	* docs/overview.html: Fixed om_queryop to Xapian::Query::op, and added
	  missing OP_* codes to the list.

Sat Aug 14 17:44:39 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/bcursor.h,backends/quartz/btree.cc,
	  backends/quartz/btree.h,bin/quartzcompact.cc,docs/quartzdesign.html:
	  Updated quartz design docs to reflect recent changes.  Also pulled
	  out the Btree and Bcursor API docs and slotted them in as doxygen
	  documentation comments - this way they're much more likely to
	  be kept up-to-date.

Sat Aug 14 15:59:07 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Removed unused
	  Btree default ctor.

Sat Aug 14 15:45:28 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Don't redundantly
	  store next_revision - it's always just revision_number + 1.

Sat Aug 14 15:30:30 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Implemented Btree::cancel directly rather
	  than closing and reopening the Btree.

Sat Aug 14 14:46:43 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
	  bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc,
	  testsuite/btreecheck.cc,testsuite/btreecheck.h: Eliminated
	  QuartzTable which had become just a thin wrapper around Btree.

Fri Aug 13 19:19:02 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc:
	  QuartzPostList::move_to_chunk_containing now calls next_chunk if
	  required, rather than forcing the caller to do the fix-up.

Fri Aug 13 17:54:53 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc,
	  backends/quartz/quartz_database.h: Added tunable flush thresholds
	  - set XAPIAN_FLUSH_THRESHOLD=5000 to flush every 5000 documents
	  or XAPIAN_FLUSH_THRESHOLD_LENGTH=1000000 to flush every 1000000
	  total change in document length.  Set both to flush whichever is
	  reached first.  Set neither and the default is to flush every
	  1000 documents as before.

Fri Aug 13 15:54:21 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/: Removed no-longer-used Btree::erase and
	  QuartzTable::erase methods.

Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/quartz_database.cc:
	  Changed Btree::create() to remove any pre-existing alternate base
	  file, so we no longer need to call Btree::erase before
	  Btree::create.

Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>

	* NEWS: Updated with changes since last release.

Fri Aug 13 15:36:04 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_posdb.cc,tests/quartztest.cc: Reworked quartztest's
	  positionlist1 into a generic api test as apitest's poslist3.

Thu Aug 12 16:26:42 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_table.cc,backends/quartz/quartz_table.h,
	  bin/quartzcheck.cc,bin/quartzdump.cc: QuartzCursor now has a
	  Bcursor member, rather than an AutoPtr<Bcursor> member.

Thu Aug 12 14:13:37 BST 2004  Olly Betts <olly@survex.com>

	* tests/btreetest.cc: Fixed up in line with the recent refactoring.

Thu Aug 12 13:23:31 BST 2004  Olly Betts <olly@survex.com>

	* m4/xapian.m4: XO_LIB_XAPIAN now AC_SUBSTs XAPIAN_VERSION.

Thu Aug 12 13:21:36 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/,tests/quartztest.cc: Refactored, replacing
	  Quartz*Manager with Quartz*Table.

Thu Aug 12 02:00:58 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/: Merged QuartzTableManager into QuartzDatabase.

Wed Aug 11 23:40:34 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
	  Eliminated buffered_tables member of QuartzWritableDatabase.

Wed Aug 11 21:26:35 BST 2004  Olly Betts <olly@survex.com>

	* backends/inmemory/inmemory_database.cc,
	  backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
	  docs/todo.xml: WritableDatabase::replace_document can now be used
	  to add a document with a specific docid (to allow keeping docids
	  in sync with numeric UIDs from another system).

Wed Aug 11 20:09:15 BST 2004  Olly Betts <olly@survex.com>

	* api/omdatabase.cc,include/xapian/database.h: Added replace_document
	  and delete_document variants which take a unique id term name rather
	  than a document id.
	* include/xapian/database.h: Better documentation for replace_document
	  and delete_document.

Wed Aug 11 16:15:10 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/,bin/quartzcheck.cc,bin/quartzdump.cc,
	  tests/quartztest.cc: Eliminated QuartzBufferedTable.

Wed Jun 30 20:34:08 BST 2004  Olly Betts <olly@survex.com>

	* NEWS: Fixed an unwrapped line.

Wed Jun 30 20:32:31 BST 2004  Olly Betts <olly@survex.com>

	* HACKING: Added note about the cvs-tag-release script.

Wed Jun 30 19:05:45 BST 2004  Olly Betts <olly@survex.com>

	* HACKING,NEWS,PLATFORMS,configure.in: Version 0.8.1.

Wed Jun 30 14:23:20 BST 2004  Olly Betts <olly@survex.com>

	* AUTHORS,PLATFORMS: Updated.

Tue Jun 29 23:24:59 BST 2004  Olly Betts <olly@survex.com>

	* tests/api_nodb.cc: Make emptyquery1 check that Query("") causes an
	  InvalidArgumentError exception.

Tue Jun 29 17:29:03 BST 2004  Richard Boulton <richard@tartarus.org>

	* Makefile.am: Remove Debian files from distribution tarballs,
	  since there will often be multiple patch releases for each
	  release.  Debian files will be available from an apt repository
	  in future.

Mon Jun 28 01:29:00 BST 2004  Olly Betts <olly@survex.com>

	* NEWS: Mostly updated for 0.8.1 release.

Sun Jun 27 23:37:01 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Fixed bug in postlist merging.

Sat Jun 26 00:51:04 BST 2004  Olly Betts <olly@survex.com>

	* AUTHORS: Add Malcolm Baldridge (helped fix a problem with building
	  the PHP bindings with newer versions of SWIG and PHP).

Fri Jun 26 00:29:10 BST 2004  Olly Betts <olly@survex.com>

	* HACKING,api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
	  api/omtermlistiterator.cc,include/xapian/: MSetIterator and
	  ESetIterator are now bidirectional iterators (rather than
	  just input iterators);  Fixed post-increment forms of
	  PostingIterator, TermIterator, PositionIterator, and ValueIterator
	  so that *i++ works (as it must for them to be true input iterators).

Thu Jun 24 18:03:46 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Added success report for Slackware Linux 9.1.

Mon Jun 21 16:33:16 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Corrected -> to . so code
	  compiles with debug enabled.

Mon Jun 21 03:25:24 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Eliminated two calls to abort() - throw
	  exceptions instead.

Mon Jun 21 03:21:14 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Finish backing out incorrect
	  change from "Fri May 07 03:16:29 BST 2004" - failed to change two
	  lines back before.

Fri Jun 18 16:48:10 BST 2004  Richard Boulton <richard@tartarus.org>

	* configure.in: Fix typo (STLPORT_CXXLAGS -> STLPORT_CXXFLAGS)

Thu Jun 17 03:46:32 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Cleaned up code to track
	  add vs delete vs modify of a posting list entry since we now
	  force a flush if an entry is about to be retouched.

Thu Jun 17 03:44:21 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Back out incorrect change from
	  "Fri May 07 03:16:29 BST 2004".  We do need to call get_or_make_tag
	  in this case because we're modifying the tag.

Wed Jun 16 15:40:21 BST 2004  Olly Betts <olly@survex.com>

	* backends/inmemory/inmemory_database.h: Implemented get_lastdocid()
	  for InMemory backend.

Wed Jun 16 02:39:41 BST 2004  Olly Betts <olly@survex.com>

	* configure.in: Note the value of LIBRARY_VERSION_INFO which 0.8.1
	  would get if it were released now.

Wed Jun 16 02:39:11 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>

	* api/omdatabase.cc, include/xapian/database.h,
	  backends/database.cc, common/database.h,
	  backends/quartz/quartz_database.cc, backends/quartz/quartz_database.h,
	  backends/quartz/quartz_record.cc, backends/quartz/quartz_record.h:
	  New method Database::get_lastdocid for re-synchronizing an old
	  quartz index.

Wed Jun 16 02:05:07 BST 2004  Richard Boulton <richard@tartarus.org>

	* matcher/multimatch.cc: When collapsing, keep track of the number
	  of collapses performed, and use this information to modify the
	  bounds and estimate of the number of matches.
	* tests/api_db.cc: Added tests for this.
	* include/xapian/enquire.h: Update documentation comments for
	  MSet::get_matches_*() functions to make clear that collapsing and
	  cutoffs are taken into account.  (Previously, the most likely
	  interpretation of the comments was that they wouldn't be taken
	  into account, but the implementation was that percentage cutoffs
	  were taken into account.)  Due to this ambiguity, I think it is
	  reasonable to say this isn't an API change.

Wed Jun 16 01:55:29 BST 2004  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Rearranged code so that the behaviour can
	  be easily seen to be unchanged, but so that it's closer to the
	  result of applying Richard's patch for bug #31.

Wed Jun 16 01:27:09 BST 2004  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Trimmed extra whitespace.

Tue Jun 15 15:40:11 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Fixed PostlistChunkReader to
	  take a copy of the postlist data being read to avoid problems with
	  reading data from a string that's been deleted.

Tue Jun 15 15:26:54 BST 2004  Olly Betts <olly@survex.com>

	* HACKING: Updated the list of tasks required for a new release.

Tue Jun 15 15:24:04 BST 2004  Olly Betts <olly@survex.com>

	* Makefile.am,configure.in,extra/Makefile.am: Unify the shlib version
	  numbers (the small benefit of tracking them individually makes it
	  hard to justify the extra work required, and having one version
	  simplifies debian packaging too).

Tue Jun 15 14:52:36 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>

	* extra/xapian/queryparser.h: Fixed memory leaked upon QueryParser
	  destruction.

Fri Jun 11 02:18:35 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Refactored a loop.

Fri Jun 11 02:17:05 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Fixed bug which meant we
	  sometimes failed to remove a posting when deleting or replacing
	  a document.

Fri Jun 11 02:16:16 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc,
	  backends/quartz/quartz_postlist.h: Merged move_to() into skip_to().

Fri Jun 11 02:14:56 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Fixed typo in comment.

Thu May 27 15:41:45 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Eliminated the
	  split cursor - we only actually need a single block buffer to
	  handle splitting blocks.

Wed May 26 04:02:18 BST 2004  Olly Betts <olly@survex.com>

	* include/om/om.h,include/xapian/errortypes.h: Removed several unused
	  Xapian::Error subclasses (these were used by the indexer framework
	  which we decided was a failed experiment).

Wed May 26 01:54:13 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: More DEBUGCALL
	  tracing added; split_root now uses level member rather than a
	  parameter.

Sun May 23 00:56:41 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Merge split_off()
	  into add_item().

Sat May 22 01:28:58 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Another DEBUGCALL.
	* backends/quartz/quartz_table.h: Improved comments.

Fri May 21 23:17:01 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Removed unnecessary assignment which is
	  a hangover from the shared level code we removed long ago.

Fri May 21 20:31:56 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/,docs/quartzdesign.html,testsuite/btreecheck.cc:
	  Removed overwritten flag (unused as we throw an exception anyway).
	  If Btree is writable, throw DatabaseCorruptError if we detect
	  overwritten.  Make use of bool return types consistent.  Removed
	  documentation of Btree error codes (the error codes themselves
	  were removed a month ago).

Thu May 20 03:50:46 BST 2004  Olly Betts <olly@survex.com>

	* include/xapian/database.h: Remove references to sessions in doxygen
	  comments.

Thu May 20 03:44:28 BST 2004  Olly Betts <olly@survex.com>

	* api/omdatabase.cc,backends/database.cc,
	  backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_database.h,
	  backends/muscat36/da_database.h,backends/muscat36/db_database.h,
	  backends/net/net_database.cc,backends/quartz/quartz_database.cc,
	  backends/quartz/quartz_database.h,common/database.h,
	  common/net_database.h: Clean up the backend interface.

Thu May 20 03:18:30 BST 2004  Olly Betts <olly@survex.com>

	* backends/database.cc,backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_database.h,backends/muscat36/,
	  backends/net/net_database.cc,backends/quartz/quartz_database.cc,
	  backends/quartz/quartz_database.h,common/database.h:
	  Stripped out the session machinery - all that is actually required
	  is to ensure that any unflushed changes are flushed when the dtor
	  runs.

Mon May 17 01:04:17 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h,
	  backends/quartz/btree_types.h: Reworked split_p and split_n
	  members of Cursor into a separate C_split cursor.  This
	  reduces the memory overhead of each Bcursor (and hence each
	  QuartzPostList).

Sat May 15 01:29:40 BST 2004  Olly Betts <olly@survex.com>

	* docs/quickstart.html: Corrected lingering reference to "om.h" and
	  note that we need <iostream>.
	* docs/quickstartindex.cc.html,docs/quickstartexpand.cc.html,
	  docs/quickstartsearch.cc.html: Add <iostream>.
	* AUTHORS: Add John Ward for pointing out the above problems.

Fri May 14 00:59:51 BST 2004  Olly Betts <olly@survex.com>

	* HACKING: Added the start of a list of subtasks when doing a release.
	  Currently it's always me that does this, but it may not always be
	  and anyhow it'll help me to have a list to run through.

Fri May 14 00:59:21 BST 2004  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Thu May 13 17:14:18 BST 2004  Olly Betts <olly@survex.com>

	* extra/queryparser.yy: When stripping non-alphanums prior to
	  reparsing, keep dots ('.').
	* extra/queryparsertest.cc: Pruned near-duplicate queryparsertest
	  testcases.

Thu May 13 12:09:19 BST 2004  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: "interger" -> "integer".

Thu May 13 11:20:44 BST 2004  Olly Betts <olly@survex.com>

	* Makefile.am: Removed bogus extra line added by last change.

Thu May 13 11:11:31 BST 2004  Olly Betts <olly@survex.com>

	* configure.in,Makefile.am,autoconf/.cvsignore,autoconf/Makefile.am,
	  m4/.cvsignore,m4/Makefile.am: Removed trivial m4/Makefile.am and
	  and autoconf/Makefile.am and do the work from the top level
	  Makefile.am instead.  It's easy to see the structure this way, and
	  it also removes a couple of recursive make invocations.

Thu May 13 09:32:22 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Added DEBUGCALL
	  tracing;  Stripped out C_ parameters where they are always the
	  internal cursor C.

Thu May 13 00:05:45 BST 2004  Olly Betts <olly@survex.com>

	* extra/queryparser.yy,extra/queryparsertest.cc: If we fail to parse
	  a query, try stripping out non-alphanumerics and reparsing.

Wed May 12 14:32:54 BST 2004  Olly Betts <olly@survex.com>

	* common/omtime.h: Corrected file description.

Wed May 12 02:08:44 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Fixed typos in comment.

Tue May 11 20:55:56 BST 2004  Olly Betts <olly@survex.com>

	* xapian-config.in: Added comment saying why we filter out
	  -I/usr/include; Removed no longer used "optarg" stuff; Added licence
	  boilerplate text (with (C) dates mined from CVS).

Tue May 11 13:42:38 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/bcursor.cc,backends/quartz/btree.cc: Added lots
	  of assertions.

Tue May 11 09:29:51 BST 2004  Richard Boulton <richard@tartarus.org>

	* debian/: Added basic Debian packaging.

Mon May 10 17:17:45 BST 2004  Olly Betts <olly@survex.com>

	* docs/quartzdsign.html: Corrected various pieces of out of date
	  information.

Mon May 10 01:30:35 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.h: Removed unused forward declaration of
	  class BtreeCheck.

Mon May 10 01:30:24 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Fixed typo.

Sat May 08 20:14:40 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/: Pruned some #include-s which were unused, or could
	  be replaced by forward class declarations.

Fri May 07 14:38:10 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Slight efficiency tweak to the
	  "deleting the whole posting list" case.

Fri May 07 03:16:29 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Removed another unnecessary use
	  of QuartzBufferedTable::get_or_make_tag().

Fri May 07 02:56:22 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Initialise prev_ptr and next_ptr at open
	  time for a writable Btree.

Fri May 07 02:46:53 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Remove unneeded call to
	  QuartzBufferedTable::get_or_make_tag() in a case when we're using a
	  cursor which has already fetched the tag.

Thu May 06 23:30:12 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Improved a comment.

Thu May 06 22:20:43 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Added a few more assertions.

Thu May 06 02:25:33 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_positionlist.cc,
	  backends/quartz/quartz_utils.h: Added SON_OF_QUARTZ define to
	  disable incompatible changes to database formats by default, and
	  use it to control the docid encoding for keys such that we're always
	  inserting at the end of the table when added new documents.

Thu May 06 02:23:02 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Improved a FIXME comment.

Thu May 06 00:32:17 BST 2004  Olly Betts <olly@survex.com>

	* extra/queryparsertest.cc: Added test case for `term NOT "a phrase'.

Thu May 06 00:28:32 BST 2004  Olly Betts <olly@survex.com>

	* common/omdebug.cc,common/omdebug.h: Renamed OmTimer class used
	  internally by the --enable-debug=profile code to
	  Xapian::Internal::Timer.

Wed May 05 13:59:47 BST 2004  Olly Betts <olly@survex.com>

	* docs/scalability.html: Reworded to remove use of first person.

Mon May 03 21:42:05 BST 2004  Olly Betts <olly@survex.com>

	* Makefile.am: Improved wording of a FIXME comment.

Sun May 02 10:18:55 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Improved a couple of comments.

Sat May 01 04:42:43 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h,
	  backends/quartz/quartz_table.cc: Reopening the readonly version
	  of a writable Btree is now more efficient.

Sat May 01 01:41:24 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Added up-to-date success reports for x86-openbsd and
	  x86-solaris.

Fri Apr 30 04:05:15 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/: Don't delete and reload the Btree_base just after
	  saving it - instead reuse the existing Btree_base object.

Fri Apr 30 02:41:50 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Clean up new code in Btree::commit()
	  from last change.

Thu Apr 29 22:41:05 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/quartz_table.cc: Don't
	  close and reopen the database table file descriptors every time
	  we flush changes.

Thu Apr 29 22:40:36 BST 2004  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Improved wording in a couple of places.

Thu Apr 29 16:50:45 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/bcursor.cc: Removed references to Btree::error
	  from debug code since Btree::error was removed a week ago.

Tue Apr 27 20:46:25 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,configure.in: Added configure test for
	  glibc, because otherwise we need to include a header before we
	  can check for glibc in order to define something we should be
	  defining before we include any headers!

Tue Apr 27 17:45:51 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Only defined _XOPEN_SOURCE if __GLIBC__
	  is defined.  OpenBSD seems to do the opposite to Linux and *disable*
	  pread and pwrite if this is defined!

Tue Apr 27 14:35:47 BST 2004  Olly Betts <olly@survex.com>

	* api/omenquire.cc,tests/api_db.cc: Need to adjust index by firstitem
	  when indexing into items (bug#28).

Mon Apr 26 23:45:15 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Successfully built with gcc-3.5-20040327 snapshot on x86
	  linux.

Fri Apr 23 11:26:07 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Successfully built and tested on arm linux.

Fri Apr 23 11:24:23 BST 2004  Olly Betts <olly@survex.com>

	* tests/remotetest.cc: Use 127.0.0.1 instead of localhost so that
	  tcpmatch1 doesn't fail just because the network setup is broken.

Thu Apr 22 00:54:58 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/: Stripped out Btree_errors as it's almost
	  totally unused now.  Fixed up the last few uses.
	* backends/quartz/quartz_table.cc: Fixed another case where read
	  and write Btrees should share fds.

Wed Apr 21 02:51:08 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Check the return value of
	  fdatasync()/fsync()/_commit() and raise an error.  They aren't
	  likely to fail harmlessly.

Wed Apr 21 02:45:28 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h,
	  backends/quartz/quartz_table.cc: Share file descriptors between
	  the read and write Btree objects so that a quartz WritableDatabase
	  now uses 5 fds rather than 10.

Wed Apr 21 02:37:38 BST 2004  Olly Betts <olly@survex.com>

	* docs/scalability.html: Removed the reference to the Quartz update
	  bottleneck "currently being addressed for Xapian 0.8" as it's now
	  been addressed!

Wed Apr 21 00:24:08 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Corrected a comment.

Mon Apr 19 14:42:06 BST 2004  Olly Betts <olly@survex.com>

	* NEWS: Final update for 0.8.0.

Mon Apr 19 14:02:33 BST 2004  Olly Betts <olly@survex.com>

	* AUTHORS: Added people who've contributed build reports for the
	  PLATFORMS file.

Mon Apr 19 14:01:38 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: More updates from tinderbox and elsewhere.

Sat Apr 17 02:24:11 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Lots of updates from tinderbox and mailing list.

Sat Apr 17 00:13:26 BST 2004  Olly Betts <olly@survex.com>

	* HACKING: Added notes about using "using", and pointers to a couple
	  of useful C++ web resources.

Mon Apr 12 00:56:04 BST 2004  Olly Betts <olly@survex.com>

	* Makefile.am,NEWS,configure.in,extra/Makefile.am: Version 0.8.0.

Mon Apr 12 00:31:15 BST 2004  Olly Betts <olly@survex.com>

	* NEWS: Updated for 0.8.0.

Sun Apr 11 21:18:47 BST 2004  Olly Betts <olly@survex.com>

	* extra/queryparser.yy,extra/queryparsertest.cc: Don't use a raw term
	  for a term which starts with a digit.

Sat Apr 10 17:20:23 BST 2004  Olly Betts <olly@survex.com>

	* AUTHORS: "Open Muscat" not "OmSee"; Updated the list of contributors
	  (more work needed...)

Sat Apr 10 16:41:28 BST 2004  Olly Betts <olly@survex.com>

	* m4/xapian.m4: Make XO_LIB_XAPIAN with no arguments do what most
	  users will want: check for Xapian and fail if it's not found,
	  or AC_SUBST XAPIAN_CXXFLAGS and XAPIAN_LIBS if it is.  Those
	  will unusual needs can supply one or both arguments as at
	  present.

Sat Apr 10 15:00:28 BST 2004  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Sat Apr 10 00:32:07 BST 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Added success report for GCC 3.4 (prerelease).

Sat Apr 10 00:27:58 BST 2004  Olly Betts <olly@survex.com>

	* extra/xapian/queryparser.h: Added doxygen documentation comments.

Sat Apr 10 00:23:13 BST 2004  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Removed a now superfluous line.

Sat Apr 10 00:21:15 BST 2004  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Give a more accurate message if valgrind
	  spots a test doing something dodgy (e.g. free() of memory allocated
	  with new).

Thu Apr 08 17:22:20 BST 2004  Olly Betts <olly@survex.com>

	* net/.cvsignore: No longer need to ignore readquery.cc.

Thu Apr 08 17:19:43 BST 2004  Olly Betts <olly@survex.com>

	* include/xapian/base.h: Note in doxygen comment why the ref_count
	  is mutable.

Thu Apr 08 15:33:16 BST 2004  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: valgrinding code needs errno.h too.

Thu Apr 08 15:28:44 BST 2004  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Make Xapian::Weight::Weight() protected
	  rather than private as we want to be able to call it from derived
	  classes (GCC 3.4 flags this, other compilers seem to miss it).

Tue Apr 06 03:32:39 BST 2004  Olly Betts <olly@survex.com>

	* net/omerr_string.cc,include/xapian/error.h,
	  include/xapian/errortypes.h,include/xapian/output.h:
	  Fixed some doxygen warnings.

Mon Apr 05 17:21:06 BST 2004  Olly Betts <olly@survex.com>

	* README: There never was an Omsee release - the last BrightStation
	  release was "OpenMuscat 0.4.1".

Mon Apr 05 17:19:38 BST 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc,
	  backends/quartz/quartz_database.h: Make the flush criterion 1000
	  documents changed (added, removed, or replaced) as that seems to
	  perform much better over a wide variety of document sizes.

Thu Apr 01 01:04:17 BST 2004  Olly Betts <olly@survex.com>

	* tests/quartztest.cc: Fixed temporary directory used (a slash was
	  missing).

Thu Apr 01 00:39:59 BST 2004  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Fri Mar 26 22:33:30 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Fix problems with termfreq and
	  collfreq in postlist getting out of step when a recently modified
	  or deleted document is deleted or remodified.

Fri Mar 26 12:31:24 GMT 2004  Olly Betts <olly@survex.com>

	* configure.in: Fixed check for --enable-runtime-pseudo-reloc.

Fri Mar 26 12:31:00 GMT 2004  Olly Betts <olly@survex.com>

	* bin/Makefile.am: Removed spurious "-lz" from quartzdump_LDADD.

Thu Mar 25 00:22:13 GMT 2004  Olly Betts <olly@survex.com>

	* bin/quartzcheck.cc: Check the structure with the postlist Btree
	  as well as the Btree structures themselves.

Sun Mar 21 00:00:59 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_table_manager.cc: Fix for building on mingw.

Sat Mar 20 23:04:27 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/positioniterator.h,include/xapian/postingiterator.h:
	  Add doxygen comments in front of PostingIterator and
	  PositionListIterator classes so that doxygen pulls out the
	  existing documentation for their methods.

Sat Mar 20 16:23:13 GMT 2004  Olly Betts <olly@survex.com>

	* configure.in,backends/quartz/quartz_table_manager.cc,common/utils.h:
	  Added configure test for link() to avoid infinite loop on mingw!

Thu Mar 18 12:20:18 GMT 2004  Olly Betts <olly@survex.com>

	* configure.in: Improved the --enable-runtime-pseudo-reloc check.

Thu Mar 18 00:45:15 GMT 2004  Olly Betts <olly@survex.com>

	* bin/Makefile.am,tests/Makefile.am: Pass the magic mingw/cygwin flag
	  when linking the programs in bin and tests.

Thu Mar 18 00:33:22 GMT 2004  Olly Betts <olly@survex.com>

	* configure.in,xapian-config.in: mingw and cygwin both need
	  -Wl,--enable-runtime-pseudo-reloc passing when linking.
	  Arrange for xapian-config to include this, and check that
	  the ld installed is a new enough version (or at least that
	  it was at configure time).

Tue Mar 16 01:40:43 GMT 2004  Olly Betts <olly@survex.com>

	* docs/matcherdesign.html: Merged in more details from a message I
	  sent to the mailing list.

Mon Mar 15 20:39:21 GMT 2004  Olly Betts <olly@survex.com>

	* tests/quartztest.cc: Fail the test if there's still a directory after
	  rmdir(), or there isn't a directory after mkdir().  Close a
	  QuartzDatabase or QuartzWritableDatabase before trying to overwrite
	  it - cygwin doesn't allow use to delete open/locked files...

Mon Mar 15 20:38:11 GMT 2004  Olly Betts <olly@survex.com>

	* backends/database.cc: Database::Internal::Internal::keep_alive()
	  should be Database::Internal::keep_alive().

Mon Mar 15 17:20:58 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/base.h: Returning a void result makes SGI's compiler
	  complain - don't!

Mon Mar 15 14:34:44 GMT 2004  Olly Betts <olly@survex.com>

	* common/omdebug.cc: Only use O_SYNC (on the debug log) if we have it.

Sun Mar 14 17:48:52 GMT 2004  Olly Betts <olly@survex.com>

	* tests/runtest.in: Mark with @configure_input@.

Thu Mar 11 23:53:43 GMT 2004  Olly Betts <olly@survex.com>

	* common/database.h,common/termlist.h,include/xapian/database.h,
	  include/xapian/enquire.h: Attempted fixes for warnings given by
	  SGI's MIPSpro C++ compiler.

Thu Mar 11 23:51:10 GMT 2004  Olly Betts <olly@survex.com>

	* configure.in: GCC 2.95 supported -Wno-long-long and is our minimum
	  recommended version, so unconditionally use -Wno-long-long with
	  GCC, and don't test for it on other compilers (the test incorrectly
	  decided to use it with SGI's compiler leading to a warning for
	  every file compiled).

Thu Mar 11 17:29:24 GMT 2004  Olly Betts <olly@survex.com>

	* docs/intro_ir.html: Added a link to "Information Retrieval"
	  by Keith v.R. which can be read on his website!

Thu Mar 11 17:12:35 GMT 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Added IRIX success reports from Jim Lynch.

Thu Mar 11 12:17:21 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Fixes for Sun C++'s fussy
	  template matching.

Thu Mar 11 12:12:46 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Another friend fix for Sun's C++.

Thu Mar 11 01:56:19 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/query.h: Another fix for Sun's C++.

Tue Mar 09 21:02:08 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/document.h: string -> std::string.

Tue Mar 09 19:04:48 GMT 2004  Olly Betts <olly@survex.com>

	* api/omdocument.cc,common/document.h,include/xapian/document.h,
	  tests/api_db.cc,tests/api_posdb.cc: Renamed
	  Xapian::Document::add_term_nopos to Xapian::Document::add_term
	  (with forwarding wrapper method for compatibility with existing
	  code).

Sat Mar 06 02:32:58 GMT 2004  Olly Betts <olly@survex.com>

	* docs/: Updated the quickstart tutorial and removed the warning
	  that "this document isn't up to date".

Sat Mar 06 01:56:17 GMT 2004  Olly Betts <olly@survex.com>

	* api/omenquire.cc: Another tweak for Sun's C++ compiler.

Sat Mar 06 01:31:29 GMT 2004  Olly Betts <olly@survex.com>

	* common/omenquireinternal.h: Tweaked friend class declarations a
	  bit so Sun's C++ compiler can cope.

Thu Mar 04 23:58:17 GMT 2004  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated with results from the tinderbox.

Thu Mar 04 23:29:28 GMT 2004  Olly Betts <olly@survex.com>

	* tests/btreetest.cc,tests/quartztest.cc: NetBSD mkdir() doesn't cope
	  with a trailing / on the path - fixed our code to cope with this.

Wed Mar 03 19:14:09 GMT 2004  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Fri Feb 13 23:56:44 GMT 2004  Olly Betts <olly@survex.com>

	* api/omquery.cc,tests/api_nodb.cc: Throw error when an empty query is
	  used to build in the binary operator Query ctor.  Added regression
	  test.

Fri Feb 13 15:08:09 GMT 2004  Olly Betts <olly@survex.com>

	* HACKING: XAPIAN_DEBUG_TYPES should be XAPIAN_DEBUG_FLAGS.

Sat Feb 07 14:26:54 GMT 2004  Olly Betts <olly@survex.com>

	* docs/queryparser.html: Grammar fixes.

Fri Jan 16 02:06:53 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Fixed bug flagged up by deldoc4.

Thu Jan 15 01:00:48 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_termlist.cc: Use Xapian::doccount instead of
	  unsigned int in set_entries().

Thu Jan 15 00:56:47 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h,
	  testsuite/btreecheck.cc: Made some static functions into static
	  member functions of Btree so we can avoid duplicating code in
	  btreecheck.cc.  Also tweaked compare_keys to use memcmp and
	  special case when the keys are the same length (each of these
	  changes gives a very small speed gain).

Thu Jan 15 00:54:47 GMT 2004  Olly Betts <olly@survex.com>

	* api/maptermlist.h: Removed a FIXME which already had been fixed.
	  Removed a couple of asserts from a function which should never be
	  called (and so had `Assert(false)' anyway).

Mon Jan 12 00:32:37 GMT 2004  Olly Betts <olly@survex.com>

	* bin/quartzdump.cc: Backslash escape space and backslash in output
	  rather than hex encoding them; renamed start-term and end-term to
	  start-key and end-key; removed rather pointless "Calling next"
	  message; if there's an error, write it to stderr not stdout, and
	  exit with return code 1.

Sun Jan 11 03:23:17 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_termlist.cc: When possible, pack the wdf into
	  the same byte as the reuse length - doing so typically makes the
	  termlist 14% smaller!  This change is backward compatible.

Sat Jan 10 03:04:22 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Fixed bug in new postlist
	  chunking code.

Sat Jan 10 00:45:04 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_termlist.cc: Removed unused
	  OLD_TERMLIST_FORMAT code.

Fri Jan 09 21:54:34 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Fix incorrect code which just
	  happens to build and work with GCC 2.95.

Fri Jan 09 14:40:00 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Tidied the initial call to
	  get_chunk() out of the merge loop (gives ~4% speedup!)

Fri Jan 09 01:31:05 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Implement chunking of postlists
	  once again.

Thu Jan 08 21:06:37 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Shortcut the very common case
	  of appending to a posting list (which happens when we're just
	  adding new documents).  Declare small helper functions as "inline".

Wed Jan 07 23:21:59 GMT 2004  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Set threshold for flushing to
	  a saner value for the value we are now using.
	* backends/quartz/: Use freq_deltas to update the stats in the first
	  chunk of each postlist.

Mon Jan 05 16:00:07 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/enquire.h: Made the TradWeight constructor explicit.
	  This is technically an API change as before you could pass a
	  double where a Xapian::Weight was required - now you must pass
	  Xapian::TradWeight(2.0) instead of 2.0.  That seems desirable, and
	  it's unlikely any existing code will be affected.

Mon Jan 05 15:08:26 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/: Added "explicit" qualifier to internal ctors
	  which take a single parameter.

Mon Jan 05 15:04:12 GMT 2004  Olly Betts <olly@survex.com>

	* include/xapian/base.h: Assigning a normal pointer to a RefCntPtr no
	  longer creates a temporary RefCntPtr from it.

Thu Dec 25 05:49:03 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Changed to merge a batch of
	  changes into a posting list in one pass.

Thu Dec 25 05:48:09 GMT 2003  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Some minor improvements.

Thu Dec 25 05:39:57 GMT 2003  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Check returned docids are the expected values in a
	  couple more cases.  Improved wording of a comment.

Thu Dec 25 05:38:43 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_utils.h: Updated explanation of string
	  encoding.

Thu Dec 25 05:37:36 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_values.cc: Fixed problem with dereferencing
	  a pointer to the end of a string in debug output.

Sun Dec 21 23:35:49 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Refactor recently relocated code
	  to reduce duplication.

Sun Dec 21 21:44:07 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Renamed
	  skip_and_check_tname_in_key() to check_tname_in_key() as it doesn't
	  do any sort of skipping!

Sun Dec 21 14:54:49 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc,backends/quartz/quartz_postlist.h,
	  tests/quartztest.cc: Subsumed QuartzPostList::add_entry and
	  QuartzPostList::delete_entry into QuartzPostList::merge_changes.

Sun Dec 21 03:21:42 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc,
	  backends/quartz/quartz_postlist.cc,
	  backends/quartz/quartz_postlist.h: Move merging on postlist changes
	  into QuartzPostList in preparation for an efficient
	  reimplementation.

Sun Dec 21 01:47:07 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.h,
	  backends/quartz/quartz_table_entries.h: Fixed typos and incorrect
	  comments.

Sat Dec 20 22:11:26 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/: Removed several needless inclusions of
	  quartz_table_entries.h.

Sat Dec 20 16:31:46 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/,docs/quartzdesign.html: Removed all the quartz
	  lexicon code and docs.  It's been disabled for ages, and we've
	  not missed it.

Sat Dec 20 01:21:47 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.h: Added doxygen comments for the
	  QuartzWritableDatabase members we use to buffer changes.

Sat Dec 20 01:19:10 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Trigger autoflush on
	  totlen_added + totlen_removed rather than specially tracking the
	  number of document add/delete/replace operations.

Fri Dec 19 22:51:26 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/: Buffer up changes to the postlists and apply them
	  all at once (at present they're applied inefficiently, but this is
	  change enables us to apply them with an efficient merge).
	* tests/api_db.cc,tests/quartztest.cc: Added a couple of tests, and
	  commented out some test lines which fail in debug builds.

Sun Dec 14 03:38:55 GMT 2003  Olly Betts <olly@survex.com>

	* common/omdebug.cc: Open debug log with flag O_WRONLY so that we can
	  actually write to it!

Mon Dec 08 01:53:24 GMT 2003  Olly Betts <olly@survex.com>

	* HACKING: Update to mention that building from CVS requires
	  ./configure --enable-maintainer-mode (or use bootstrap).

Mon Dec 01 19:03:00 GMT 2003  Olly Betts <olly@survex.com>

	* configure.in: Fixed the "fixed" valgrind test.

Sun Nov 30 23:42:52 GMT 2003  Olly Betts <olly@survex.com>

	* configure.in,testsuite/testsuite.cc: Fix test for valgrind - it
	  wasn't working correctly when valgrind was installed but was too
	  a version to support VALGRIND_COUNT_ERRORS and VALGRIND_COUNT_LEAKS.

Wed Nov 26 16:31:19 GMT 2003  Olly Betts <olly@survex.com>

	* Makefile.am,extra/Makefile.am: Updated libtool -version-info
	  parameters for 0.7.5.

Wed Nov 26 15:32:45 GMT 2003  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.in: Version 0.7.5.

Wed Nov 26 15:31:56 GMT 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy: Special case stemming language "none".

Tue Nov 25 04:37:50 GMT 2003  Olly Betts <olly@survex.com>

	* api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
	  include/xapian/positioniterator.h,include/xapian/postingiterator.h,
	  tests/api_db.cc: Added missing default ctors for PostingIterator and
	  PositionIterator classes; fixed PositionIterator assignment operator.

Tue Nov 25 03:40:11 GMT 2003  Olly Betts <olly@survex.com>

	* tests/btreetest.cc: Fixed 2 compiler warnings.

Tue Nov 25 02:47:16 GMT 2003  Olly Betts <olly@survex.com>

	* common/,include/xapian/: Fixed incorrect doxygen comments which
	  resulted in some missing text in the collated API and internal
	  classes documentation.

Fri Nov 21 03:23:57 GMT 2003  Olly Betts <olly@survex.com>

	* Makefile.am,include/xapian/termiterator.h,api/omtermlistiterator.cc:
	  TermIterator::TermIterator() fix which actually works!

Fri Nov 21 01:14:23 GMT 2003  Olly Betts <olly@survex.com>

	* HACKING,configure.in,docs/Makefile.am,extra/Makefile.am: Change to
	  using AM_MAINTAINER_MODE.  If you're doing development work on
	  Xapian, you should configure with "--enable-maintainer-mode" and
	  ideally use GNU make.

Fri Nov 21 01:13:25 GMT 2003  Olly Betts <olly@survex.com>

	* include/xapian/termiterator.h,tests/api_nodb.cc: Added TermIterator
	  default ctor which had disappeared somehow.  Added regression test.

Thu Nov 20 03:19:37 GMT 2003  Olly Betts <olly@survex.com>

	* configure.in: Fixed test for fdatasync to work (I suspect a change
	  in a recent autoconf broke it as it relied on autoconf internal
	  naming).

Tue Nov 18 17:53:29 GMT 2003  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Tweaked workaround for FreeBSD make in VPATH
	  builds.

Tue Nov 18 17:53:01 GMT 2003  Olly Betts <olly@survex.com>

	* extra/queryparsertest.cc: Added another testcase.

Tue Nov 18 17:37:20 GMT 2003  Olly Betts <olly@survex.com>

	* docs/: Added first cut of documentation for Xapian::QueryParser
	  query syntax.
	* docs/scalability.html: Fixed typo.

Fri Oct 31 18:17:13 GMT 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy,extra/queryparsertest.cc: Added support for
	  term prefixes on phrases and expressions (e.g. author:(twain OR poe)
	  subject:"space flight").

Tue Oct 28 15:03:01 GMT 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc: Added FIXME comment.

Tue Oct 28 15:01:14 GMT 2003  Olly Betts <olly@survex.com>

	* docs/todo.xml: Removed Java from list of language bindings we'd
	  like to support, as we should have up-to-date Java bindings soon.

Sun Oct 26 20:18:24 GMT 2003  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Fix the name that the meta file gets copied
	  to (was /path/to/dbdirmeta rather than /path/to/dbdir/meta).

Tue Oct 21 22:26:51 BST 2003  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Backed out previous change - the original rule
	  does work, but the build machine had a generated file which stopped
	  the symlink being generated.

Tue Oct 21 22:14:22 BST 2003  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Tweaked rule to symlink queryparser.cc.

Tue Oct 21 17:31:10 BST 2003  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Added rule to symlink queryparser.cc from source
	  tree to build tree - otherwise FreeBSD's make insists on
	  regenerating it...

Wed Oct 08 14:04:44 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/.cvsignore,tests/Makefile.am,testsuite/.cvsignore:
	  Updated to reflect move of libbtreecheck.la from backends/quartz
	  to testsuite.

Wed Oct 08 13:22:08 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Don't pass mode argument to open when we
	  aren't specifying O_CREAT.

Thu Oct 02 15:29:38 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Another entry for omega for 0.7.4.

Thu Oct 02 14:57:25 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,extra/Makefile.am: Version 0.7.4.

Thu Oct 02 14:56:36 BST 2003  Olly Betts <olly@survex.com>

	* HACKING: Improved wording in a few places.

Thu Oct 02 14:39:49 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Updated.

Thu Oct 02 13:35:46 BST 2003  Olly Betts <olly@survex.com>

	* xapian.spec.in: Don't hardcode the shared library versioning info.

Wed Oct 01 13:51:15 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ doesn't actually
	  pass "make check" (I forgot the tinderbox builds omega before "make
	  check").

Tue Sep 30 21:39:20 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Another stab at fixing the test for -lsocket.

Tue Sep 30 18:29:31 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Quote arguments to test in a couple of places.

Tue Sep 30 11:20:09 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Fixed test for -lsocket.

Tue Sep 30 10:17:09 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ builds and passes
	  "make check" (but Omega fails to build).

Mon Sep 29 00:41:19 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Fixed dependency libs for libxapian.

Sun Sep 28 23:55:49 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am,backends/quartz/Makefile.am,
	  backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
	  bin/Makefile.am,testsuite/Makefile.am,testsuite/btreecheck.cc,
	  testsuite/btreecheck.h: libbtreecheck.la now has an explicit
	  dependency on libxapian.la.

Sun Sep 28 17:29:55 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am,configure.in: Tell libtool about any libraries which
	  libxapian needs to depend on.

Fri Sep 26 09:39:29 BST 2003  Olly Betts <olly@survex.com>

	* bin/Makefile.am: Swap order of libbtreecheck.la and libxapian.la
	  when linking quartzcheck to see if that gets it to work with
	  Sun's CC.

Thu Sep 25 17:25:17 BST 2003  Olly Betts <olly@survex.com>

	* xapian-config.in: Fixed stupid mistake in previous check-in.

Thu Sep 25 16:50:00 BST 2003  Olly Betts <olly@survex.com>

	* xapian-config.in: Link with libxapianqueryparser before libxapian,
	  since that's the dependency order.

Thu Sep 25 16:43:20 BST 2003  Olly Betts <olly@survex.com>

	* include/om/om.h: Updated comment about why we `#include <iostream>'.

Thu Sep 25 13:13:37 BST 2003  Olly Betts <olly@survex.com>

	* api/omqueryinternal.cc,backends/database.cc,common/omdebug.cc,
	  common/omstringstream.h,include/xapian/output.h: Removed or replaced
	  uses of <iostream> and <iosfwd> - we don't need or want the library
	  to pull in cin and friends.

Thu Sep 25 13:12:31 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am: Improved several comments.

Thu Sep 25 11:57:03 BST 2003  Olly Betts <olly@survex.com>

	* api/omqueryinternal.cc: Removed `#include <iostream>' left over from
	  debugging; changed to `using namespace std;'.

Mon Sep 15 00:41:10 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy: Fixed to build with Sun's C++ compiler.

Thu Sep 11 03:35:29 BST 2003  Olly Betts <olly@survex.com>

	* dummy.c,dummy.cc,Makefile.am: Change the default file to be C++ so
	  that automake tells libtool that this is a C++ library.
	* Makefile.am: Pass -no-undefined to libtool so that it will build
	  a DLL on MS Windows.

Wed Sep 10 02:53:46 BST 2003  Olly Betts <olly@survex.com>

	* docs/scalability.html: Fixed oops (32GB should be 32TB);  Added
	  note about Linux 2.4 and ext2 filesize limits.

Tue Sep 09 03:36:05 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: don't start the document's
	  TermIterator from scratch on every iteration in replace_document().
	  Should be a small performance win.

Sun Sep 07 22:17:27 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Fixed check for socketpair - we were automatically
	  disabling the remote backend on platforms where socketpair is
	  in libsocket (such as Solaris).

Sun Sep 07 19:56:57 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Added success report for cygwin from Eric B. Ridge.

Sun Sep 07 03:53:48 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Also need to rerun test if it "probably
	  leaked".

Sun Sep 07 03:51:37 BST 2003  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Use x & (x - 1) trick to check for x being a power
	  of 2, rather than an elaborate loop with shifting; use Xapian::docid
	  rather than "int" and "unsigned int".

Sun Sep 07 02:24:06 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc: Fixed small memory leak if
	  Xapian::Enquire::set_query() is called more than once.

Sun Sep 07 02:12:47 BST 2003  Olly Betts <olly@survex.com>

	* common/omenquireinternal.h,include/xapian/enquire.h: Fixed
	  Xapian::ESet to have reference counted internals
	* Makefile.am: bumped libxapian version-info to 1:0:0 because of this.

Sun Sep 07 02:09:50 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Delete any buffered test output before
	  asking valgrind to check for leaks, as otherwise the buffered
	  output may be reported as a leak; also fixed |= to != in several
	  places - a cosmetic bug which lead to extra newlines after test
	  output.

Sun Sep 07 00:09:32 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Actually open temporary file for valgrind
	  to log to.

Sat Sep 06 20:50:58 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,testsuite/testsuite.cc: Fixed up detection of valgrind
	  and testsuite code to use it.

Sat Sep 06 20:48:17 BST 2003  Olly Betts <olly@survex.com>

	* tests/btreetest.cc: Reinstated non-superfluous `/'s which I had
	  overeagerly removed!

Sat Sep 06 17:28:00 BST 2003  Olly Betts <olly@survex.com>

	* matcher/Makefile.am: Ship networkmatch.cc even if "make dist" is run
	  from a tree with the remote backend disabled.

Thu Aug 28 00:01:22 BST 2003  Olly Betts <olly@survex.com>

	* tests/btreetest.cc: Removed superfluous `/'s from constructed paths.

Fri Aug 15 15:12:24 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated with current testsuite results for mingw build.

Fri Aug 15 15:10:59 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Use O_BINARY for database I/O if it
	  exists.

Fri Aug 15 15:10:30 BST 2003  Olly Betts <olly@survex.com>

	* common/utils.h: mkdir() only takes one argument on mingw.

Fri Aug 15 01:26:22 BST 2003  Olly Betts <olly@survex.com>

	* common/utils.h,testsuite/backendmanager.cc: Touch file using
	  open() rather than system().

Fri Aug 15 01:06:06 BST 2003  Olly Betts <olly@survex.com>

	* common/utils.h: Fixed parameter name of system from "filename" to
	  "command" (cosmetic change).

Thu Aug 14 22:31:23 BST 2003  Olly Betts <olly@survex.com>

	* net/progclient.cc: Tidied a little.

Tue Aug 12 12:50:19 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Pass 0 for the lexicon/postlist
	  table when creating a termlist just to find the doc length.

Tue Aug 12 02:08:50 BST 2003  Olly Betts <olly@survex.com>

	* api/maptermlist.h,api/omdocument.cc,common/documentterm.h:
	  Removed unused OmDocumentTerm::termfreq member variable.

Tue Aug 12 00:53:02 BST 2003  Olly Betts <olly@survex.com>

	* api/omdocument.cc,common/documentterm.h: OmDocumentTerm ctor now
	  takes wdf, and replaced set_wdf() with inc_wdf() and dec_wdf().

Mon Aug 11 16:11:26 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_table_entries.cc: Removed rather unnecessary
	  use of const_cast.

Mon Aug 11 16:11:05 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_table.cc: Removed unused variable.

Mon Aug 11 16:09:57 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Fixed typo in comment.

Mon Aug 11 15:51:20 BST 2003  Olly Betts <olly@survex.com>

	* tests/quartztest.cc: adddoc2 now checks that there weren't any extra
	  values created.

Mon Aug 11 12:55:49 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Sorted out tests for gethostbyname and gethostbyaddr
	  using standard autoconf macros.

Mon Aug 11 12:05:13 BST 2003  Olly Betts <olly@survex.com>

	* common/match.h,matcher/: Removed unused open_document() method from
	  SubMatch and derived classes; calls made by the matcher to
	  Document::Internal::open_document() now use the lazy flag provided
	  for precisely this purpose, but apparently never used - this should
	  give quite a speed boost to any matcher options which use values
	  (e.g. sort, collapse).

Sun Aug 10 02:25:59 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Out of curiosity, I tried to build with a Linux->DJGPP
	  cross-compiler I had to hand.  It built (just had to disable the
	  remote backend if socketpair isn't found and add the workaround for
	  not having snprintf).

Sun Aug 10 01:38:17 BST 2003  Olly Betts <olly@survex.com>

	* common/utils.cc: Fixed to compile if snprintf isn't available.

Sun Aug 10 01:37:44 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Fixed "initialisation reordered" warning.

Sun Aug 10 01:26:58 BST 2003  Olly Betts <olly@survex.com>

	* acinclude.m4: Updated in line with previous change.

Sun Aug 10 01:00:08 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: If fork is found, but socketpair isn't, automatically
	  disable the remote backend rather than configure dying with an
	  error.
	* autoconf/: Removed various unused autoconf macros.

Sat Aug 09 23:57:44 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btree.h: Made "overwritten" protected.

Sat Aug 09 23:45:26 BST 2003  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Wrapped an overlong line.

Sat Aug 09 23:31:30 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h,
	  backends/quartz/quartz_table.cc,docs/quartzdesign.html:
	  Improved class Btree's encapsulation.

Sat Aug 09 22:30:13 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Fixed a few typos.

Sat Aug 09 22:29:52 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated with results from the Tinderbox.

Sat Aug 09 22:19:12 BST 2003  Fabrice Colin

	* xapian.spec.in: Updated RPM packaging to reflect changes in 0.7.3.

Fri Aug 08 01:38:40 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am,configure.in,extra/Makefile.am: Version 0.7.3.

Fri Aug 08 01:35:04 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Updated.

Fri Aug 08 01:34:29 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated with more tinderbox results.

Wed Aug 06 16:27:34 BST 2003  Olly Betts <olly@survex.com>

	* HACKING: Noted that libtool 1.5 is the first version to actually
	  support linking C++ libraries properly.

Wed Aug 06 16:25:15 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc,net/socketcommon.cc,common/omenquireinternal.h:
	  Moved rset serialisation into a method of RSet::Internal, so
	  omrset_to_string() is now just glue code.  This eliminates the
	  need for it to be a friend of RSet::Internal which Sun's C++
	  compiler didn't seem to be able to cope with.

Wed Aug 06 01:57:11 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc: Applied patch from Olivier Galibert to fix
	  MSetIterator::get_document() when get_mset() was called with
	  first != 0.
	* tests/api_db.cc: Added regression test (msetiterator3).

Mon Aug 04 12:40:25 BST 2003  Olly Betts <olly@survex.com>

	* languages/Makefile.am: Fixed compilation for compilers other than
	  GCC.

Wed Jul 30 17:03:14 BST 2003  Olly Betts <olly@survex.com>

	* common/getopt.h: Another try - the previous one failed on FreeBSD.

Wed Jul 30 15:07:58 BST 2003  Olly Betts <olly@survex.com>

	* common/getopt.h: Another iteration of the getopt C++ prototype fix
	  as the previous one failed on Solaris.

Wed Jul 30 02:38:47 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc: Fixed breakage caused by remotetest
	  cleanup.

Tue Jul 29 13:22:20 BST 2003  Olly Betts <olly@survex.com>

	* tests/remotetest.cc: Cleaned up uses of
	  BackendManager::get_database() to pass a string rather than a vector
	  with one string in.

Tue Jul 29 11:58:21 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/testutils.cc: Added output of const vector<unsigned int>
	  for platforms which use our internal stringstream implementation.

Tue Jul 29 11:42:54 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated with results from the tinderbox.

Tue Jul 29 01:21:53 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc,testsuite/testsuite.h: Only use \r in test
	  output if the output is a tty.

Mon Jul 28 23:56:10 BST 2003  Olly Betts <olly@survex.com>

	* xapian-config.in: Fixed fix of --cxxflags for uninstalled VPATH
	  builds.

Mon Jul 28 23:37:15 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc: Increased default timeout used by
	  tests running on the remote backend from 10 seconds to 5 minutes
	  to avoid tests failing just because the machine running them is
	  slow and/or busy.

Mon Jul 28 15:41:12 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/testutils.h: Fixed check for broken exception handling
	  - we were getting "Xapian::" prefixed to one version and not on the
	  other.

Mon Jul 28 15:34:54 BST 2003  Olly Betts <olly@survex.com>

	* tests/runtest.in: Set srcdir if it isn't already to make it easy
	  to manually run test programs from a VPATH build.

Mon Jul 28 10:38:04 BST 2003  Olly Betts <olly@survex.com>

	* xapian-config.in: Fixed --cxxflags for uninstalled VPATH builds.

Mon Jul 28 10:37:17 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated FreeBSD success report.

Sun Jul 27 16:01:25 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Explicitly remove include/xapian/version.h from
	  APIDOC_SRC to avoid us trying to run doxygen unnecessarily.

Sun Jul 27 14:31:36 BST 2003  Olly Betts <olly@survex.com>

	* docs/todo.xml: Assorted updates.

Sun Jul 27 13:02:36 BST 2003  Olly Betts <olly@survex.com>

	* extra/.cvsignore: We still create libomqueryparser.la for backward
	  compatibility.

Sun Jul 27 04:56:40 BST 2003  Olly Betts <olly@survex.com>

	* xapian-config.in,m4/xapian.m4: Added --from-xo-lib-xapian option
	  to xapian-config for use by XO_LIB_XAPIAN to allow us to give a
	  more helpful error message if asked to link an uninstalled
	  libxapian.

Sun Jul 27 04:46:48 BST 2003  Olly Betts <olly@survex.com>

	* xapian-config.in: Fixed --cxxflags in non-installed case.
	  Tidied up --help output and error messages.

Sun Jul 27 01:40:39 BST 2003  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Check termfreq in allterms4.

Sun Jul 27 01:39:57 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparsertest.cc: Fixed for relocated queryparser.h.

Sun Jul 27 00:59:56 BST 2003  Olly Betts <olly@survex.com>

	* .cvsignore,backends/quartz/.cvsignore,extra/.cvsignore: Updated.

Sun Jul 27 00:19:11 BST 2003  Olly Betts <olly@survex.com>

	* tests/Makefile.am: Oops, failed to remove btreecheck.cc reference
	  in previous check-in.

Sat Jul 26 23:36:01 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/Makefile.am,bin/Makefile.am,tests/Makefile.am:
	  Hopefully fixed "make dist" in VPATH builds.

Sat Jul 26 22:58:27 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/Makefile.am: Need to distribute btreecheck.cc.

Sat Jul 26 20:05:47 BST 2003  Olly Betts <olly@survex.com>

	* xapian-config.in,extra/Makefile.am,extra/queryparser.h,
	  extra/queryparser.yy,extra/xapian/queryparser.h: Sorted out
	  xapian-config so it handles using QueryParser too.

Sat Jul 26 19:03:04 BST 2003  Olly Betts <olly@survex.com>

	* xapian-config.in: Updated logic in --libs and --cxxflags in line
	  with recent change in --ltlibs.

Sat Jul 26 18:31:11 BST 2003  Olly Betts <olly@survex.com>

	* xapian-config.in: Reworked logic for finding libxapian.la in
	  --ltlibs - it may not yet exist in the non-installed case.
	* m4/xapian.m4: Don't pass --libs when checking if xapian-config
	  works as it will fail in the non-installed case.

Sat Jul 26 01:25:46 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Updated.

Fri Jul 25 10:20:18 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Updated in preparation for 0.7.3 release.

Thu Jul 24 23:20:14 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_alltermslist.cc,
	  backends/quartz/quartz_alltermslist.h,tests/api_db.cc:
	  Fixed allterms TermIterator to not give duplicate terms with a
	  quartz database when a posting list is chunked; added regression
	  test (allterms4).

Mon Jul 21 15:06:59 BST 2003  Richard Boulton <richard@tartarus.org>

	* include/xapian/enquire.h: Fix incorrect documentation comment
	  for Enquire::set_set_forward().  (Looked like a cut&paste error)

Mon Jul 21 01:10:55 BST 2003  Olly Betts <olly@survex.com>

	* docs/install.html,m4/xapian.m4: Added XO_LIB_XAPIAN to replace
	  OM_PATH_XAPIAN.  XO_LIB_XAPIAN will automagically enable use of
	  "xapian-config --ltlibs" if A[CM]_PROG_LIBTOOL is used in
	  configure.in.

Sun Jul 20 16:00:43 BST 2003  Olly Betts <olly@survex.com>

	* .cvsignore,Makefile.am,configure.in,xapian-config.in,
	  xapian-config.nodep.in: Reworked xapian-config so that it
	  now supports linking with libtool - using libtool means that the
	  run-time library path is set and that you can now link with an
	  uninstalled libxapian.  Also xapian-config will now work
	  once configure is run, rather than only after "make all".

Thu Jul 17 01:42:47 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/bcursor.cc,backends/quartz/btree.cc: Check for
	  EINTR when reading or writing blocks and retry the operation.

Thu Jul 17 00:56:35 BST 2003  Olly Betts <olly@survex.com>

	* COPYING: Updated FSF address, and reinstated missing section: "How
	  to Apply These Terms to Your New Programs"

Thu Jul 17 00:48:40 BST 2003  Olly Betts <olly@survex.com>

	* HACKING,bootstrap: Removed bootstrap in favour of top-level
	  bootstrap.

Mon Jul 14 23:36:14 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated some linux results: RH7.3 on x86, and Debian on
	  alpha and arm.

Mon Jul 14 23:33:17 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,Makefile.am,extra/Makefile.am: Added versioning
	  information to libxapian and libomqueryparser.

Mon Jul 14 23:32:15 BST 2003  Olly Betts <olly@survex.com>

	* bin/quartzdump.cc,testsuite/testsuite.cc: Added long option support
	  to quartzdump, and to the testsuite programs.

Mon Jul 14 22:45:53 BST 2003  Olly Betts <olly@survex.com>

	* tests/internaltest.cc: Changed test exception1 to actually test
	  something (hopefully what was originally intended!)

Mon Jul 14 17:15:28 BST 2003  Olly Betts <olly@survex.com>

	* common/getopt.h: #include <stdlib.h> before defining getopt as a
	  macro - hopefully that'll avoid problems with clobbering prototypes
	  of getopt() in system headers.

Sat Jul 12 09:15:26 BST 2003  Olly Betts <olly@survex.com>

	* bin/quartzcompact.cc: Need stdio.h for rename().

Sat Jul 12 01:11:54 BST 2003  Olly Betts <olly@survex.com>

	* HACKING: Noted another reason why libtool 1.5 is needed.

Sat Jul 12 01:11:08 BST 2003  Olly Betts <olly@survex.com>

	* docs/mkdoc.pl: Don't choke on a comment at the end of the
	  DIST_SUBDIRS line in a Makefile.am.

Fri Jul 11 22:00:36 BST 2003  Olly Betts <olly@survex.com>

	* HACKING: Added note about additional tools needed for building a
	  distribution.

Fri Jul 11 15:13:08 BST 2003  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.in: Version 0.7.2.

Fri Jul 11 12:36:18 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Updated in preparation for 0.7.2.

Fri Jul 11 12:12:40 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Fixed test for snprintf.

Fri Jul 11 09:37:14 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Fixed dereference of a NULL pointer which
	  was happening when a test threw an unexpected exception.

Fri Jul 11 09:31:40 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc: Backed out incorrect hunk of previous
	  patch which was causing test failures.

Fri Jul 11 01:48:21 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_table_manager.cc,tests/quartztest.cc,
	  testsuite/backendmanager.cc: Tidying up around directory creation.

Fri Jul 11 00:57:12 BST 2003  Olly Betts <olly@survex.com>

	* include/xapian/database.h: Document that the directory is created.

Fri Jul 11 00:53:59 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_table_manager.cc: When asked to create a
	  quartz database, try to create the directory if it doesn't already
	  exist.  Then we don't have to do it in every single Xapian program
	  which wants to create a database...

Fri Jul 11 00:36:00 BST 2003  Olly Betts <olly@survex.com>

	* common/getopt.h: Removed space between \ and newline.

Fri Jul 11 00:32:40 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Added MacOS X 10.2 success report.

Thu Jul 10 20:05:58 BST 2003  Olly Betts <olly@survex.com>

	* common/getopt.h: Fixed to work better with C++ compilers on
	  non-glibc platforms.

Thu Jul 10 19:21:00 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Modified setting of _XOPEN_SOURCE to
	  actually work!

Thu Jul 10 19:19:30 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Defined _XOPEN_SOURCE=500 for GLIBC
	  so we get pread() and pwrite().

Thu Jul 10 00:28:25 BST 2003  Olly Betts <olly@survex.com>

	* HACKING,Makefile.am,configure.in,bindings/.cvsignore,
	  bindings/Makefile.am,bindings/dir_contents,bindings/guile/.cvsignore,
	  bindings/guile/Makefile.am,bindings/php4/.cvsignore,
	  bindings/php4/ABOUT,bindings/php4/Makefile.am,bindings/python/,
	  bindings/swig/,bindings/tcl8/.cvsignore,bindings/tcl8/Makefile.am,
	  docs/todo.xml: Removed bindings - they'll shortly reappear in a
	  separate module named xapian-bindings.

Thu Jul 10 00:03:04 BST 2003  Olly Betts <olly@survex.com>

	* bindings/swig/om_util_perl5.i: Removed.

Wed Jul 09 15:35:56 BST 2003  Olly Betts <olly@survex.com>

	* bindings/guile/Makefile.am,bindings/php4/Makefile.am,
	  bindings/python/Makefile.am,bindings/swig/,
	  bindings/tcl8/Makefile.am: Removed omtypes.i and merged omstem.i
	  into xapian.i; added forward declaration for upwrapped classes
	  to xapian.i.

Wed Jul 09 15:34:11 BST 2003  Olly Betts <olly@survex.com>

	* bindings/java/,bindings/java/com/muscat/om/,bindings/java/native/:
	  Removed old Java bindings - we'll do them using SWIG instead.

Wed Jul 09 14:51:51 BST 2003  Olly Betts <olly@survex.com>

	* bindings/php4/Makefile.am,bindings/php4/xapian/.cvsignore: More
	  work on the php4 bindings.

Wed Jul 09 03:00:17 BST 2003  Olly Betts <olly@survex.com>

	* bindings/guile/Makefile.am,bindings/python/Makefile.am,
	  bindings/tcl8/Makefile.am: Worked towards getting guile and tcl8
	  bindings up-to-date.
	* bindings/php4/.cvsignore: Ignore the whole xapian subdirectory.

Wed Jul 09 02:37:12 BST 2003  Olly Betts <olly@survex.com>

	* bindings/perl5/: Removed remaining files.

Wed Jul 09 02:30:55 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,bindings/Makefile.am,bindings/php4/Makefile.am:
	  Working towards getting the php4 bindings functional again.

Wed Jul 09 01:27:39 BST 2003  Olly Betts <olly@survex.com>

	* bindings/swig/om_util_php4.i: om_termname -> std::string.

Wed Jul 09 01:25:11 BST 2003  Olly Betts <olly@survex.com>

	* docs/overview.html,include/xapian/base.h,include/xapian/database.h:
	  Improvements to doxygen-generated documentation.

Wed Jul 09 01:23:55 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,docs/todo.xml: Added check for SWIG version (require
	  at least 1.3.14).

Tue Jul  8 20:59:08 2003  James Aylett  <james@tartarus.org>

	* common/utils.h: missing #include <ctype.h>

Tue Jul  8 18:06:23 2003  James Aylett  <james@tartarus.org>

	* bindings/swig/xapian.i: over-enthusiastic automatic
	  conversion of termname to std::string

Tue Jul 08 17:45:16 BST 2003  Olly Betts <olly@survex.com>

	* common/utils.h: Improved mingw implementation of rmdir().

Tue Jul 08 17:43:21 BST 2003  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.in: Version 0.7.1.

Sun Jul 06 21:35:08 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Minor tweak.

Sun Jul 06 21:34:30 BST 2003  Olly Betts <olly@survex.com>

	* common/utils.h: Compile fixes for mingw.

Sun Jul 06 17:59:26 BST 2003  Olly Betts <olly@survex.com>

	* docs/scalability.html: Fixed typo.

Sun Jul 06 13:02:09 BST 2003  Olly Betts <olly@survex.com>

	* docs/scalability.html: Fixed typo.

Sun Jul 06 12:56:08 BST 2003  Olly Betts <olly@survex.com>

	* docs/Makefile.am,docs/index.html,docs/scalability.html: Added new
	  document on Xapian's scalability.

Sun Jul 06 12:15:34 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/: Made quartz block count unsigned, which should
	  nearly double the size of database for a given block size.

Sun Jul 06 11:47:46 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/: Use BLK_UNUSED rather than literal -1.

Sun Jul 06 11:47:14 BST 2003  Olly Betts <olly@survex.com>

	* common/utils.h: Fixed last check-in to compile.

Sun Jul 06 11:01:03 BST 2003  Olly Betts <olly@survex.com>

	* common/utils.h,tests/btreetest.cc,tests/quartztest.cc,
	  testsuite/backendmanager.cc: Replaced system("rm -rf ...") with
	  rmdir() function and added two ms windows implementations for
	  Sam to try.

Sat Jul 05 10:37:35 BST 2003  Olly Betts <olly@survex.com>

	* getopt/getopt.c: Suppress "unused variable" warnings from getopt.c.

Sat Jul 05 02:21:11 BST 2003  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Sat Jul 05 02:09:06 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,backends/quartz/btree.cc: Use pread() and pwrite() if
	  available - this avoids one syscall per block read/write.

Fri Jul 04 22:05:14 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Added results from building 0.7.0 on my Linux dev box.

Fri Jul 04 18:52:07 BST 2003  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Distribute symboltab.h.

Fri Jul 04 18:04:53 BST 2003  Olly Betts <olly@survex.com>

	* common/Makefile.am: Distribute documentterm.h.

Fri Jul 04 15:30:28 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Disabled guile, tcl8, and php4 here as well as in
	  bindings/Makefile.am.

Fri Jul  4 11:27:53 2003  James Aylett  <james@tartarus.org>

	* bindings/Makefile.am: change commenting so mkdoc.pl doesn't
	  choke

Fri Jul  4 10:51:04 2003  James Aylett  <james@tartarus.org>

	* bootstrap: add missing ';;' as case pattern delimiter

Thu Jul 03 23:46:14 BST 2003  Olly Betts <olly@survex.com>

	* bindings/Makefile.am,bindings/python/Makefile.am: Fixed to work with
	  "make dist".

Thu Jul 03 23:29:06 BST 2003  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.in: Version 0.7.0.

Thu Jul 03 22:57:22 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated (Linux GCC 2.95 and Linux to mingw cross).

Thu Jul 03 22:55:54 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy,extra/queryparsertest.cc: Allow more than one
	  adjacent phrase generating character.

Thu Jul 03 22:12:18 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy,extra/queryparsertest.cc: Always ignore phrase
	  generating characters at start and end of query.

Thu Jul 03 21:02:10 BST 2003  Olly Betts <olly@survex.com>

	* extra/Makefile.am: Fixed for mingw compile.

Thu Jul 03 19:24:50 BST 2003  Olly Betts <olly@survex.com>

	* buildall,docs/OMAims: Removed unwanted old files.

Thu Jul 03 19:18:41 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/runquartztest: Obsolete, so removed.

Thu Jul 03 01:26:03 BST 2003  Olly Betts <olly@survex.com>

	* common/omenquireinternal.h: Fix for building with GCC 3.3.

Thu Jul 03 01:02:54 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Updated.

Wed Jul 02 22:18:07 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/bcursor.cc,backends/quartz/bcursor.h:
	  Made Bcursor::get_key(string * key) const.

Wed Jul 02 21:51:43 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/: Workaround for shared_level problem turns out to
	  be arguably the better approach, so made it permanent and tidied up
	  code.

Mon Jun 23 21:39:50 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Updated in preparation for 0.7.0 release.

Mon Jun 23 21:18:23 BST 2003  Olly Betts <olly@survex.com>

	* extra/omparsequery.h: Corrected include protection token comment on
	  #endif to match that used in the #ifdef.

Mon Jun 23 21:10:33 BST 2003  Olly Betts <olly@survex.com>

	* bootstrap: Check for Bison 1.875 which doesn't work with Xapian.

Mon Jun 23 21:08:35 BST 2003  Olly Betts <olly@survex.com>

	* HACKING: Automake 1.7 works reliably with Xapian; CFLAGS=-Werror can
	  now be used as we suppress the warnings from the Snowball generated
	  C code.

Mon Jun 23 16:55:54 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_database.h,backends/quartz/,
	  bindings/swig/om_util_python.i,bindings/swig/xapian.i,common/,
	  include/Makefile.am,include/xapian.h,include/om/om.h,include/xapian/,
	  matcher/localmatch.h,matcher/phrasepostlist.h,tests/api_db.cc,
	  tests/api_posdb.cc,tests/quartztest.cc:
	  Xapian::Xapian::PostListIterator -> Xapian::PostingIterator;
	  Xapian::PositionListIterator -> Xapian::PositionIterator;
	  xapian/postlistiterator.h -> xapian/postingiterator.h;
	  xapian/positionlistiterator.h -> xapian/positioniterator.h.

Mon Jun 23 15:31:30 BST 2003  Olly Betts <olly@survex.com>

	* backends/database.cc,backends/inmemory/inmemory_database.h,
	  backends/muscat36/,backends/quartz/,bindings/python/Makefile.am,
	  bindings/swig/om_util.i,bindings/swig/omstem.i,docs/quickstart.html,
	  docs/todo.xml,include/xapian/database.h,include/xapian/enquire.h,
	  include/xapian/errortypes.h,tests/api_db.cc,tests/quartztest.cc,
	  testsuite/backendmanager.cc,testsuite/textfile_indexer.cc:
	  Xapian::OpeningError renamed to Xapian::DatabaseOpeningError.
	* include/om/om.h: OmOpeningError now maps to
	  Xapian::DatabaseOpeningError.

Mon Jun 23 01:44:45 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/inmemory/inmemory_database.cc,
	  backends/muscat36/da_database.cc,backends/muscat36/db_database.cc,
	  backends/net/net_database.cc,backends/net/net_termlist.cc,
	  backends/net/net_termlist.h,backends/quartz/,bin/omprogsrv.cc,
	  bin/quartzdump.cc,common/,include/xapian/error.h,
	  include/xapian/errorhandler.h,matcher/emptymatch.h,net/,
	  tests/quartztest.cc,tests/stemtest.cc,testsuite/testsuite.cc,
	  testsuite/textfile_indexer.cc: Use '#include <...>' for headers
	  in include/.

Thu Jun 19 17:55:07 BST 2003  Olly Betts <olly@survex.com>

	* common/netserver.h,common/socketserver.h,matcher/localmatch.cc,
	  matcher/multimatch.cc,net/socketserver.cc: Removed unused header
	  inclusion; pass Stats and Xapian::Database by const reference, not
	  value.

Thu Jun 19 14:50:49 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy,extra/symboltab.h: Force control characters to
	  spaces; Added note that accent normalisation is perhaps done at the
	  wrong time...

Thu Jun 19 14:40:36 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparsertest.cc: Added test for control characters.

Thu Jun 19 14:31:12 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparsertest.cc: Added checks for weird whitespace in
	  queries.

Wed Jun 18 19:02:14 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy: Reworked parsing of boolean operators to
	  improve error reporting.
	* extra/queryparsertest.cc: Added 2 more testcases and fixed to better
	  handle tests for expected errors.

Wed Jun 18 19:00:55 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy: Trim leading and trailing whitespace before
	  attempting to parse the query.

Wed Jun 18 17:58:56 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy: `using namespace Xapian;'

Fri Jun 06 01:33:33 BST 2003  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Commented out the section on the Lexicon,
	  which we no longer use.

Thu Jun 05 22:40:21 BST 2003  Olly Betts <olly@survex.com>

	* bindings/python/.cvsignore,bindings/python/Makefile.am,
	  bindings/python/dothemake.txt,bindings/swig/om_util_python.i:
	  Cleaned up building of python bindings by making better use of
	  automake.

Thu Jun 05 22:17:40 BST 2003  Olly Betts <olly@survex.com>

	* languages/Makefile.am: Reenable standard warnings apart from the
	  -Wunused.

Thu Jun 05 20:21:08 BST 2003  Olly Betts <olly@survex.com>

	* api/omqueryinternal.cc: Fixed a couple of problems with the new
	  query serialisation.

Thu Jun 05 17:55:21 BST 2003  Olly Betts <olly@survex.com>

	* HACKING,configure.in: Flex is no longer used, so removed configure
	  tests and note in HACKING.

Thu Jun 05 17:53:30 BST 2003  Olly Betts <olly@survex.com>

	* tests/remotetest.cc: In test netexpand1, use TEST() rather than
	  Assert() so that the check is made in non-debug builds too.

Thu Jun 05 17:52:17 BST 2003  Olly Betts <olly@survex.com>

	* api/omqueryinternal.cc,common/socketcommon.h,docs/todo.xml,
	  include/xapian/query.h,net/: Reworked query serialisation so that
	  the code is now all in api/omqueryinternal.cc.  Serialisation is
	  now rather more compact and no longer relies on flex for parsing.

Thu Jun 05 17:45:00 BST 2003  Olly Betts <olly@survex.com>

	* bin/Makefile.am: omprogsrv depends on libtest.la, so it need to be
	  in check_PROGRAMS.

Thu Jun 05 17:09:10 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am: Moved bindings after extra in SUBDIRS - the bindings
	  wrap Xapian::QueryParser so they need to be built after it.

Thu Jun 05 01:28:01 BST 2003  Olly Betts <olly@survex.com>

	* bindings/python/Makefile.am: Use $(SWIG) (as detected by configure).

Thu Jun 05 00:46:16 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,bindings/Makefile.am,bindings/python/Makefile.am:
	  Check for python and find the correct paths for building python
	  bindings; Added dependencies for building _xapian.so.

Wed Jun  4 17:19:37 2003  James Aylett  <james@tartarus.org>

	* configure.in, Makefile.am, bindings: build system will build
	  bindings as part of normal build process.  No longer build
	  Perl or Java bindings; for Perl, use Search::Xapian; Java will
	  be replaced with SWIG-based bindings.

	* bindings: bindings now use Xapian:: namespace names rather than
	  the old Om* ones. Almost all of the API should now be wrapped.

Wed Jun 04 02:52:38 BST 2003  Olly Betts <olly@survex.com>

	* docs/overview.html: Added start of "Design Principles" section.
	* docs/todo.xml: Added a couple more items.

Wed Jun 04 02:51:56 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am: Build testsuite later - it now doesn't need to be built
	  until just before tests.

Wed Jun 04 02:43:08 BST 2003  Olly Betts <olly@survex.com>

	* backends/muscat36/: Split up spec into comments in the appropriate
	  header files; fixed to build after recent Om -> Xapian changes.

Wed Jun 04 01:56:46 BST 2003  Olly Betts <olly@survex.com>

	* HACKING: Bison 1.75 and 1.875a both checked with parsequery.yy
	  - no problems found.

Mon Jun 02 20:14:22 BST 2003  Olly Betts <olly@survex.com>

	* ChangeLog.0: Fixed 2 typos.

Mon Jun 02 20:09:01 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Updated in preparation for 0.7.0 release.

Mon Jun 02 16:25:18 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Fix m4 quoting so that MINOR_VERSION is set correctly.

Mon Jun  2 15:22:30 2003  James Aylett  <james@tartarus.org>

	* bindings/swig/xapian.i: move QueryParser wrapping to use
	  the new namespace location, and fix include so it can work
	  out of the build directory rather than just the installed
	  library

Mon Jun 02 14:15:14 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am,configure.in,bindings/Makefile.am,docs/todo.xml:
	  Added --enable-bindings to configure - if this is specified and
	  swig is detected, try to build the language bindings.

Mon Jun 02 12:46:18 BST 2003  Olly Betts <olly@survex.com>

	* backends/database.cc: Fixed parsing of port number in remote stub
	  databases.

Sat May 31 15:03:47 BST 2003  James Aylett  <james@tartarus.org>

	* bindings/swig: update so can build Python bindings against
	  latest Xapian; untested, and other languages are likely to
	  fail

Fri May 30 02:59:48 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy,extra/queryparsertest.cc: Embedded '.' is
	  now a phrase maker; Ignore `""' in query; Ignore ')' at start
	  of query.

Fri May 30 01:22:49 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparsertest.cc: Added another 405 queries which fail to
	  parse (courtesy of Arjen van der Meijden).

Thu May 29 19:08:28 BST 2003  Olly Betts <olly@survex.com>

	* docs/todo.xml,extra/queryparsertest.cc: Extracted two more
	  queryparser testcases which need fixing from the old todo list.

Thu May 29 17:14:04 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy,extra/queryparsertest.cc: A phrasemaker isn't
	  a phrasemaker unless it's preceded by an alphanumeric, "+", or "-";
	  If a single term is in (), ignore the ().

Thu May 29 16:45:39 BST 2003  Olly Betts <olly@survex.com>

	* extra/queryparser.yy,extra/queryparsertest.cc: Improved handling
	  of various odd queries encountered in real life applications.

Thu May 29 01:50:51 BST 2003  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated more.

Thu May 29 01:26:50 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/database.cc,backends/inmemory/,backends/multi/,
	  backends/muscat36/,backends/net/,backends/quartz/,common/,
	  docs/overview.html,docs/quickstart.html,
	  docs/quickstartexpand.cc.html,extra/queryparser.yy,include/om/om.h,
	  include/xapian/,matcher/,net/,tests/api_db.cc,tests/api_posdb.cc,
	  tests/quartztest.cc,testsuite/: Converted remaining om_xxx types
	  to Xapian::xxx.

Wed May 28 23:06:18 BST 2003  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Wed May 28 22:59:17 BST 2003  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Spelling correction: accross -> across.

Wed May 28 20:24:32 BST 2003  Olly Betts <olly@survex.com>

	* extra/: OmQueryParser -> Xapian::QueryParser, etc.

Wed May 28 20:03:48 BST 2003  Olly Betts <olly@survex.com>

	* api/omdocument.cc: Removed include of defunct header
	  modifieddocument.h.

Wed May 28 20:00:56 BST 2003  Olly Betts <olly@survex.com>

	* api/maptermlist.h,api/omdocument.cc,api/omvalueiterator.cc,
	  backends/inmemory/inmemory_document.cc,
	  backends/inmemory/inmemory_document.h,backends/muscat36/,
	  backends/net/net_document.cc,backends/net/net_document.h,
	  backends/quartz/quartz_document.cc,backends/quartz/quartz_document.h,
	  common/Makefile.am,common/document.h,common/modifieddocument.h,
	  include/xapian/document.h,tests/api_db.cc: Fixed bug in refactored
	  Xapian::Document when modifying a copy.  Added regression test.

Wed May 28 19:23:26 BST 2003  Olly Betts <olly@survex.com>

	* common/omenquireinternal.h,include/xapian/database.h,
	  include/xapian/enquire.h,include/xapian/query.h: Where possible,
	  declare classes rather than including headers (in public headers).

Wed May 28 17:32:14 BST 2003  Olly Betts <olly@survex.com>

	* include/xapian/document.h: Just declare "class TermIterator;" rather
	  than including <xapian/termiterator.h>.

Tue May 27 16:59:34 BST 2003  Olly Betts <olly@survex.com>

	* common/progserver.h,common/socketserver.h,net/socketserver.cc:
	  Reduced needless header inclusion.

Tue May 27 16:53:40 BST 2003  Olly Betts <olly@survex.com>

	* bin/omprogsrv.cc,tests/api_db.cc: Use variable name "dbs" in
	  preference to "dbgrp".  OmDatabaseGroup hasn't existed for
	  years!

Tue May 27 16:51:30 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am: Fixed typo: "bin" should be "net" in remote_subdirs.

Tue May 27 02:43:32 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/Makefile.am: Removed -I referencing testsuite
	  directory.

Tue May 27 02:39:43 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/,docs/tests.html,tests/: Moved quartztest and
	  btreetest to tests/ directory.

Tue May 27 02:03:07 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am,configure.in,xapian.spec.in,backends/quartz/,bin/,
	  docs/remote.html,netprogs/,tests/api_db.cc,tests/remotetest.cc,
	  testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
	  the source tree structure so that programs which aren't tests which
	  were previously built by "make check" are now be built by "make".

Tue May 27 01:01:40 BST 2003  Olly Betts <olly@survex.com>

	* autoconf/dir_contents,backends/dir_contents,
	  backends/inmemory/dir_contents,backends/multi/dir_contents,
	  backends/muscat36/dir_contents,backends/net/dir_contents,
	  backends/quartz/dir_contents,bindings/dir_contents,
	  common/dir_contents,docs/dir_contents,include/om/dir_contents,
	  include/xapian/dir_contents,include/dir_contents,
	  indexer/dir_contents,indexer/indexgraph/dir_contents,
	  languages/dir_contents,m4/dir_contents,tests/dir_contents:
	  Updated all the dir_contents files - many were out-of-date.

Tue May 27 00:42:54 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am: Filter any .la files out of dependency_libs.

Tue May 27 00:11:18 BST 2003  Olly Betts <olly@survex.com>

	* netprogs/.cvsignore,netprogs/Makefile.am,netprogs/nettest.cc,
	  tests/.cvsignore,tests/Makefile.am,tests/remotetest.cc:
	  netprogs/nettest -> tests/remotetest.

Mon May 26 23:49:49 BST 2003  Olly Betts <olly@survex.com>

	* netprogs/nettest.cc: Removed test tcpclient1 - the functionality it
	  tests is also tested by tcpmatch1, and it introduces dependencies on
	  internal headers.

Mon May 26 22:00:01 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_table_manager.cc: Give a better error message
	  if asked to open a pre-0.6 Quartz database.

Mon May 26 20:43:21 BST 2003  Olly Betts <olly@survex.com>

	* HACKING,Makefile.am,backends/Makefile.am,docs/mkdoc.pl,
	  net/Makefile.am: Fixed to never leave partial files in place of the
	  expected output if a build is interrupted.

Mon May 26 16:50:59 BST 2003  Olly Betts <olly@survex.com>

	* HACKING: Added note adapted from an old email noting why compile-time
	  options are generally best avoided.

Mon May 26 12:03:29 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc,testsuite/textfile_indexer.cc: Corrected
	  odd uses of std::string::erase() (instead of `str = str.erase(n, m)'
	  just use `str.erase(n,m)').

Sun May 25 22:59:44 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated.

Sun May 25 22:58:28 BST 2003  Olly Betts <olly@survex.com>

	* languages/Makefile.am: Suppress "unused" warnings in Snowball
	  generated C code.

Sun May 25 21:43:34 BST 2003  Olly Betts <olly@survex.com>

	* api/omtermlistiterator.cc: Removed iostream.h include left over from
	  debugging.

Sun May 25 12:27:11 BST 2003  Olly Betts <olly@survex.com>

	* docs/,extra/omparsequery.h,extra/parsequery.yy,include/Makefile.am,
	  include/xapian.h,include/om/om.h,tests/,testsuite/backendmanager.cc,
	  testsuite/backendmanager.h,testsuite/testutils.h: Created xapian.h
	  header and changed everything to use it.

Sat May 24 23:35:46 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_document.h,
	  backends/quartz/quartz_database.cc,backends/quartz/quartztest.cc,
	  common/,include/Makefile.am,include/om/om.h,
	  include/om/omvalueiterator.h,include/xapian/,
	  testsuite/backendmanager.cc: OmValueIterator -> Xapian::ValueIterator
	  etc.

Fri May 23 15:32:29 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/database.cc,backends/inmemory/,backends/muscat36/,
	  backends/net/net_database.cc,backends/net/net_document.cc,
	  backends/net/net_document.h,backends/quartz/,common/,docs/,
	  include/Makefile.am,include/om/om.h,include/om/omdocument.h,
	  include/om/omvalueiterator.h,include/xapian/,indexer/omindexer.h,
	  matcher/,net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_posdb.cc,
	  tests/internaltest.cc,testsuite/: OmDocument -> Xapian::Document, etc.
	* include/Makefile.am: Fixed library headers to install in xapian and
	  om subdirectories as they should.

Fri May 23 15:31:05 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Consistently use int4 for block number -
	  it really should be unsigned and this is a first step.

Mon May 19 13:20:46 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Create include/xapian if it doesn't exist so that
	  VPATH builds work.

Mon May 19 13:17:16 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am: Disabled exported symbol regex for now.

Tue May 13 05:08:54 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/database.cc,backends/dir_contents,backends/inmemory/,
	  backends/multi/,backends/muscat36/,backends/net/,backends/quartz/,
	  common/,docs/,extra/omparsequery.h,include/,matcher/,net/,netprogs/,
	  tests/: OmDatabase -> Xapian::Database, etc.

Tue May 13 05:07:41 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Corrected spelling: "maintainance" to "maintenance".

Tue May 13 00:40:47 BST 2003  Olly Betts <olly@survex.com>

	* ChangeLog.0,NEWS,backends/inmemory/inmemory_database.h,
	  backends/muscat36/da_database.h,backends/muscat36/db_database.h,
	  backends/quartz/quartz_postlist.h,
	  indexer/indexgraph/omstopwordnode.cc: Spelling correction:
	  "occurence" should be "occurrence".

Mon May 12 22:39:27 BST 2003  Olly Betts <olly@survex.com>

	* api/ompositionlistiteratorinternal.h,
	  include/om/ompositionlistiterator.h: Removed unused files.

Mon May 12 20:51:03 BST 2003  Olly Betts <olly@survex.com>

	* api/omdatabaseinternal.cc,backends/database.cc: Moved database
	  factory functions from api to backends.

Fri May 09 04:02:29 BST 2003  Olly Betts <olly@survex.com>

	* common/expandweight.h: Removed cruft.

Fri May 09 03:50:36 BST 2003  Olly Betts <olly@survex.com>

	* common/rset.h: Removed unused RSetI ctor variant.

Fri May 09 02:00:03 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/,docs/overview.html,include/om/om.h,
	  include/xapian/enquire.h,include/xapian/output.h,matcher/,
	  net/socketclient.cc,net/socketcommon.cc,net/socketserver.cc,
	  netprogs/nettest.cc,tests/api_db.cc: OmRSet -> Xapian::RSet.

Fri May 09 01:06:32 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc: Fixed MSet::Internal::get_description() to include
	  class name.

Fri May 09 01:04:12 BST 2003  Olly Betts <olly@survex.com>

	* common/rset.h,matcher/expand.cc,matcher/rset.cc: RSetI now uses
	  set<Xapian::docid> (as OmRSet::Internal) rather than
	  vector<RSetItem>.

Fri May 09 00:41:20 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/,docs/quickstartexpand.cc.html,matcher/:
	  RSet internal class renamed to RSetI to aid upcoming OmRSet ->
	  Xapian::RSet change.  RSetI looks like it can be eliminated
	  later.

Thu May 08 23:54:44 BST 2003  Olly Betts <olly@survex.com>

	* tests/: Removed make_dbgrp() helper function from apitest as it
	  makes the test code less clear without making it easier to write.

Thu May 08 01:24:53 BST 2003  Olly Betts <olly@survex.com>

	* api/ompostlistiterator.cc,docs/overview.html,tests/api_db.cc:
	  Fixed OmWeight and OmMatchDecider in comments, docs, and
	  testsuite.

Thu May 08 01:16:30 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc,backends/multi/multi_postlist.h,common/,
	  include/om/om.h,include/xapian/enquire.h,matcher/,
	  net/socketclient.cc,net/socketserver.cc: OmMatchDecider ->
	  Xapian::MatchDecider; OmWeight -> Xapian::Weight; BoolWeight,
	  TradWeight, BM25Weight -> Xapian::.

Wed May 07 23:06:47 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
	  configure.in,netprogs/nettest.cc,tests/,testsuite/: Minor overhaul
	  of testsuite.

Wed May 07 17:54:34 BST 2003  Olly Betts <olly@survex.com>

	* backends/,common/document.h,matcher/Makefile.am,matcher/document.cc:
	  Removed do_ wrappers for Document methods get_value(),
	  get_all_values() and get_data().  The wrappers used to perform
	  thread locking, but now they're just pointless overhead.

Wed May 07 17:24:00 BST 2003  Olly Betts <olly@survex.com>

	* HACKING: Started section of API structure.

Wed May 07 02:16:03 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/expand.h,common/omenquireinternal.h,
	  common/omstringstream.h,docs/quickstart.html,include/om/om.h,
	  include/xapian/enquire.h,include/xapian/output.h,matcher/expand.cc,
	  matcher/multimatch.cc,net/socketcommon.cc,netprogs/nettest.cc,
	  tests/api_db.cc,testsuite/testutils.cc: OmMSet -> Xapian::MSet,
	  similarly for OmMSetIterator, OmESet, and OmESetIterator.

Tue May 06 19:31:42 BST 2003  Olly Betts <olly@survex.com>

	* include/xapian/query.h: New file I failed to checkin on Friday.

Tue May 06 14:16:41 BST 2003  Olly Betts <olly@survex.com>

	* HACKING,configure.in,tests/.cvsignore,tests/Makefile.am,
	  tests/runtest.in,testsuite/testsuite.cc: Sorted out autodetection
	  of valgrind for running testsuite.
	* HACKING: Added note about how to run gdb on dynamically linked
	  binaries built using libtool.
	* HACKING: Recommend libtool 1.5 as in 1.4.2 libtool --mode=execute
	  doesn't seem to handle programs with arguments.

Tue May 06 00:25:03 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated.

Fri May 02 16:58:15 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Improved check that LEX is flex - it will now accept
	  "flex" with a path and/or prefix.

Fri May 02 16:12:46 BST 2003  Olly Betts <olly@survex.com>

	* api/,common/,include/,matcher/,net/,netprogs/nettest.cc,
	  netprogs/omtcpsrv.cc,tests/api_db.cc,tests/api_posdb.cc,
	  testsuite/testutils.cc,testsuite/testutils.h: OmEnquire ->
	  Xapian::Enquire, OmQuery -> Xapian::Query, etc.

Fri May 02 03:14:28 BST 2003  Olly Betts <olly@survex.com>

	* tests/internaltest.cc: Reenabled tests for leak checking and fixed
	  them up to work with valgrind.

Fri May 02 02:14:28 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc,testsuite/testsuite.h: If a testsuite program
	  is run using "valgrind --logfile-fd=255 ./footest" then the harness
	  will show valgrind's output for tests which fail because valgrind
	  spotted errors or leaks (untested under valgrind).

Thu May 01 21:25:01 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc,api/omquery.cc,api/omqueryinternal.cc,common/,
	  docs/overview.html,docs/quickstart.html,extra/omparsequery.h,
	  extra/parsequery.yy,extra/parsequerytest.cc,include/,matcher/,
	  net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_nodb.cc,
	  tests/api_posdb.cc: OmQuery -> Xapian::Query, etc.  For now
	  I've had to expose Xapian::Query::Internal in xapian/query.h
	  which isn't ideal.

Wed Apr 30 20:37:27 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/omenquireinternal.h,include/:
	  typedefs om_* -> Xapian::*, but not changed all internal uses yet.

Wed Apr 30 03:51:52 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/,common/,extra/omparsequery.h,extra/parsequery.yy,
	  include/,matcher/localmatch.h,matcher/orpostlist.h,tests/api_db.cc:
	  OmPostListIterator -> Xapian::PostListIterator, etc.

Wed Apr 30 02:13:31 BST 2003  Olly Betts <olly@survex.com>

	* docs/matcherdesign.html,include/om/omenquire.h: Merged docs
	  discussing OmMSetIterator::get_collapse_count() into the doxygen
	  documentation comments - they're docs aimed at the API user so
	  really don't belong in the internal matcher design docs.

Wed Apr 30 01:08:39 BST 2003  Olly Betts <olly@survex.com>

	* .cvsignore: Added config.guess.

Tue Apr 29 21:08:40 BST 2003  Olly Betts <olly@survex.com>

	* include/om/om.h,include/xapian/base.h,include/xapian/error.h,
	  include/xapian/errorhandler.h,include/xapian/expanddecider.h,
	  include/xapian/positionlistiterator.h,include/xapian/stem.h,
	  include/xapian/termiterator.h: OM_HGUARD_* -> XAPIAN_INCLUDED_*.

Tue Apr 29 20:37:01 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/,common/,include/,indexer/omnodeinstanceiterator.h,
	  indexer/ompaditerator.h,net/readquery.h,testsuite/indexer.h:
	  om/omoutput.h -> xapian/output.h; om/omtypes.h -> xapian/types.h.

Tue Apr 29 18:28:27 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/,common/,include/,matcher/,net/socketserver.cc,tests/,
	  testsuite/backendmanager.cc,testsuite/testsuite.cc: OmTermIterator
	  -> Xapian::TermIterator, etc.

Tue Apr 29 17:39:34 BST 2003  Olly Betts <olly@survex.com>

	* common/omdebug.cc: Setting XAPIAN_DEBUG_LOG caused an exception
	  (with GCC 3.0 at least) unless the value contained %% - fixed.

Tue Apr 29 14:29:36 BST 2003  Olly Betts <olly@survex.com>

	* api/ompositionlistiterator.cc: Fixed to compile in debug mode.

Tue Apr 29 01:06:02 BST 2003  Olly Betts <olly@survex.com>

	* xapian.spec.in: Removed %changelog - it hasn't been reliably updated
	  and only really makes sense when the packaging is done by a third
	  party anyway.

Tue Apr 29 01:03:20 BST 2003  Fabrice Colin

	* xapian.spec.in: Fixed packaging of docs.

Tue Apr 29 00:33:21 BST 2003  Olly Betts <olly@survex.com>

	* HACKING,testsuite/testsuite.cc,testsuite/testsuite.h: valgrind is
	  now mostly hooked into the testsuite.
	* HACKING: Bison 1.875 doesn't work but Bison 1.875a probably does;
	  suggest CXXFLAGS=-Werror, not CFLAGS.

Tue Apr 29 00:14:00 BST 2003  Olly Betts <olly@survex.com>

	* INSTALL: Updated.

Wed Apr 23 14:31:51 BST 2003  Olly Betts <olly@survex.com>

	* api/omtermlistiterator.cc,api/omtermlistiteratorinternal.h,
	  api/omvalueiteratorinternal.h,backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_positionlist.cc,
	  common/inmemory_positionlist.h: Added InMemoryPositionList ctor
	  which takes the positions data to avoid needing to construct and
	  immediately call set_data().

Wed Apr 23 14:14:34 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/,common/,include/,matcher/: OmPositionListIterator
	  -> Xapian::PositionListIterator, etc.

Wed Apr 23 13:47:49 BST 2003  Olly Betts <olly@survex.com>

	* xapian.spec.in: Minor tweaks.

Sun Apr 20 22:55:04 BST 2003  Olly Betts <olly@survex.com>

	* extra/omparsequery.h,include/xapian/stem.h,tests/api_db.cc,
	  tests/api_nodb.cc,tests/api_posdb.cc,testsuite/backendmanager.cc:
	  OmStem -> Xapian::Stem; OmExpandDecider -> Xapian::ExpandDecider.

Sun Apr 20 22:52:42 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,api/omenquire.cc,common/expand.h,
	  common/omenquireinternal.h,docs/overview.html,include/,
	  matcher/expand.cc,tests/api_db.cc: OmExpandDecider ->
	  Xapian::ExpandDecider, etc.

Sun Apr 20 22:42:32 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS,api/,backends/,common/,docs/,include/,matcher/,net/,
	  netprogs/,tests/,testsuite/: OmError -> Xapian::Error, etc.

Fri Apr 18 22:40:31 BST 2003  Sam Liddicott <sam@liddicott.com>

	* matcher/multimatch.cc: Fixed so that it updates the OmMSetItem in
	  the MSet with the collapse_count from the OmMSetItem twin in
	  collapse_tab or we lose collapse_count if newer collapsing hits are
	  less relevant than the hits they collapse over.  I think we need
	  collapse_tab maybe to keep a reference to the item in the mset?  But
	  this works for now.
	* xapian.spec.in: Fixed to also install include/xapian stuff

Fri Apr 18 19:17:56 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,include/Makefile.am,include/om/.cvsignore,
	  include/om/Makefile.am,include/om/om.h,include/om/om.h.in,
	  include/xapian/.cvsignore,include/xapian/Makefile.am,
	  include/xapian/dir_contents,include/xapian/version.h.in:
	  C++ ABI version checking is now done by xapian/version.h.

Fri Apr 18 17:57:21 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,api/omstem.cc,include/Makefile.am,include/om/om.h.in,
	  include/om/omstem.h,include/xapian/.cvsignore,
	  include/xapian/Makefile.am,include/xapian/base.h,
	  include/xapian/stem.h: Reworked OmStem to use reference counted
	  internals; renamed OmStem to Xapian::Stem and added a #define for
	  compatibility with existing code.

Fri Apr 18 17:02:56 BST 2003  Olly Betts <olly@survex.com>

	* api/,backends/,common/,docs/overview.html,docs/quickstart.html,
	  docs/quickstartexpand.cc.html,extra/,include/om/,matcher/,net/,
	  tests/,testsuite/: Use std::string instead of typedef-ing it as
	  om_termname.  The typedef doesn't really buy us anything.  Keep
	  a typedef for compatibility with existing code for now.

Fri Apr 18 16:12:32 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: GCC 3.2.2 on Redhat 7.1 works with CXXFLAGS=-Werror

Thu Apr 10 20:05:27 BST 2003  Olly Betts <olly@survex.com>

	* common/Makefile.am,common/indexer.h,testsuite/Makefile.am,
	  testsuite/indexer.h: Moved indexer.h from common to testsuite
	  and altered it to use iosfwd instead of iostream and to
	  declare OmDocument as a class instead of include omdocument.h.

Thu Apr 10 18:55:55 BST 2003  Olly Betts <olly@survex.com>

	* xapian-config.nodep.in: Removed --prefix and --exec-prefix - you
	  can't reliably install Xapian with a different prefix to the one
	  it was configured with, yet these options give the impression you
	  can.

Thu Apr 10 18:53:53 BST 2003  Olly Betts <olly@survex.com>

	* .cvsignore: Added config.sub.

Thu Apr 10 02:41:50 BST 2003  Olly Betts <olly@survex.com>

	* NEWS,configure.in: Updated for 0.6.5 release.

Thu Apr 10 02:29:12 BST 2003  Olly Betts <olly@survex.com>

	* docs/doxygen_api_footer.html_tmpl,docs/doxygen_full_footer.html_tmpl,
	  docs/overview.html: Use http://www.doxygen.org/ as URL for doxygen.
	* docs/overview.html: Fixed bad link to our own website!

Thu Apr 10 02:12:00 BST 2003  Olly Betts <olly@survex.com>

	* Makefile.am,backends/Makefile.am,backends/net/.cvsignore,
	  backends/net/Makefile.am,netprogs/.cvsignore: Renamed libnetdb.la
	  to libremote.la, and LIB_REMOTE1 to LIBNET_LA.

Thu Apr 10 02:08:24 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated mingw notes to reflect the change to
	  automatically disable the remote backend when fork() isn't
	  available.

Thu Apr 10 01:56:34 BST 2003  Olly Betts <olly@survex.com>

	* docs/mkdoc.pl: Fixed to only look at directories listed in
	  DIST_SUBDIRS.

Thu Apr 10 00:23:28 BST 2003  Olly Betts <olly@survex.com>

	* configure.in: Automatically disable the remote backend if we don't
	  have fork() since the remote backend requires it in several places;
	  AM_CONDITIONAL ENABLE_SHARED isn't used anywhere so commented it
	  out.

Wed Apr 09 22:48:20 BST 2003  Olly Betts <olly@survex.com>

	* NEWS: Updated with recent changes.

Wed Apr 09 22:43:31 BST 2003  Olly Betts <olly@survex.com>

	* docs/remote_protocol.html: Talk about Server/Client rather than
	  ProgServer/ProgClient; reworked first paragraph.

Wed Apr 09 13:23:05 BST 2003  Olly Betts <olly@survex.com>

	* docs/Makefile.am: Install docs in /usr/share/doc/xapian-core to be
	  FHS compliant.
	* xapian.spec.in: Package quartzcheck and quartzcompact too; sorted
	  out docs so they all install in the right place.

Wed Apr 09 01:16:11 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,backends/quartz/quartz_log.cc,
	  backends/quartz/quartz_table_manager.cc,common/omdebug.cc,
	  common/omdebug.h: Don't use HAVE_GETPID - if it's not set we assume
	  GetCurrentProcessId() works, so it's cleaner to test with
	  #ifdef WIN32 instead.

Tue Apr 08 19:56:57 BST 2003  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated with the results of many test builds.

Tue Apr 08 19:55:15 BST 2003  Olly Betts <olly@survex.com>

	* configure.in,backends/quartz/Makefile.am,backends/quartz/btree.cc,
	  netprogs/nettest.cc,common/getopt.h,common/omtime.h,common/utils.cc,
	  common/utils.h,tests/Makefile.am,tests/api_db.cc: Now builds with
	  Linux to mingw cross-compiler.
	* tests/Makefile.am: don't include findheaders.pl in the tarball -
	  it's no longer used.
	* tests/internaltest.cc: removed "#include <dlfcn.h>" and disabled
	  code which used to use it.
	* testsuite/backendmanager.cc,testsuite/backendmanager.h: fixed to
	  work if any backends are disabled.

Tue Apr 08 16:09:11 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/quartz_log.cc,
	  backends/quartz/quartz_table_manager.cc,testsuite/testsuite.cc:
	  Some fixes for building with Linux to mingw cross-compiler.

Tue Apr 08 02:26:51 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/btreetest.cc: If we don't have <sstream> and so are
	  using our own stringstream implementation, we can't pass it as an
	  ostream reference so BtreeCheck::check() can't be run in btreetest.
	  This is only an issue on old compilers (for GCC <= 2.95.2 it seems)
	  so just disable the checking in that case - it's probably not worth
	  the effort of trying to make our stringstream a subclass of ostream.

Tue Apr 08 01:20:36 BST 2003  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Updated unfinished hooks to use valgrind in
	  the test harness.

Fri Apr 04 03:12:27 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc,api/omstem.cc,common/omdebug.cc: Fixed to compile
	  when configure-d with --enable-debug-verbose --enable-debug=full.

Fri Apr 04 03:10:53 BST 2003  Olly Betts <olly@survex.com>

	* common/omstringstream.h: Removed unused code for writing
	  vector<string> to our own implementation of om_ostringstream.

Fri Apr 04 03:08:35 BST 2003  Olly Betts <olly@survex.com>

	* api/ompostlistiterator.cc: Use "using namespace std;"; replaced
	  gratuitous use of om_ostringstream.

Fri Apr 04 03:07:05 BST 2003  Olly Betts <olly@survex.com>

	* tests/api_nodb.cc: Use "using namespace std;"; removed stray cout
	  debug line.

Wed Apr 02 16:54:50 BST 2003  Olly Betts <olly@survex.com>

	* tests/internaltest.cc: More Sun C++ fixes.
	* PLATFORMS: Updated.

Wed Apr 02 16:39:48 BST 2003  Olly Betts <olly@survex.com>

	* tests/api_db.cc,net/tcpserver.cc,common/tcpserver.h: More Sun C++
	  fettling.

Wed Apr 02 15:42:54 BST 2003  Olly Betts <olly@survex.com>

	* matcher/emptymatch.h,tests/api_db.cc: More fixes for Sun C++.

Wed Apr 02 15:13:58 BST 2003  Olly Betts <olly@survex.com>

	* api/omenquire.cc,api/omqueryinternal.cc,
	  backends/inmemory/inmemory_database.h,common/document.h,
	  common/netclient.h,common/netserver.h,common/networkstats.h,
	  common/omlinebuf.h,common/stats.h,include/om/omerror.h,
	  include/om/omerrorhandler.h,indexer/indexgraph/nodetest.cc,
	  indexer/indexgraph/omindexerbuilder.cc,
	  indexer/indexgraph/omindexerinternal.h,
	  indexer/indexgraph/omstopwordnode.cc,
	  indexer/indexgraph/regexcommon.h,indexer/indexgraph/toposort.h,
	  tests/api_db.cc,tests/api_nodb.cc,testsuite/backendmanager.h:
	  More fixes for Sun C++; removed many superfluous ";" after "}".

Wed Apr 02 03:45:42 BST 2003  Olly Betts <olly@survex.com>

	* api/omdocument.cc,api/omenquire.cc,api/omtermlistiteratorinternal.h,
	  backends/inmemory/inmemory_database.h,backends/quartz/btree.cc,
	  backends/quartz/btree.h,common/alltermslist.h,common/expandweight.h,
	  common/getopt.h,common/utils.h,include/om/omenquire.h,
	  matcher/expandweight.cc,matcher/multimatch.cc,
	  testsuite/backendmanager.h: Resolved various issues so that
	  libxapian now builds with Sun's C++ compiler.  However
	  libomqueryparser and the test programs don't yet.

Tue Apr 01 02:52:57 BST 2003  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_types.h: use "unsigned int" rather than
	  "unsigned long int" so that quartz_tablesize_t matches om_doccount
	  on 64 bit machines.

Mon Mar 31 19:34:54 BST 2003  Olly Betts <olly@survex.com>

	* AUTHORS,xapian.spec.in: Merged in changes to RPM packaging from
	  Fabrice Colin and reworked further.

Fri Mar 28 20:04:04 GMT 2003  Olly Betts <olly@survex.com>

	* NEWS: Updated.

Fri Mar 28 19:53:59 GMT 2003  Olly Betts <olly@survex.com>

	* README: Removed out-of-date sourceforge references; tidied up
	  wording in places.

Fri Mar 28 19:52:11 GMT 2003  Olly Betts <olly@survex.com>

	* HACKING: Removed out-of-date sourceforge references; tidied up
	  wording in places; docs/tests.txt is now docs/tests.html .

Fri Mar 28 17:35:15 GMT 2003  Olly Betts <olly@survex.com>

	* NEWS: Wrote most of the entries for the next release.

Fri Mar 28 17:34:57 GMT 2003  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Thu Mar 27 05:42:41 GMT 2003  Olly Betts <olly@survex.com>

	* .cvsignore,Makefile.am,configure.in,docs/.cvsignore,docs/Makefile.am,
	  docs/index.html,docs/todo2html.pl: removed machinery to generate
	  TODO, TODO.release, docs/todo.html, and docs/todo-release.html from
	  docs/todo.xml - bug and todo items will be tracked in bugzilla
	  instead.

Thu Mar 27 05:25:12 GMT 2003  Olly Betts <olly@survex.com>

	* docs/todo.xml: Removed completed items and those already fed into
	  bugzilla.

Thu Mar 27 05:17:05 GMT 2003  Olly Betts <olly@survex.com>

	* api/omstem.cc,include/om/omstem.h: Added default OmStem ctor,
	  and "none" language.  Both of these give a stemmer object which
	  leaves terms unchanged which should allow for simpler logic
	  in programs using Xapian.  The default ctor also removes the
	  need to mess with pointers in some cases.

Thu Mar 27 04:52:27 GMT 2003  Olly Betts <olly@survex.com>

	* NEWS: Started to prepare for next release.

Thu Mar 27 04:49:52 GMT 2003  Olly Betts <olly@survex.com>

	* include/om/omenquire.h,include/om/omerror.h: Improved documentation
	  comments.

Thu Mar 27 01:09:04 GMT 2003  Olly Betts <olly@survex.com>

	* docs/todo.xml,tests/api_db.cc: Added regression test for Quartz
	  bug which caused problems with long terms on machines with signed
	  chars.

Wed Mar 26 20:30:18 GMT 2003  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: fixed interaction of collapsing and
	  sort_bands == 1.

Wed Mar 26 01:04:30 GMT 2003  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Fixed sort_bands == 1 bug which would
	  incorrectly reject many documents with a low score.

Thu Mar 06 13:04:06 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>

	* docs/matcherdesign.html: Add writeup about document collapsing.

Thu Mar 06 11:32:05 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>

	* Add collapse_count threshold checking to ensure that most
	  relevant collapsed-away hit is more relevant than threshold
	  (if specified)

Mon Mar 03 14:04:56 GMT 2003  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Corrected 2kB to 2KB.

Fri Feb 28 10:11:04 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>

	* Add get_collapse_count() to OmMSetIterator
	* Add collapse_count to OmMSetItem
	* Add collapse_count tracking to get_mset()

Thu Feb 27 15:28:08 GMT 2003  Olly Betts <olly@survex.com>

	* common/match.h,common/multimatch.h,matcher/multimatch.cc: Optimise
	  the common sort_bands == 1 case better.
	* tests/api_db.cc: sortbands2 now tests 1 sortband as well as 10.

Wed Feb 26 09:58:01 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>

	* bootstrap: Fix success message when building in non-src dir
	  as configure is written to the src dir.

Mon Feb 24 10:33:52 GMT 2003  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Disabled (for now) sort_bands
	  optimisation which is misbehaving.  Fixed forward ordered boolean
	  optimisation broken by last check-in.
	* tests/api_db.cc: Added test_sortbands2 based on James' test code.

Sun Feb 23 20:28:47 GMT 2003  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: Fixed problem with sort_bands when asking
	  for an m-set which didn't start with the first match.

Sun Jan 05 22:20:33 GMT 2003  Olly Betts <olly@survex.com>

	* testsuite/index_utils.cc: Handling of ^x was just downright wrong
	  due to a typo.

Sun Jan 05 22:19:56 GMT 2003  Olly Betts <olly@survex.com>

	* backends/quartz/.cvsignore: Ignore quartzcompact binary.

Sun Jan 05 22:18:57 GMT 2003  Olly Betts <olly@survex.com>

	* extra/parsequerytest.cc: Fixed to build with GCC 2.95.

Tue Dec 24 20:21:03 GMT 2002  Olly Betts <olly@survex.com>

	* NEWS: Added omega 0.6.4 changes.

Tue Dec 24 19:53:10 GMT 2002  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.in: Version 0.6.4.

Tue Dec 24 19:29:27 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc,backends/quartz/quartz_table.cc:
	  Don't bother checking is position_list is empty - just delete it and
	  let the layer below handle not having anything to delete.
	* backends/quartz/quartz_termlist.cc,docs/todo.xml: Fixed unpacking
	  of termlist on platforms where char is signed.

Tue Dec 24 05:48:06 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Fixed double setting of position
	  list when updating a document with term position information.  The
	  behaviour before was correct, just inefficient.

Mon Dec 23 04:44:46 GMT 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Mon Dec 23 03:22:19 GMT 2002  Olly Betts <olly@survex.com>

	* extra/parsequery.yy: If a stemmed form with a "." is in the query,
	  include the "." on the form in the unstem multimap.

Sun Dec 22 21:44:06 GMT 2002  Olly Betts <olly@survex.com>

	* extra/omparsequery.h,extra/parsequery.yy,extra/parsequerytest.cc:
	  Added support for searching probabilistic fields (using
	  <field>:<term>).

Sat Dec 21 01:38:59 GMT 2002  Olly Betts <olly@survex.com>

	* configure.in: Don't include "om.h" in APIDOC_SRC, otherwise
	  people building from source will need to regenerate the source
	  docs which will require them to have doxygen installed.

Fri Dec 20 15:39:51 GMT 2002  James Aylett  <james@tartarus.org>

	* Bindings build using SWIG 1.3.14u-20020706-1222, with very
	  basic functionality tested with the Python target.

Fri Dec 20 12:38:26 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Tidied up some bindings-related issues, including changes to
	  the Python bindings to work with Python 2.2. This probably won't
	  compile as it stands, but it's disabled anyway.

Sun Dec 15 18:23:42 GMT 2002  Olly Betts <olly@survex.com>

	* api/omdatabase.cc,backends/muscat36/da_database.cc,
	  backends/muscat36/db_database.cc,matcher/phrasepostlist.cc:
	  Muscat 3.6 DA and DB databases don't have word position information.
	  Instead of throwing an exception when this information is requested,
	  return an empty position list (i.e. behave as a quartz database with
	  no position information would).

Sun Dec 15 03:08:28 GMT 2002  Olly Betts <olly@survex.com>

	* backends/muscat36/: DADatabase and DBDatabase ctors need to public
	  so that they can called from the database factory functions.
	* api/omenquire.cc,backends/muscat36/,backends/quartz/btree.cc,
	  tests/api_db.cc: Fixed compilation warnings.

Sat Dec 14 23:02:55 GMT 2002  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html,docs/todo.xml: Updated.

Sat Dec 14 22:57:41 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/Makefile.am,backends/quartz/quartzcheck.cc,
	  backends/quartz/quartzcompact.cc,backends/quartz/quartzdump.cc:
	  Enhanced quartzcheck to check all the btrees in a quartz database
	  if passed a directory name.  It also default to "v" rather than
	  "+" which is more appropriate for an end user checking if tables
	  in a non-trivial sized database are corrupt.  Added quartzcompact
	  utility to make a copy of a quartz database with full compaction
	  turned on - this results in a smaller database which is faster to
	  search.  The next update will result in a lot of block splitting
	  though (since all blocks are as full as possible).

Sat Dec 14 16:28:11 GMT 2002  Olly Betts <olly@survex.com>

	* NEWS: Updated for 0.6.3 release.

Sat Dec 14 04:28:16 GMT 2002  Olly Betts <olly@survex.com>

	* PLATFORMS,configure.in: Version 0.6.3.

Sat Dec 14 03:54:08 GMT 2002  Olly Betts <olly@survex.com>

	* extra/omparsequery.h,extra/parsequery.yy: Create an "unstem" multimap
	  so users can convert the stemmed terms back into their query
	  representation.

Sat Dec 14 03:48:27 GMT 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Sat Dec 14 02:37:41 GMT 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Sat Dec 14 02:26:29 GMT 2002  Olly Betts <olly@survex.com>

	* docs/remote_protocol.html,net/socketclient.cc,net/socketserver.cc:
	  Updated remote protocol description.

Sat Dec 14 02:05:59 GMT 2002  Olly Betts <olly@survex.com>

	* docs/: Updated.

Fri Dec 13 23:43:23 GMT 2002  Olly Betts <olly@survex.com>

	* include/om/om.h.in: Removed bogus // in the middle of a comment.

Fri Dec 13 22:17:41 GMT 2002  Olly Betts <olly@survex.com>

	* configure.in,testsuite/testsuite.cc: Added hooks for using valgrind
	  to find leaks in the test suite.  Just need to sort out suitable
	  hooks in valgrind now!

Fri Dec 13 19:57:23 GMT 2002  Olly Betts <olly@survex.com>

	* docs/: OmSettings removal updates.

Fri Dec 13 19:44:23 GMT 2002  Olly Betts <olly@survex.com>

	* bindings/: Made a start updating bindings for OmSettings removal.

Fri Dec 13 19:13:36 GMT 2002  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/omenquireinternal.h,include/om/omenquire.h,
	  net/socketclient.cc,tests/api_db.cc: Finished removal of OmSettings
	  - all tests now pass once more!

Fri Dec 13 16:35:12 GMT 2002  Olly Betts <olly@survex.com>

	* api/,backends/quartz/quartz_table_manager.h,common/,docs/,include/,
	  matcher/,net/,tests/internaltest.cc: Removed last use of OmSettings.
	  Just a check-point check in - the code compiles, but doesn't pass
	  tests yet.

Fri Dec 13 12:53:01 GMT 2002  Olly Betts <olly@survex.com>

	* netprogs/nettest.cc: Updated disabled code to use new database
	  factory functions; Added "using namespace std;".

Thu Dec 12 23:52:32 GMT 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Tidied my desk and converted lots of scraps of paper
	  to todo entries.

Thu Dec 12 16:43:22 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Added workaround for shared_level problem;
	  Improved error reporting.

Thu Dec 12 01:05:00 GMT 2002  Olly Betts <olly@survex.com>

	* docs/overview.html: Updated docs on stub databases.

Wed Dec 11 20:49:11 GMT 2002  Olly Betts <olly@survex.com>

	* api/omdatabaseinternal.cc,include/om/omdatabase.h,tests/api_db.cc:
	  Reimplemented stub databases in the new scheme of things.
	* backends/inmemory/: fully disabled inmemory_errornext and
	  inmemory_abortnext code.

Tue Dec 10 13:47:44 GMT 2002  Olly Betts <olly@survex.com>

	* HACKING: Added note that Bison 1.50 seems to work with Xapian's
	  .yy files.

Mon Dec 09 20:13:00 GMT 2002  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/omenquireinternal.h,docs/todo.xml,
	  include/om/omenquire.h,tests/api_db.cc: OmEnquire::get_eset()
	  now takes a flags argument of bit constants |-ed together
	  instead of 2 bools.

Mon Dec 09 12:52:38 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: Applied patch
	  from Martin Porter with better fix for sequential addition bug.

Mon Dec 09 09:57:42 GMT 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Mon Dec 09 07:32:46 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartztest.cc: Corrected name of database used
	  by test adddoc2 (was using testdb_adddoc1!)

Mon Dec 09 05:10:09 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc,backends/quartz/quartz_table.cc:
	  More fettling.

Mon Dec 09 04:48:39 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/: Minor code fettle.

Mon Dec 09 03:32:11 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: Gratuitous layout fettling.

Mon Dec 09 03:30:27 GMT 2002  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Improved wording and punctuation in 3
	  places.

Mon Dec 09 03:25:09 GMT 2002  Olly Betts <olly@survex.com>

	* common/,docs/todo.xml,include/om/omenquire.h,matcher/,
	  net/socketclient.cc,net/socketserver.cc,netprogs/omprogsrv.cc,
	  netprogs/omtcpsrv.cc: Fixed the remote backend to handle non-default
	  weighting schemes.  You can now even implement your own weighting
	  scheme and use it with the remote backend provided you register it
	  with SocketServer at runtime.

Sat Dec 07 21:18:39 GMT 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated.

Sat Dec 07 21:09:52 GMT 2002  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.in: Version 0.6.2.

Sat Dec 07 20:24:46 GMT 2002  Olly Betts <olly@survex.com>

	* NEWS: Updated.

Sat Dec 07 20:21:41 GMT 2002  Olly Betts <olly@survex.com>

	* docs/quickstart.html: Fixed parameters passed to OmQuartz__open().

Sat Dec 07 20:17:42 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartztest.cc: Fixed parameters passed to
	  OmQuartz__open().

Sat Dec 07 16:41:25 GMT 2002  Olly Betts <olly@survex.com>

	* docs/tests.html,testsuite/testsuite.cc: The testsuite won't install
	  its signal handler if XAPIAN_SIG_DFL is set.

Sat Dec 07 16:39:01 GMT 2002  Olly Betts <olly@survex.com>

	* HACKING: OM_DEBUG_XXX -> XAPIAN_DEBUG_YYY.

Sat Dec 07 04:48:37 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: max_item_size wasn't being set due to
	  some over-zealous code pruning.  It was defaulting to 0, and
	  was causing the code to write off the end of allocated memory
	  blocks.

Sat Dec 07 03:22:05 GMT 2002  Olly Betts <olly@survex.com>

	* backends/inmemory/,matcher/multimatch.cc: Minor code tidying.
	* backends/quartz/btree.cc: Added Assert in Btree::add() to detect
	  running off end of buffer.

Sat Dec 07 03:20:52 GMT 2002  Olly Betts <olly@survex.com>

	* matcher/localmatch.cc: fixed handling of wtscheme() - we were
	  trying to use it for the extra weights, and then double
	  deleting it!

Fri Dec 06 23:05:22 GMT 2002  Olly Betts <olly@survex.com>

	* api/omstem.cc,backends/quartz/,common/omdebug.cc,common/utils.h,
	  matcher/tradweight.cc,net/socketcommon.cc,net/tcpclient.cc,
	  tests/api_db.cc: Fixed to build with configure --enable-debug=full.

Fri Dec 06 23:01:08 GMT 2002  Olly Betts <olly@survex.com>

	* common/omdebug.cc,common/omdebug.h: Fixed permissions on newly
	  created log file (was getting 000!); Simplified class internals;
	  Renamed env vars: OM_DEBUG_FILE is now XAPIAN_DEBUG_LOG,
	  OM_DEBUG_TYPES is now XAPIAN_DEBUG_FLAGS (old versions still work
	  for now).

Fri Dec 06 22:58:57 GMT 2002  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Fixed so running "gdb .libs/apitest"
	  finds srcdir (for an in-tree build at least).

Fri Dec 06 03:51:35 GMT 2002  Olly Betts <olly@survex.com>

	* common/,include/om/omenquire.h,matcher/localmatch.h,matcher/rset.cc,
	  matcher/stats.cc: Fixed to compile with GCC 3.0.

Thu Dec 05 23:28:29 GMT 2002  Olly Betts <olly@survex.com>

	* include/om/omdatabase.h: Added missing "std::".

Thu Dec 05 23:27:57 GMT 2002  Olly Betts <olly@survex.com>

	* docs/remote.html: Updated from OmSettings to factory functions.

Thu Dec 05 23:26:42 GMT 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: ixion is actually Linux 2.2.

Thu Dec 05 04:32:40 GMT 2002  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc: Fixed BackendManager::do_getdb_quartz()
	  and do_getwritedb_quartz() to work correctly and so resolved some
	  test failures.

Wed Dec 04 03:35:12 GMT 2002  Olly Betts <olly@survex.com>

	* api/omdatabaseinternal.cc,backends/quartz/,docs/todo.xml,
	  include/om/omdatabase.h: Replace create and allow_overwrite
	  boolean flags with OM_DB_XXX constants.  And we now support
	  OM_DB_CREATE_OR_OPEN which is a common action to want to
	  perform, but was fiddly to achieve before.

Tue Dec 03 23:59:30 GMT 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Tue Dec 03 23:26:27 GMT 2002  Olly Betts <olly@survex.com>

	* api/omenquire.cc,backends/quartz/quartz_postlist.h,common/,
	  docs/omsettings,docs/todo.xml,include/om/omenquire.h,matcher/,
	  net/socketcommon.cc,net/socketserver.cc,tests/api_db.cc,
	  tests/api_posdb.cc: Weighting schemes are now specified by passing
	  in a weighting object, rather than via OmSetttings.  The weight
	  class can be sub-classed by the library user to allow them to
	  specify their own weighting scheme).  Everything works apart
	  from the remote backend where the weighting scheme type and
	  parameters aren't passed across the link.

Mon Dec 02 20:12:31 GMT 2002  Olly Betts <olly@survex.com>

	* NEWS: Updated with changes since 0.6.1.

Mon Dec 02 19:44:37 GMT 2002  Olly Betts <olly@survex.com>

	* api/ompostlistiterator.cc,backends/multi/multi_postlist.h,
	  common/irweight.h,common/leafpostlist.h,matcher/: IRWeight
	  renamed to OmWeight in preparation for making it externally
	  visible.

Mon Dec 02 18:10:55 GMT 2002  Olly Betts <olly@survex.com>

	* matcher/bm25weight.cc,matcher/irweight.cc,matcher/tradweight.cc,
	  matcher/tradweight.h: Started to rework weighting scheme code.

Mon Dec 02 17:36:21 GMT 2002  Olly Betts <olly@survex.com>

	* api/omdatabaseinternal.cc,backends/quartz/quartz_table_manager.cc:
	  Tidying up after the recent backend reworking.

Mon Dec 02 03:59:39 GMT 2002  Olly Betts <olly@survex.com>

	* matcher/: Changed BoolWeight ctor not to take an OmSettings
	  parameter which is simply ignored.

Mon Dec 02 01:35:41 GMT 2002  Olly Betts <olly@survex.com>

	* include/om/omdatabase.h: Added documentation comments for all of
	  the database factory functions.

Sun Dec 01 21:45:49 GMT 2002  Olly Betts <olly@survex.com>

	* include/om: Added \file documentation comments so doxygen
	  extracts documentation for functions too.
	* docs/: Made a start on updating for the new database factory
	  functions.

Sun Dec 01 15:38:10 GMT 2002  Olly Betts <olly@survex.com>

	* api/,backends/,common/,docs/omsettings,docs/todo.xml,
	  include/om/omdatabase.h,netprogs/,tests/,testsuite/backendmanager.cc,
	  testsuite/backendmanager.h: No longer use OmSettings to specify
	  parameters for constructing databases.  Instead there's a factory
	  function for each database type - temporary naming scheme is
	  OmXxx__open(), mostly because it's easy to grep for later.  At
	  present stub databases and the machinery in InMemory to allow
	  the multierrhandler1 test aren't working.  Everything else should
	  be.

Thu Nov 28 20:15:47 GMT 2002  Olly Betts <olly@survex.com>

	* api/omenquire.cc,common/omenquireinternal.h,docs/omsettings,
	  docs/overview.html,include/om/omenquire.h,tests/api_db.cc:
	  No longer use OmSettings in OmEnquire::get_eset(); fixed
	  reversed sense of use_query_terms (and fixed reversed sense
	  test in apitest which meant this wasn't spotted).

Thu Nov 28 20:14:54 GMT 2002  Olly Betts <olly@survex.com>

	* docs/index.html: Link to annotated class lists in doxygen generated
	  documentation rather than rather empty index page.

Thu Nov 28 02:23:33 GMT 2002  Olly Betts <olly@survex.com>

	* configure.in,NEWS: Version 0.6.1.

Thu Nov 28 01:38:05 GMT 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated.

Thu Nov 28 01:33:25 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/: Fixed to compile with GCC 3.0.

Thu Nov 28 01:32:31 GMT 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated with test results from 0.5.4 release.

Wed Nov 27 22:11:38 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree.h: fixed "public:" bodge added during
	  factoring-out of BtreeCheck.

Wed Nov 27 05:01:14 GMT 2002  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.in: Updated for 0.6.0 release.

Wed Nov 27 05:00:39 GMT 2002  Olly Betts <olly@survex.com>

	* AUTHORS,HACKING: Removed or replaced sourceforge.net URLs.

Wed Nov 27 04:58:29 GMT 2002  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Reworded "under development" warning;
	  Updated Btree::check(), which is now BtreeCheck::check().

Wed Nov 27 01:36:26 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
	  backends/quartz/btreetest.cc: Tidied up BtreeCheck - btreetest now
	  sends check output to tout so it's only displayed if the check fails
	  (or btreetest is run with -v).

Tue Nov 26 19:47:24 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/: Split the btree checking code out into a separate
	  file, so it's not linked in when we don't need it.

Tue Nov 26 05:47:32 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Suppress all output from a successful
	  Btree::Check() is no options are specified, so that btreetest
	  generates clean output when all tests pass.

Tue Nov 19 02:08:30 GMT 2002  Olly Betts <olly@survex.com>

	* NEWS: Updated.

Tue Nov 19 01:46:35 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h,
	  backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
	  docs/quartzdesign.html: Quartz B-tree minimum blocksize is
	  now 2048 bytes (as was in fact documented already).  This
	  means the max term length is now always 252 bytes.

Mon Nov 18 22:16:57 GMT 2002  Olly Betts <olly@survex.com>

	* api/omenquire.cc,matcher/expand.cc,matcher/expandweight.cc:
	  Bit of an expand tidy up.

Mon Nov 18 19:49:09 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_termlist.cc: I'd put the new termlist stuff
	  in the disabled branch of a "#ifdef" so it wasn't being used!  Fixed
	  this and made it actually compile as an encore.

Mon Nov 18 02:51:55 GMT 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Retargetted 0.6 tasks for 0.7 or 0.8; updated a few
	  entries.

Mon Nov 18 02:28:55 GMT 2002  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html,backends/quartz/: We can just store the term
	  name raw in position list key, since we know its length from the key
	  length; tweaked storing of deltas to store (delta - 1) as 0 is
	  invalid.

Mon Nov 18 00:47:54 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_termlist.cc: First cut of compressed term
	  lists.

Sun Nov 17 20:19:23 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_lexicon.cc,backends/quartz/quartz_values.cc:
	  Use new pack_uint_last() and unpack_uint_last() where appropriate.

Sun Nov 17 20:03:24 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
	  Added a more compact integer packing for the last integer in
	  a key or tag.

Sun Nov 17 18:54:05 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: more
	  int -> bool changes.
	* backends/quartz/btree_base.cc: Clarified comments.

Sun Nov 17 14:19:30 GMT 2002  Olly Betts <olly@survex.com>

	* docs/quartzdesign.html: Updated to reflect removal of Btree_item.

Sun Nov 17 14:12:12 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/: Eliminate Btree_item - wherever it's used we
	  only actually want the tag or key, so it's cleaner and clearer
	  to just pass a pointer to a string.

Sun Nov 17 13:34:08 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/,docs/quartzdesign.html: Quartz mini-overhaul:
	  Removed Btree::Bcursor_create() and just made Bcursor's ctor
	  public - now you can just create a Bcursor on the stack rather
	  than being forced to use AutoPtr; removed valid_handle - the
	  code is clearer without it; sys_close now inlined from header;
	  changed int/char to bool where appropriate; changed some methods
	  which now always throw on error to return void not bool; moved
	  quartztest's test_btree1 to btreetest as test_simple1; changed
	  a few remaining uses of "struct Btree" to just plain "Btree";
	  brought the btree docs in quartzdesign.html up-to-date, apart
	  from the error handling section.

Sat Nov 16 01:45:28 GMT 2002  Olly Betts <olly@survex.com>

	* backends/inmemory/inmemory_database.cc,
	  backends/inmemory/inmemory_database.h,
	  backends/quartz/quartz_table.cc: Tidying up odds and ends.

Fri Nov 15 17:46:38 GMT 2002  Olly Betts <olly@survex.com>

	* NEWS: Updated ready for 0.6.0 with changes made so far.

Fri Nov 15 17:06:58 GMT 2002  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Avoid double debug output if we get a
	  signal inside the testsuite code itself.

Fri Nov 15 17:00:15 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree_api.txt,docs/Makefile.am,docs/index.html,
	  docs/quartzdesign.html,docs/remote_protocol.html,
	  net/README_progprotocol.txt: Converted Btree API documentation
	  to HTML and add it to the quartz design document; converted the
	  (seriously out of date) remote protocol document to HTML, moved it
	  into docs/, and linked it in.

Fri Nov 15 13:05:06 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h,
	  docs/quartzdesign.html: Changed encoding of keys for quartz record
	  and termlist tables.

Fri Nov 15 12:54:39 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_table_entries.cc: Fixed
	  QuartzTableEntries::empty() which would never return true before.

Fri Nov 15 03:08:49 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree_api.txt: Fixed typos.

Fri Nov 15 03:06:41 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartztest.cc,backends/quartz/btreetest.cc:
	  added another test (btreetest: emptykey1) and added extra
	  checks to existing tests.

Thu Nov 14 01:59:06 GMT 2002  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc,tests/api_db.cc,docs/todo.xml:
	  match_sort_bands code fettled, and added regression test for the
	  >100% problem (test_sortbands1).

Tue Nov 12 00:00:44 GMT 2002  Olly Betts <olly@survex.com>

	* backends/inmemory/inmemory_database.h,backends/quartz/,
	  include/om/omtypes.h: Pushed average length calc down into
	  QuartzRecordManager; removed unnecessary types om_totlength
	  and om_termid.

Mon Nov 11 18:10:23 GMT 2002  Olly Betts <olly@survex.com>

	* docs/index.html: Fixed broken link.

Mon Nov 11 18:07:41 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/,docs/quartzdesign.html: Store next free docid
	  and total doc length in the same tag in QuartzRecord.

Wed Nov 06 22:38:40 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
	  Eliminated QuartzDatabase::get_doccount_internal() and
	  QuartzDatabase::get_avlength_internal() - now the thread
	  locking code has gone, the indirection serves no purpose.

Wed Nov 06 17:50:12 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/: Removed QuartzBufferedTable::write() (unused and
	  unimplemented), and merged QuartzBufferedTable::write_internal()
	  into QuartzBufferedTable::write_internal().

Wed Nov 06 01:56:41 GMT 2002  Olly Betts <olly@survex.com>

	* backends/quartz/: disable quartz lexicon table unless USE_LEXICON
	  is defined.

Wed Nov 06 01:54:30 GMT 2002  Olly Betts <olly@survex.com>

	* docs/overview.html: Corrected link to API docs on website.

Mon Nov 04 02:35:22 GMT 2002  Olly Betts <olly@survex.com>

	* include/om/omerror.h,net/omerr_string.cc,netprogs/omprogsrv.cc,
	  netprogs/omtcpsrv.cc,testsuite/testsuite.cc: don't use typeid().

Mon Nov 04 01:31:47 GMT 2002  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Catch by const reference.

Mon Nov 04 01:18:53 GMT 2002  Olly Betts <olly@survex.com>

	* HACKING: Added note about use of various C++ features.  Also
	  tidied up various odds and ends.

Sun Nov 03 22:59:34 GMT 2002  Olly Betts <olly@survex.com>

	* api/omdatabaseinternal.cc: Eliminated entirely superfluous use of
	  dynamic_cast.

Sun Nov 03 22:46:34 GMT 2002  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc,common/database.h,common/net_database.h:
	  Replace Database::is_network() with Database::as_networkdatabase()
	  which returns a pointer or NULL.  This eliminates the need to use
	  dynamic_cast in MultiMatch.

Wed Oct 23 05:24:14 BST 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Resolved TODO entry by consulting Stroustrup
	  (it is safe to throw and catch an exception in a destructor,
	  even when that destructor is being called during a stack unwind
	  caused by an exception being thrown).

Wed Oct 16 20:05:39 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btreetest.cc: Suppress (most) output from
	  Btree::check unless verbose (-v) is enabled.

Mon Oct 14 15:13:18 BST 2002  Olly Betts <olly@survex.com>

	* testsuite/testsuite.cc: Fixed compilation problem with std:: on
	  GCC 3.2.

Mon Oct 14 15:07:03 BST 2002  Olly Betts <olly@survex.com>

	* api/omstem.cc: French and Finnish stemmers were switched!

Mon Oct 14 02:49:12 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_utils.h: change sort preserving packing for
	  strings.  This one does better provided the strings being packed
	  don't contain many zero bytes (which is true of the termnames which
	  we pack with this).

Mon Oct 14 02:45:20 BST 2002  Olly Betts <olly@survex.com>

	* tests/stemtest.cc: Updated to reflect new naming of stemming test
	  data.

Sun Oct 13 17:06:26 BST 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Sun Oct 13 16:40:24 BST 2002  Olly Betts <olly@survex.com>

	* api/omstem.cc,backends/quartz/,common/,extra/omparsequery.h,matcher/,
	  net/socketclient.cc: Added private copy ctors and assignment
	  operators to classes with pointer members (which shouldn't be
	  copied).

Sun Oct 13 15:12:40 BST 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Sun Oct 13 02:33:57 BST 2002  Olly Betts <olly@survex.com>

	* .cvsignore: Added install-sh.

Sun Oct 13 02:16:31 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/{quartz_lexicon.cc,quartz_lexicon.h}: key to lexicon
	  is now simply the termname - no need to encode the length there too
	  since the Btree knows how long the key is.
	* backends/quartz/{quartz_table_manager.cc,quartz_values.cc}: finished
	  the terminology change from "attribute" to "value" (including
	  renaming the btree files, which is why it wasn't done before).

Sun Oct 13 02:09:00 BST 2002  Olly Betts <olly@survex.com>

	* tests/api_db.cc: Snowball stems "this" to "this" rather than "thi",
	  so update apitest source to reflect this.

Sun Oct 13 01:03:04 BST 2002  Olly Betts <olly@survex.com>

	* configure.in: Removed references to languages/*/Makefile.

Sun Oct 13 00:50:01 BST 2002  Olly Betts <olly@survex.com>

	* docs/indexerquickstart.html,docs/quartzdesign.html: Updated.

Sat Oct 12 23:34:52 BST 2002  Olly Betts <olly@survex.com>

	* languages/{api.c,api.h,header.h,utilities.c}: 4 new files.

Sat Oct 12 23:29:50 BST 2002  Olly Betts <olly@survex.com>

	* languages/: removed all the old .cvsignore files.

Sat Oct 12 22:34:01 BST 2002  Olly Betts <olly@survex.com>

	* api/omstem.cc,docs/stemming.html,docs/todo.xml,languages/: Replaced
	  our stemmers with those from Snowball.  Note that these give better
	  results, but this also means that existing databases won't work
	  quite correctly if they contain stemmed terms.

Sat Oct 12 17:17:26 BST 2002  Olly Betts <olly@survex.com>

	* configure.in,NEWS: Version 0.5.3.

Sat Oct 12 16:49:50 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS,api/omvalueiteratorinternal.h,extra/parsequery.yy,
	  include/om/omdocument.h: Fixed std:: namespace issues to
	  allow compilation with GCC 3 once again.

Sat Oct 12 15:43:22 BST 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Fri Oct 11 02:14:47 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/Makefile.am: Include test data for btreetest
	  in distribution tarball.

Fri Oct 11 01:43:03 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/{z_note,z_sequence,z_Cversion/,z_make/,z_test/}:
	  Removed all the unused old C btree stuff.

Thu Oct 10 17:32:10 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/{btree.cc,btree.h}: More Btree tidying.

Thu Oct 10 17:14:28 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/{bcursor.cc,btree.cc,btree.h}: Btree::prev* and
	  Btree::next* are no longer static methods.
	* backends/quartz/btree.h: Tweaked comments so doxygen will
	  understand them.

Thu Oct 10 16:12:29 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_postlist.cc: return docids rather
	  than passing in a pointer to fill in.

Thu Oct 10 16:08:22 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartzcheck.cc: Fixed #include-d files;
	  Example in usage message now uses the directory where
	  omega looks for its database by default.

Thu Oct 10 15:25:10 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc,backends/quartz/btree.h: More comment
	  improvments; Removed superfluous Cursor parameter from
	  Btree::add_kt() - it always gets passed the C member of Btree
	  which we have available anyway.

Thu Oct 10 14:49:11 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/btree.cc: Removed "struct" from in front of
	  Btree and Cursor; Updated and reformatted many comments.

Thu Oct 10 03:45:56 BST 2002  Olly Betts <olly@survex.com>

	* testsuite/backendmanager.cc: Reworded comment to make it clearer.

Thu Oct 10 03:29:52 BST 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Wed Oct 09 14:05:07 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/{quartz_alltermslist.cc,quartz_alltermslist.h,
	  quartz_database.cc}: Implemented
	  QuartzAllTermsList::get_approx_size().

Wed Oct 09 10:46:42 BST 2002  Olly Betts <olly@survex.com>

	* extra/omparsequery.h,include/om/omvalueiterator.h: Don't use
	  "using std::foo;" in externally visible headers.

Wed Oct 09 10:26:05 BST 2002  Olly Betts <olly@survex.com>

	* extra/omparsequery.h: fixed unused parameter warning.

Tue Oct 08 20:32:46 BST 2002  Olly Betts <olly@survex.com>

	* tests/stemtest.cc: Added missing space to output.

Tue Oct 08 20:10:35 BST 2002  Olly Betts <olly@survex.com>

	* With GCC, add warning flags "-Wall -W" rather than "-Wall -Wunused"
	  (-Wall implies -Wunused anyway).  Fixed all the warnings this throws
	  up, except in languages/ (that code is to be replaced with Snowball
	  soon).

Tue Oct 08 19:57:03 BST 2002  Olly Betts <olly@survex.com>

	* testsuite/: Disable colour test output if stdout isn't a terminal;
	  reworked check for broken exception handling as the previous
	  version never seemed to fire; added "using" for all the things
	  we want from std::; improved how signal handlers are set and
	  unset; report exception class for exceptions derived from OmError
	  rather than a blanket "OMEXCEPT"; added private copy ctor and
	  assignment to test_driver to prevent copying.

Tue Oct 08 19:53:02 BST 2002  Olly Betts <olly@survex.com>

	* include/om/Makefile.am: remove include/om/om.h on "make distclean",
	  not "make clean".  Otherwise "./configure ; make clean ; make"
	  fails which is wrong.

Sun Oct 06 18:37:39 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated.
	* docs/: Removed Martin's paper - background information for stemmers
	  is best left to the Snowball documentation.

Sat Oct 05 20:31:55 BST 2002  Olly Betts <olly@survex.com>

	* NEWS,configure.in: 0.5.2 release.

Sat Oct 05 03:01:49 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated.

Sat Oct 05 02:09:35 BST 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Fri Oct 04 22:34:12 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS,testsuite/testutils.h: Code to spot mishandled exceptions
	  doesn't always work - noted this in PLATFORMS, and tweaked the code
	  a little.

Fri Oct 04 19:08:08 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/.cvsignore: Added quartzcheck.

Fri Oct 04 18:24:55 BST 2002  Olly Betts <olly@survex.com>

	* docs/: converted all text docs to HTML (except omsettings which will
	  has odd markup (LaTeX?) and will probably soon be obsolete anyway).
	* docs/todo.xml: updated.

Fri Oct 04 17:18:33 BST 2002  Olly Betts <olly@survex.com>

	* net/socketcommon.cc: Fixed handling of timeouts in the past.

Fri Oct 04 13:51:39 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS,testsuite/testutils.h: Use typeid() to spot when GCC 2.95
	  mishandles an exception, and don't count this as a test failure.

Fri Oct 04 03:59:29 BST 2002  Olly Betts <olly@survex.com>

	* api/omdatabaseinternal.cc,backends/multi/multi_termlist.h,
	  matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h:
	  pulled uses of dynamic_cast<> to higher up in the code.

Fri Oct 04 03:53:44 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS,backends/quartz/{btree.cc,quartz_metafile.cc}: Fixed quartz
	  problems on platforms where sizeof(long) != 4.
	* PLATFORMS: Updated in the light of investigations into test failures
	  on x86 Redhat Linux - only multierrhandler1 with the remote backend
	  is actually a problem.

Wed Oct 02 16:32:48 BST 2002  Olly Betts <olly@survex.com>

	* NEWS: Updated for 0.5.1 release.

Wed Oct 02 16:01:50 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS,configure.in: 0.5.1 release.

Tue Oct 01 13:34:24 BST 2002  Olly Betts <olly@survex.com>

	* docs/: tweaked navigation links in index.html; converted bm25
	  text document to HTML and linked it in; added todo entry to
	  locate the "illusion of control" paper.

Tue Oct 01 12:48:41 BST 2002  Olly Betts <olly@survex.com>

	* docs/: renamed intro.html to install.html, and userman.html to
	  overview.html; changed navbar on index.html.

Tue Oct 01 12:37:20 BST 2002  Olly Betts <olly@survex.com>

	* bootstrap: fixed adding of directory with xapian.m4 in to
	  ACLOCAL_FLAGS; added trap to tell user if bootstrapping failed.

Tue Oct 01 12:33:38 BST 2002  Olly Betts <olly@survex.com>

	* HACKING,Makefile.am,bootstrap,buildall,xapian.spec.in,
	  autoconf/dir_contents,docs/todo.xml: Added bootstrap script as a
	  replacement for buildall (buildall left in place for now until
	  bootstrap receives wider testing).

Tue Oct 01 12:19:32 BST 2002  Olly Betts <olly@survex.com>

	* HACKING,Makefile.am,configure.in,PLATFORMS: require automake 1.6.3
	  (and hence autoconf 2.54) to fix problem building tests/internaltest
	  with Solaris make.

Mon Sep 30 20:30:42 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: Improved wording about bogus OMEXCEPT failures);
	  Added results for OpenBSD 3.0 and Solaris 8 on x86 (both work).

Mon Sep 30 20:25:03 BST 2002  Olly Betts <olly@survex.com>

	* docs/: Pruned .cvsignore; removed cvs.html (link to CVS info
	  on website directly); removed using_stemmers.html - those
	  wishing to use the C API to the stemmers ought to look at
	  Snowball instead; include HTML versions of quickstart*.cc
	  in tarballs; improved wording in various places.

Mon Sep 23 19:33:31 BST 2002  Olly Betts <olly@survex.com>

	* net/Makefile.am: Fixed building of readquery.cc from readquery.ll.

Sun Sep 22 03:57:20 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: Updated.

Fri Sep 20 15:09:25 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: Added note about bogus OMEXCEPT test failures with
	  GCC 2.95.

Fri Sep 20 01:36:35 BST 2002  Olly Betts <olly@survex.com>

	* NEWS,PLATFORMS,configure.in: 0.5.0 release!

Fri Sep 20 01:01:52 BST 2002  Olly Betts <olly@survex.com>

	* Makefile.am: Perl module we need to process todo.xml is XML::Parser
	  not XML, so corrected error message.
	* configure.in: Commented out MSG_WARN() when Perl modules XML::Parser
	  or Text::Format aren't found.  In a release tarball, this only
	  matters if you modify docs/todo.xml, and the warning message(s) may
	  alarm those building the software.

Thu Sep 19 00:57:23 BST 2002  Olly Betts <olly@survex.com>

	* .cvsignore: Added depcomp, missing, mkinstalldirs.

Thu Sep 19 00:49:01 BST 2002  Olly Betts <olly@survex.com>

	* HACKING: Added note about safe way to generate files in make rules.

Thu Sep 19 00:45:51 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: Tested on Solaris 7 with GCC 2.95.3 (works) and Solaris 8
	  Sun Workshop C++ compiler (fails to compile).

Thu Sep 19 00:41:53 BST 2002  Olly Betts <olly@survex.com>

	* ar-wrapper-solaris,ltconfig,Makefile.am: libtool 1.4 doesn't use
	  ltconfig, and that's the only thing that uses ar-wrapper-solaris,
	  so removed both.  Fairly sure the problem they address was fixed
	  in libtool so time ago.  Xapian doesn't build with Sun's C++
	  compiler at the moment anyway, so it's moot for the release.

Thu Sep 19 00:26:37 BST 2002  Olly Betts <olly@survex.com>

	* docs/todo2html.pl: Handle release "*" specially - it indicates
	  tasks to be done for each release.

Thu Sep 19 00:05:40 BST 2002  Olly Betts <olly@survex.com>

	* configure.in,include/om/om.h.in: Tweaked how generation of om.h
	  works to avoid problems with Sun's C++ compiler.

Wed Sep 18 19:21:47 BST 2002  Olly Betts <olly@survex.com>

	* net/Makefile.am,net/readquery.ll: #include <config.h>
	  must be included before any other headers, but that seems to be
	  impossible to arrange in lex/flex so we use echo and cat in the
	  Makefile to arrange this.

Wed Sep 18 17:35:00 BST 2002  Olly Betts <olly@survex.com>

	* include/om/Makefile.am: We want to install om/om.h, but not
	  distribute it or people with a different compiler to whoever
	  ran "make dist" will get the "ABI mismatch" error.

Wed Sep 18 13:16:14 BST 2002  Richard Boulton <richard@tartarus.org>

	* docs/.cvsignore: Add docs/doxygen_full_warnings.
	* include/om/.cvsignore: Add include/om/om.h.

Wed Sep 18 11:06:12 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* include/om/Makefile.am: We really should install om/om.h, or
	  applications can't build against us.

Wed Sep 18 05:10:24 BST 2002  Richard Boulton <richard@tartarus.org>

	* docs/doxygen_{api,full}_header.html_tmpl: Remove meta robots tag -
	  why shouldn't this be indexed?  Now the omega I set up pointing
	  at copies of this should actually index something.

Wed Sep 18 04:52:20 BST 2002  Olly Betts <olly@survex.com>

	* configure.in: Merged two sed invocations into one - we don't want
	  configure to run any slower than it has to.

Wed Sep 18 04:17:58 BST 2002  Richard Boulton <richard@tartarus.org>

	* configure.in: Don't put confdefs.h into SOURCEDOC_H_SRC - this
	  file only exists during the configure run.  Fixes failure of
	  "make doxygen_docs" in docs/

Tue Sep 17 13:07:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Updated PLATFORMS file.

Mon Sep 16 19:40:02 BST 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: Updated.

Mon Sep 16 18:09:29 BST 2002  Olly Betts <olly@survex.com>

	* tests/api_db.cc: don't run consistency1 test on the remote backend
	  - it's particularly slow with that, and testing it there doesn't
	  actually improve the test coverage really.

Mon Sep 16 17:15:46 BST 2002  Olly Betts <olly@survex.com>

	* configure.in,docs/Makefile.am: Added workaround for pattern length
	  limits in Solaris sed.

Mon Sep 16 17:13:20 BST 2002  Olly Betts <olly@survex.com>

	* include/om/om.h.in: Added explanatory comments for developers.

Mon Sep 16 14:22:48 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* om/om.h needs to be in CLEANFILES or make distcheck fails

Mon Sep 16 13:37:04 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Now om/om.h is built from om/om.h.in, it may be in the build
	  directly. Consequently, we need to add that to the include path
	  for VPATH builds. Plus (also for VPATH), om/om.h needs to be
	  output after AC_OUTPUT, because otherwise the destination
	  directory may not exist.

Mon Sep 16 04:19:54 BST 2002  Olly Betts <olly@survex.com>

	* configure.in,docs/todo.xml,include/om/Makefile.am,include/om/om.h,
	  include/om/om.h.in: When building the library with GCC, generate
	  include/om/om.h with preprocessor code to check that any version
	  of GCC used to build applications has a matching C++ ABI.

	  This means that users get a nice explanatory error message rather
	  than a confusing link failure (or worse a program which builds
	  but crashes).  Another benefit is that the check happens near the
	  start of compilation of the first source file which uses Xapian
	  in the user's application, rather than during the first attempt
	  to link with Xapian.

Sun Sep 15 01:42:19 BST 2002  Olly Betts <olly@survex.com>

	* net/tcpserver.cc: Solved std mystery - "using namespace std;" was
	  inside a #ifdef which wasn't enabled!

Sun Sep 15 01:21:34 BST 2002  Richard Boulton <richard@tartarus.org>

	* tests/tcpserver.cc: Hacky fix to compile with gcc-3.2 snapshot in
	  Debian unstable - add a FIXME to work out why this is needed.
	* todo: add entry about checking ABI versions using
	  __GXX_ABI_VERSION macro.

Sat Sep 14 22:39:11 BST 2002  Olly Betts <olly@survex.com>

	* configure.in,tests/Makefile.am,tests/internaltest.cc: It turns out
	  that internaltest *does* need -fno-access-control, so put it back.
	  Not quite sure how I missed this.  Changed to skip refcnt tests
	  when -fno-access-control isn't available (rather than omitting them
	  entirely).

	* tests/api_db.cc: Fixed compile problem.

Sat Sep 14 21:44:34 BST 2002  Olly Betts <olly@survex.com>

	* internaltest: doesn't actually need -fno-access-control these
	  days, so removed it and the configure tests for it.

	* stemtest: recoded to be all in C++ and removed use of intermediate
	  files for random data tests - now runs ~15% faster; no longer need
	  HAVE_PERL so removed from configure.

	* apitest: use C++ streams rather than stdio; stubdb1 now cleans up
	  the temporary file it creates.

Sat Sep 14 12:54:52 BST 2002  Olly Betts <olly@survex.com>

	* docs/Makefile.am: fix "mv apidoc/latex/refman.ps avidoc.ps" which
	  fails after recent change.

Sat Sep 14 11:15:33 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Renamed simple* programs in quickstart docs to quickstart* to
	  avoid confusion with the simple* programs in xapian-examples.
	  (Thanks to Alex Bowley for pointing out the confusion.)

Sat Sep 14 10:00:35 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* configure.in: returned AC_CONDITIONAL for HAVE_PERL

Sat Sep 14 09:29:08 BST 2002  Richard Boulton <richard@tartarus.org>

	* buildall: change to srcdir before testing for neccessary tools
	  so that scripts which guess which autotools version to use have more
	  information available to guess with: for example, the Debian
	  autoconf version guessing script looks for "configure.ac" as a sign
	  that autoconf 2.50+ is required.

Sat Sep 14 02:50:23 BST 2002  Olly Betts <olly@survex.com>

	* docs/distributed.txt,docs/quartzdesign.html,docs/todo.xml: assorted
	  documentation updates.

Sat Sep 14 02:10:12 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS: removed note about VPATH problems.

Sat Sep 14 02:02:58 BST 2002  Olly Betts <olly@survex.com>

	* btree.cc,btree.h: rearranged Btree::del() so control flow is clearer.

Sat Sep 14 01:56:44 BST 2002  Olly Betts <olly@survex.com>

	* HACKING,docs/Makefile.am: added evil hack to allow VPATH builds to
	  work with BSD make.

Wed Sep 11 11:29:07 BST 2002  Olly Betts <olly@survex.com>

	* backends/database_builder.cc: Quartz is fairly mature - change
	  comment which suggests that the btree names will change.

Wed Sep 11 11:13:43 BST 2002  Olly Betts <olly@survex.com>

	* configure.in: Don't double quote `$MISSING foo' as autoconf adds them
	* docs/Makefile.am: Use `test a = b' rather than `test a == b'

Tue Sep 10 14:50:16 BST 2002  Olly Betts <olly@survex.com>

	* configure.in: tweaked test for perl modules - stderr is now
	  fully supressed on sh (which behaves slightly differently to bash).

Tue Sep 10 14:27:15 BST 2002  Richard Boulton <richard@tartarus.org>

	* backend_manager.cc: Fix stub database code so that it doesn't use
	  the gnu extension "getline()".

Tue Sep 10 13:51:20 BST 2002  Olly Betts <olly@survex.com>

	* quartz_table.cc: don't form tag when we just want to check if a
	  key is present before calling Btree::del().  Working out why
	  we can't call Btree::del() would still be worthwhile though.

Tue Sep 10 13:02:04 BST 2002  Olly Betts <olly@survex.com>

	* quartztest.cc: removed unused #include-s; describe valid options
	  in usage message.

Tue Sep 10 02:07:29 BST 2002  Olly Betts <olly@survex.com>

	* remote backend: implemented term_exists() and get_termfreq();
	  added test to check they work.

Mon Sep  9 12:59:15 BST 2002  Richard Boulton <richard@tartarus.org>

	* Add stub databases: if backend type is auto, and auto_dir points
	  to a file, read in settings from the file (overwriting the
	  existing ones), and then use them to open the database.
	  This allows, for example, omega to open a remote database by
	  putting in a stub database file in the omega directory.
	  Updated documentation for opening databases in userman.html.
	* apitest: Added test for stub databases.

Mon Sep 09 02:26:36 BST 2002  Olly Betts <olly@survex.com>

	* Documentation updates: move suggested books into intro_ir.html
	  and added URL for citeseer reference Richard posted to mailing
	  list recently; clarified wording in a couple of places.

Sat Sep  7 12:52:12 2002  James Aylett  <tartarus@users.sourceforge.net>

	* docs: fixed references to OmDocumentContents (now OmDocument)
	  which had clearly been broken for a while. Also fixed get_data()
	  and set_data() example usage so it reflects reality (I hope).

Wed Sep 04 22:46:17 BST 2002  Olly Betts <olly@survex.com>

	* Corrected min_item.wt to min_wt in two assertions.

Thu Aug 15 11:42:20 BST 2002  Richard Boulton <richard@tartarus.org>

	* buildall: Only add the directory derived from xapian-config
	  to ACLOCAL_FLAGS if it actually exists.

Mon Aug 12 01:13:55 BST 2002  Richard Boulton <richard@tartarus.org>

	* quartz_table.cc: Check that a key exists before calling
	  Btree::del() - there seems to be a bug in the btree code
	  causing a failure when deleting keys if they don't exist.
	  This work around appears to make things work correctly, but
	  won't be terribly efficient.

Mon Aug 12 00:09:21 BST 2002  Richard Boulton <richard@tartarus.org>

	* quartz_table_manager.cc: When unable to apply modifications,
	  call cancel on the buffered table after reopening disk table
	  at old revision - otherwise, the entry count gets messed up.
	* quartz_table.cc, quartz_database.cc: Improve debugging and
	  error reporting: I'm trying to work out why the failure Olly
	  reported is occurring.

Sat Aug 10 15:12:42 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Fixed missing include in quartzcheck.cc

Sat Aug 10 14:57:17 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Fixed typo in quartzcheck.cc

Tue Jul 23 22:12:34 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Added a note to the effect that the indexgraph stuff isn't
	  really considered useful to the HTML document introducing it.

Tue Jul 23 22:09:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Added some comments in quartztest test_create1(), in case anyone
	  else who didn't write it needs to understand it.

	* Added Olly as an active participant to the AUTHORS file :)

Tue Jul 23 21:59:50 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Reworded quickstart document so it does not refer to the example
	  code (it was never actually in sync).

Mon Jul 22 14:07:18 BST 2002  Sam Liddicott <sam@ananova.com>

	* Forgot to actually add the quartzcheck.cc file last time

Mon Jul 22 13:28:09 BST 2002  Sam Liddicott <sam@ananova.com>

	* Add buildprereq to package
	  Add quartzcheck which runs btree::check to backends

Tue Jul 16 09:44:56 BST 2002  Sam Liddicott <sam@ananova.com>

	* Fix banding problem; bands are now based on the percentage
	  not the weight, and using integer maths to avoid problems
	  with ceil() rounding up supposed integers which are really
	  slightly larger due to precision errors

Thu Jul 11 00:16:22 BST 2002  Olly Betts <olly@survex.com>

	* configure.in, docs/Makefile.am: configure fixes for Solaris - clear
	  cached result for fdatasync since it may be wrong if we decide we
	  need to link librt; split SOURCEDOC_SRC into two to avoid hitting
	  4096 char line length in Solaris sed.

Tue Jul 09 17:47:31 BST 2002  Olly Betts <olly@survex.com>

	* PLATFORMS, tests/Makefile.am: improved internaltest.cc automake rules
	  - they should now work in VPATH builds with Solaris make.

Tue Jul 09 03:30:41 BST 2002  Olly Betts <olly@survex.com>

	* configure.in, docs/Makefile.am: Fixed up apidoc and sourcedoc
	  dependencies so that they work correctly in VPATH builds.  Also
	  only use portable find arguments to generate SOURCEDOC_SRC.

Sat Jul 06 13:53:27 BST 2002  Olly Betts <olly@survex.com>

	* xapian.spec.in: Updated in preparation for release.

Sat Jul 06 13:04:45 BST 2002  Olly Betts <olly@survex.com>

	* docs/Makefile.am: Run latex twice to get forward references resolved.

Fri Jul 05 18:23:08 BST 2002  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: better (perhaps even completely correct) fix
	  for sorting into bands.

	* matcer/localmatch.cc: removed entirely bogus comment from over-eager
	  cut-and-paste.

	* tests/api_db.cc: added otherwise pointless statement to deldoc3
	  which seems to fix occasional miscompilation by GCC 2.95.

Fri Jul 05 16:37:12 BST 2002  Olly Betts <olly@survex.com>

	* docs/Makefile.am: "make dist" now fails if dot (part of graphviz)
	  isn't installed.

Fri Jul 05 08:54:33 BST 2002  Sam Liddicott <sam@ananova.com>

	* bindings/: removed some typemap hacks as swig has better typemaps now

Fri Jul 05 08:46:06 BST 2002  Sam Liddicott <sam@ananova.com>

	* matcher/multimatch.cc: Quick hack to stop 100% being in a band all on
	  its own.  The real problem is that bands need to include the integer
	  at the upper end of the range, rather than the lower end.

Thu Jul 04 16:23:52 BST 2002  Olly Betts <olly@survex.com>

	* docs/mkdoc.pl: Fixed to work in VPATH builds.

Thu Jul 04 12:42:06 BST 2002  Olly Betts <olly@survex.com>

	* configure.in, docs/Makefile.am: use "missing" to give more helpful
	  errors when we don't find tools we need.

Wed Jul 03 12:39:15 BST 2002  Olly Betts <olly@survex.com>

	* NEWS: incorporated recent changes into provisional version.

	* docs/: sorted out make rules for running doxygen; don't tell doxygen
	  to build man pages which we aren't using.

Tue Jul 02 16:36:54 BST 2002  Olly Betts <olly@survex.com>

	* docs/: run through ispell; fixed OM_MOP to OmQuery::OP; other
	  corrections.

Fri Jun 28 02:59:49 BST 2002  Olly Betts <olly@survex.com>

	* Backend "auto" now works when creating an OmWritableDatabase which
	  doesn't already exist - it'll pick a backend which supports writing
	  and is compiled in (currently this means quartz).

Thu Jun 27 20:31:13 BST 2002  Richard Boulton <richard@tartarus.org>

	* backends/quartz/btreetest.cc (sequent1): Add regression test for
	  recently fixed bug with sequential addition.
	* backends/quartz/z_data/ordnum[+-]: Data files for new test.

Thu Jun 27 13:13:37 BST 2002  Olly Betts <olly@survex.com>

	* Documentation fettling: removed docs/Notes and
	  docs/coding_policy.txt moving relevant content into HACKING,
	  common/postlist.h, docs/todo.xml, and include/om/omtypes.h; install
	  docs as PostScript rather than DVI; include text docs in tarball and
	  install them; "make dist" will now fail if a tool needed to build
	  docs is missing; removed last vestiges of Doc++ support;
	  doc/Makefile no longer uses include (include isn't portable);
	  improved doc/tests.txt.

Thu Jun 27 12:10:37 BST 2002  Olly Betts <olly@survex.com>

	* apitest: doesn't directly use anything from utils.h, so don't
	  #include it.

Thu Jun 27 12:05:53 BST 2002  Olly Betts <olly@survex.com>

	* Removed includetest - it was useful early in development, but isn't
	  really now.

Wed Jun 26 22:09:57 BST 2002  Olly Betts <olly@survex.com>

	* apitest: deldoc2 and deldoc3 now pass when the library is compiled
	  with --enable-debug.

Wed Jun 26 19:35:56 BST 2002  Olly Betts <olly@survex.com>

	* Removed code which causes quartztest to fail with an --enable-debug
	  build.

Wed Jun 26 13:55:11 BST 2002  Olly Betts <olly@survex.com>

	* todo.xml: added note to fix 100% being in its own sort band.

Wed Jun 26 13:46:02 BST 2002  Richard Boulton <richard@tartarus.org>

	* btree.cc: Fix splitting of blocks in sequential mode to ensure
	  that split happens no earlier than the midpoint.

Wed Jun 26 12:32:47 BST 2002  Richard Boulton <richard@tartarus.org>

	* btree.cc: Asserts to check that add_item in sequential mode
	  when splitting a block is not trying to add to the wrong block,
	  or to add to a new block which is not empty (or containing more
	  than one item).

Tue Jun 25 17:53:19 BST 2002  Olly Betts <olly@survex.com>

	* Assert that the value of c is sane in GETINT1, etc.

Tue Jun 25 16:30:09 BST 2002  Olly Betts <olly@survex.com>

	* btreetest.cc: use C++ IO rather than C stdio; removed commented out
	  LFSinsertdelete1 test (it was never written and a test suite which
	  creates 2G files is probably a bit too resource hungry).

Tue Jun 25 13:56:01 BST 2002  Olly Betts <olly@survex.com>

	* btree/quartz: More use of const pointers; more use of C++ strings.

Wed Jun 19 08:56:00 BST 2002  Sam Liddicott <sam@ananova.com>

	* Fixed spec file to build for prefix=/usr not just install there

Fri Jun 14 16:35:04 BST 2002  Olly Betts <olly@survex.com>

	* docs/todo.xml: added 4 new tasks.

Fri Jun 14 16:33:08 BST 2002  Olly Betts <olly@survex.com>

	* backends/quartz/quartz_database.cc: Cosmetic changes.

Wed Jun 12 16:31:11 BST 2002  Olly Betts <olly@survex.com>

	* QuartzDbKey, QuartzDbTag: just use a string instead of a string
	  wrapped in a structure.  We've stopped inflicting this on external
	  developers (OmData, OmKey/OmValue) so why inflict it on ourselves?

Wed Jun 12 12:26:04 BST 2002  Olly Betts <olly@survex.com>

	* Btree_item: use C++ strings rather than trying to reimplement them.

	* Fix a few warnings about unused parameters.

Wed Jun 12 02:53:16 BST 2002  Olly Betts <olly@survex.com>

	* Btree_full_compaction, Btree_close: removed - they just wrap methods
	  of Btree.

Wed Jun 12 02:28:30 BST 2002  Olly Betts <olly@survex.com>

	* Btree_item_create and Btree_item_lose subsumed into Btree_item
	  and ~Btree_item.

	* Pass C++ strings rather than const char * into various Btree open
	  methods.

	* Removed pointless wrapper functions for Btree open methods.

	* Btree_quit removed (just use delete directly).

	* Btree_create removed (just use Btree::create directly).

Wed Jun 12 00:48:52 BST 2002  Olly Betts <olly@survex.com>

	* form_key is now a method of Btree; more passing of strings rather
	  than pointer/length pairs); buffer overrun check added to btreetest.

Tue Jun 11 18:04:08 BST 2002  Olly Betts <olly@survex.com>

	* More C++ like interfaces (e.g. bool returns, strings rather than
	  pointer/length pairs).

Tue Jun 11 16:40:08 BST 2002  Richard Boulton <richard@tartarus.org>

	* quartz/btree.cc: Fix so that it compiles when BTREE_FULL_DEBUG is on,
	  and added a couple of Assert()s.

Tue Jun 11 13:09:39 BST 2002  Olly Betts <olly@survex.com>

	* Removed a number of btree functions which were simply wrappers for
	  calling methods on their first parameter, and most of which weren't
	  even used!

	* btree_api.txt: updated to better reflect the object-ized API.

Tue Jun 11 02:01:53 BST 2002  Olly Betts <olly@survex.com>

	* Btree::make_index_item(): Added check for buffer overflow.

Tue Jun 11 01:49:51 BST 2002  Olly Betts <olly@survex.com>

	* Still more...

Tue Jun 11 01:08:03 BST 2002  Olly Betts <olly@survex.com>

	* More btree and quartz tidying.

Mon Jun 10 20:33:24 BST 2002  Olly Betts <olly@survex.com>

	* btree.cc,btree.h: cleaned up further.

Mon Jun 10 15:54:49 BST 2002  Olly Betts <olly@survex.com>

	* Further btree and quartz cleanups.

Mon Jun 10 14:46:00 BST 2002  Olly Betts <olly@survex.com>

	* Fixed typo in recent quartzdump change.

Mon Jun 10 13:20:20 BST 2002  Olly Betts <olly@survex.com>

	* Quartz clean-ups - especially QuartzTermList.

Mon Jun 10 12:18:40 BST 2002  Olly Betts <olly@survex.com>

	* Bcursor_create made a method of class Btree as suggested by a FIXME.

Mon Jun 10 01:57:53 BST 2002  Olly Betts <olly@survex.com>

	* More btree fixes and tidying.  Fixed bug introduced by typo in
	  previous change which causes tests to fail.

Sun Jun 09 17:50:28 BST 2002  Olly Betts <olly@survex.com>

	* btree_util.h: use inlines rather than macros.

	* Fix CompileTimeAssert() to avoid potential clashes.

Sun Jun 09 12:46:25 BST 2002  Olly Betts <olly@survex.com>

	* btree.cc,btree.h: fixed bug caused by local variable masking member
	  variable with same name.  Tidied up a lot.

Wed Jun  5 12:22:57 BST 2002  Sam Liddicott <sam@ananova.com>

	* Fix OmQuery::op enum handling.

Mon May 27 14:28:06 BST 2002  Sam Liddicott <sam@ananova.com>

	* Add crash-protected next() to OmMSetIterator

	* Add ->valid() method to iterator which returns FALSE if
	  the iterator has reached the end

	* Added namespace fixes for latest cvs swig to be released next month

Fri May 24 15:28:18 BST 2002  Sam Liddicott <sam@ananova.com>

	* Took out the string typemaps as swig now has them in stl.i

	* Added om_percent to omtypes.i - I wonder if we might just
	  read omtypes.h instead, as swig can

	* Added OmMSetIterator and made changes to OmMSet

Fri May 24 11:46:50 BST 2002  Sam Liddicott <sam@ananova.com>

	* Now support get_matching_terms via swig
	  I'm not sure how to generally map iterators to php but in
	  cases where we know only a small number of items exist
	  to be iterated over it makes sense to return them as a
	  php array

Tue May 21 15:28:40 BST 2002  Richard Boulton <richard@tartarus.org>

	* multi_postlist.cc (get_doclength):  Get the document length from
	  the appropriate sub-postlist, rather than from the database.
	  This causes a huge speedup in some cases, since it avoids having
	  to go to the termlist database for every document considered for
	  an mset to get the document length.
	  Added an AssertParanoid to check that the value from the postlist
	  is the same as that from the database.
	  This problem was noticed because "delve -v" was running several
	  orders of magnitude slower than without -v - it is now of
	  comparable speed.

Tue May 21 15:27:37 BST 2002  Richard Boulton <richard@tartarus.org>

	* quartz_values.cc: Small fixes to enable it to compile with debug
	  turned on.

Fri May 17 14:52:45 BST 2002  Olly Betts <olly@survex.com>

	* OmQueryParser::set_database() method added.

	* Added disabled code to search for a keyword used in the query.

	* Added ' and * to the list of "phrase making characters".

	* To make a phrase, a phrase-maker must be followed by an alphanumeric
	  rather than just a non-space.

Fri May 17 14:49:54 BST 2002  Olly Betts <olly@survex.com>

	* INSTALL: GCC 3.1 release version works, so noted this.

	* HACKING: Added note about warning-free compilation being desirable
	  and suggesting using "./configure CFLAGS=-Werror" to promote this.

	* NEWS: Minor updates.

Thu May 16 16:57:42 BST 2002  Olly Betts <olly@survex.com>

	* Minor tweaks to get a warning-less compile with GCC 3.1.

Thu May 16 13:36:19 BST 2002  Sam Liddicott <sam@ananova.com>

	* Clean up the spec file

Thu May 16 12:20:09 BST 2002  Olly Betts <olly@survex.com>

	* Documented match_sort_key.

Thu May 16 10:42:47 BST 2002  Sam Liddicott <sam@ananova.com>

	* A few quick tips from Olly, now the tarfile name and version no.
	  stuff comes from autoconf so the spec file won't need tweaking
	  each time the version number changes

Wed May 15 15:48:42 BST 2002  Sam Liddicott <sam@ananova.com>

	* This can build RPM packages.
	  Get the make-dist tarball and do:
	  rpm -ta xapian-core-0.4.1-cvs.tar.gz
	  and it will make source and binary rpms
	  It doesn't build bindings packages yet but this will come when I
	  build them

Wed May 15 13:27:21 BST 2002  Richard Boulton <richard@tartarus.org>

	* buildall: Allow use of automake 1.6.1 and later, and CVS
	  automake (versions 1.6[a-z])

Wed May 15 11:40:58 BST 2002  Sam Liddicott <sam@ananova.com>

	* SWIG cvs (php4) now writes all output files to the same directory as
	  the main output file, so need for hacks to move these, also no more
	  clobbering our source files when building in the checkout dir

Tue May 14 21:54:02 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Updated PLATFORMS file.

Tue May 14 16:48:07 BST 2002  Olly Betts <olly@survex.com>

	* Removed multiple-include protection from config.h - if it's
	  included more than once it's now a bug and we want to know!

Tue May 14 15:25:05 BST 2002  Olly Betts <olly@survex.com>

	* OmQueryParser: parse acronyms as a single term (so "E.T." -> "ET"
	  and "N.A.T.O" -> "NATO").

Tue May 14 15:23:20 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Fixed config.h includes: source definition (ie not header) files
	  #include <config.h> as their first action.

Tue May 14 14:47:00 BST 2002  Olly Betts <olly@survex.com>

	* Updated todo.

	* extra/parsequery.yy: Fettled indentation.

Tue May 14 13:14:51 BST 2002  Olly Betts <olly@survex.com>

	* Added test case for new "embedded &" rule, and fix problem bug it
	  revealed.

Tue May 14 13:10:33 BST 2002  Olly Betts <olly@survex.com>

	* OmQueryParser: Parse <word>&<word> as a single term (e.g. AT&T,
	  M&S, A&P).

Tue May 14 11:50:03 BST 2002  Olly Betts <olly@survex.com>

	* When including config.h, always specify it as <config.h>, not
	  "config.h", and always do it first.  Both are recommended by
	  the autoconf documentation.

Mon May 13 17:17:13 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* missing fallback rule all-local in docs/Makefile.am was failing
	  the build on Solaris

Mon May 13 15:50:31 BST 2002  Sam Liddicott <sam@ananova.com>

	* Use new %extends notation for swig.

	* Update for new omValue usage

	* Add omqueryparser support

Mon May 13 15:12:30 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* shipped getopt will now build in absence of system getopt

Mon May 13 15:09:17 BST 2002  Olly Betts <olly@survex.com>

	* configure.in: Moved AH_TOP/AH_BOTTOM to more logical place.

	* docs/todo.xml: Updated.

Mon May 13 14:13:27 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* added getopt to DIST_SUBDIRS so distributions work

Fri May 10 14:54:06 BST 2002  Olly Betts <olly@survex.com>

	* getopt/: Checked in files I missed last time.

Fri May 10 14:35:52 BST 2002  Olly Betts <olly@survex.com>

	* Make sure GNU getopt is linked to everything which might need it so
	  we build in non-glibc environments.

Fri May 10 13:42:59 BST 2002  Olly Betts <olly@survex.com>

	* Replaced second match_sort_key optimisation with one which is
	  faster and not flawed.

Thu May 09 18:27:30 BST 2002  Olly Betts <olly@survex.com>

	* match_sort_key now runs at a sensible speed (approx. 20x speed
	  up on my test case).

Thu May 09 16:58:11 BST 2002  Olly Betts <olly@survex.com>

	* Added another optimisation for match_sort_key - my test case
	  is now 25% faster (still slow though).

Thu May 09 11:57:59 BST 2002  Olly Betts <olly@survex.com>

	* NEWS, PLATFORMS, README: Updated to something approximating what we
	  want for a release.

	* docs/todo.xml: Updated.

Thu May 09 10:57:59 BST 2002  Olly Betts <olly@survex.com>

	* Removed references to match_max_or_terms (which was replaced
	  by OmQuery::OP_ELITE_SET long, long ago).

Wed May 08 17:38:50 BST 2002  Olly Betts <olly@survex.com>

	* Improved api documentation comments.

Wed May 08 17:09:14 BST 2002  Olly Betts <olly@survex.com>

	* Include findheaders.pl in tarball.

Wed May 08 16:09:14 BST 2002  Olly Betts <olly@survex.com>

	* Killed off acconfig.h.

Wed May 08 15:53:11 BST 2002  Olly Betts <olly@survex.com>

	* Added autom4te-*.cache to .cvsignore.

Wed May 08 15:50:56 BST 2002  Olly Betts <olly@survex.com>

	* Rebuild docs on "make", not just "make dist" or "make install".

Wed May 08 15:07:01 BST 2002  Olly Betts <olly@survex.com>

	* Added workaround for problems with <fcntl.h> on Solaris when LFS
	  is enabled.

Wed May 08 13:44:10 BST 2002  Olly Betts <olly@survex.com>

	* Matcher can now sort on a key.  Can be rather slow at present...

Wed May 08 13:15:21 BST 2002  Olly Betts <olly@survex.com>

	* Updated todo.

Wed May 08 12:22:53 BST 2002  Olly Betts <olly@survex.com>

	* Removed ltmain.sh-s from CVS.

Wed May 08 12:21:32 BST 2002  Olly Betts <olly@survex.com>

	* buildall: run libtoolize; stripped out unnecessary stuff.

Wed May 08 09:44:45 BST 2002  Olly Betts <olly@survex.com>

	* matcher/msetpostlist.cc: Removed bogus comment cut and pasted from
	  matcher/mergepostlist.cc.

Tue May 07 17:51:57 BST 2002  Olly Betts <olly@survex.com>

	* It's "m4_include", not "m4include".

Tue May 07 17:52:36 BST 2002  Olly Betts <olly@survex.com>

	* Added autoconf/type_socklen_t macro.

Tue May 07 16:50:20 BST 2002  Olly Betts <olly@survex.com>

	* Now require autoconf 2.50, which allows us to clean up some of the
	  more unpleasant parts of the build system.

Tue May 07 14:55:37 BST 2002  Olly Betts <olly@survex.com>

	* Added "match_sort_bands" option to sort results within relevance
	  bands.  Currently the sort within each band is by document id, which
	  isn't really very useful.  The plan is to allow sorting by a key.

Tue May 07 14:54:12 BST 2002  Olly Betts <olly@survex.com>

	* Sorted out tests/findheaders.pl wrt last change.

Tue May 07 13:12:23 BST 2002  Olly Betts <olly@survex.com>

	* Run perl scripts from Makefiles explicitly with $(PERL) rather than
	  having them as generated files in AC_OUTPUT.

Mon May  6 16:04:37 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Distribution fixes: make clean should now clear up all
	  required files.

Mon May  6 14:42:46 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Don't include dlfcn.h since we don't use it (and doesn't exist
	  on some target platforms).

Mon May  6 14:07:24 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Minor documentation corrections.

Fri May 03 18:14:14 BST 2002  Olly Betts <olly@survex.com>

	* Changed autoconf/automake project name to xapian-core, and updated
	  the documentation to reflect this.

	* Disabled the bindings from being included in distribution tarballs.

Fri May 03 18:13:43 BST 2002  Olly Betts <olly@survex.com>

	* Updated todo list.

Fri May  3 18:02:06 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Overloading ambiguity resolutions for linux/alpha build on CF

Fri May 03 17:13:36 BST 2002  Olly Betts <olly@survex.com>

	* buildall: Don't run configure or make; removed --no-make and --quiet.

Fri May  3 16:52:01 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* tests/testdata/etext.txt needs to be included in the distribution

Fri May 03 16:18:38 BST 2002  Olly Betts <olly@survex.com>

	* Removed OmValue in favour of simply using a string (analogous to
	  recent OmData change).

Fri May 03 14:52:04 BST 2002  Olly Betts <olly@survex.com>

	* Removed unused om_docname typedef.

Fri May 03 14:42:31 BST 2002  Olly Betts <olly@survex.com>

	* Terminology change - a "key" (in the OmKey sense) is now a "value".

Fri May  3 14:31:57 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Fixed up todo list and HTML generation script to cope with
	  items without an assigned priority.

Fri May 03 14:29:58 BST 2002  Olly Betts <olly@survex.com>

	* It's HACKING (not INSTALL) that has details of developer tools.

Thu May 02 15:57:48 BST 2002  Olly Betts <olly@survex.com>

	* Removed OmData - just return and take a string instead.

Thu May 02 14:40:21 BST 2002  Olly Betts <olly@survex.com>

	* docs/.cvsignore: updated.

Thu May 02 14:38:36 BST 2002  Olly Betts <olly@survex.com>

	* Removed assorted references to pthread locking; updated HACKING.

Thu May 02 14:15:47 BST 2002  Olly Betts <olly@survex.com>

	* Stripped out OmBatchEnquire stuff, as it's unlikely to get sorted
	  out any time soon, and it can be extracted from CVS when someone
	  wants it.

Thu May 02 13:50:04 BST 2002  Olly Betts <olly@survex.com>

	* Check for bison >= 1.35 in buildall.

Wed May 01 17:39:57 BST 2002  Olly Betts <olly@survex.com>

	* Removed lingering references to Omsee and OpenMuscat.

Wed May 01 16:34:13 BST 2002  Olly Betts <olly@survex.com>

	* Removed unused methods from NetClient (read_data and write_data).

Wed May 01 14:01:12 BST 2002  Olly Betts <olly@survex.com>

	* Added test consistency1 to check matcher optimisations don't
	  result in inconsistent results (i.e. that same matches and
	  weights are returned regardless of size of mset asked for).

Wed May 01 11:48:10 BST 2002  Olly Betts <olly@survex.com>

	* Fixed mismatched tags in todo.xml.

Wed May 01 11:46:42 BST 2002  Olly Betts <olly@survex.com>

	* Updated todo.

Wed May 01 11:40:47 BST 2002  Olly Betts <olly@survex.com>

	* Corrected configure warning message - it's XML::Parser not XML.

Wed May 01 11:34:49 BST 2002  Olly Betts <olly@survex.com>

	* Tweaks to get queryparser building cleanly.

Tue Apr 30 17:44:48 BST 2002  Olly Betts <olly@survex.com>

	* Updated query parser in extra from the updated one in omega,
	  and fettled it to cope better with multiple instantiations
	  (though it's a long way from being reentrant at the moment).

Tue Apr 30 11:03:44 BST 2002  Olly Betts <olly@survex.com>

	* Updated todo.

Mon Apr 29 19:28:04 BST 2002  Olly Betts <olly@survex.com>

	* More string.c_str() tidying.

Mon Apr 29 17:41:33 BST 2002  Olly Betts <olly@survex.com>

	* Tidied up some uses of string.c_str().

	* Cleaned up todo list.

Mon Apr 29 16:08:21 BST 2002  Olly Betts <olly@survex.com>

	* Updated buildall to check various tools have the required version
	  numbers.

Mon Apr 29 15:58:57 BST 2002  Olly Betts <olly@survex.com>

	* Tweaked use of HAVE_STREAMBUF

Fri Apr 26 14:41:09 BST 2002  Sam Liddicott <sam@ananova.com>

	* Swig is now modified so it can build config.m4 and Makefile.in
	  for php modules so I removed these from bindings/php4

Tue Apr 23 18:21:03 BST 2002  Olly Betts <olly@survex.com>

	* Tried compiling with GCC 3.1 prerelease snapshot and fixed various
	  STL-related warnings (mostly uses of istrstream).

	* Fixed usage of AM_CFLAGS and AM_CXXFLAGS.

Tue Apr 23 15:48:36 BST 2002  Olly Betts <olly@survex.com>

	* Updated buildall (and had to tweak it again, sigh).

Tue Apr 23 14:21:01 BST 2002  Sam Liddicott <sam@ananova.com>

	* Added typemap conversion to generate OmSettings from php hash
	* Changed order of classes in interface file

Tue Apr 23 14:20:05 BST 2002  Olly Betts <olly@survex.com>

	* Revamped xapian-config and xapian.m4.  Important change - it's now
	  "xapian-config --cxxflags" and XAPIAN_CXXFLAGS, not --cflags and
	  _CFLAGS.

Mon Apr 22 17:58:56 BST 2002  Olly Betts <olly@survex.com>

	* Removed leak checker.

Mon Apr 22 13:40:01 BST 2002  Olly Betts <olly@survex.com>

	* Tiny code tweak.

Mon Apr 22 13:11:32 BST 2002  Olly Betts <olly@survex.com>

	* Write debug log using unbuffered IO and O_APPEND which should prevent
	  the log file becoming garbled when used from applications which use
	  Xapian objects in multiple threads.

Mon Apr 22 12:19:18 BST 2002  Olly Betts <olly@survex.com>

	* Updated copyright notices for last change.

Mon Apr 22 11:20:28 BST 2002  Olly Betts <olly@survex.com>

	* Removed thread locks.

Fri Apr 19 17:38:23 BST 2002  Olly Betts <olly@survex.com>

	* Removed completed tasks from todo list.

Fri Apr 19 17:26:23 BST 2002  Olly Betts <olly@survex.com>

	* Removed placeholder code for OmQuery::OP_PERCENT_CUTOFF - it's
	  actually impossible to implement since we started rescaling
	  percentages so that 100% is attainable.

Fri Apr 19 16:42:42 BST 2002  Olly Betts <olly@survex.com>

	* Tracked down and fixed the bug in the quartz backend which was making
	  test poslist2 fail.

Fri Apr 19 16:06:39 BST 2002  Olly Betts <olly@survex.com>

	* Fixed some compilation problems which I somehow failed to notice
	  before the last check-in.

Fri Apr 19 15:04:13 BST 2002  Olly Betts <olly@survex.com>

	* Added more RETURN(...) wrappers.

Fri Apr 19 14:46:19 BST 2002  Olly Betts <olly@survex.com>

	* Added more DEBUGCALL tracing to quartz.

Fri Apr 19 13:29:57 BST 2002  Olly Betts <olly@survex.com>

	* Minor tweaks to quartz_database.cc.

Fri Apr 19 13:07:50 BST 2002  Olly Betts <olly@survex.com>

	* Moved test poslist1 into correct place and renamed it to poslist2
	  since there's already a poslist1...

Fri Apr 19 11:19:15 BST 2002  Olly Betts <olly@survex.com>

	* poslist1 (when actually run!) reveals that Quartz fails to throw
	  errors in this case.  Disabled test for now, as I can't see why it
	  fails to throw...

Thu Apr 18 17:44:56 BST 2002  Olly Betts <olly@survex.com>

	* Added poslist1 test as suggested by a TODO entry.

Thu Apr 18 14:17:24 BST 2002  Olly Betts <olly@survex.com>

	* buildall: Removed search for GNU make (as of automake
	  1.5 it's not needed for automake and we aim to have portable
	  makefiles).  Made buildall more portable.

Thu Apr 18 14:16:18 BST 2002  Olly Betts <olly@survex.com>

	* xapian-config.nodep is a generated file, so don't look for it in
	  srcdir.

Thu Apr 18 12:45:04 BST 2002  Olly Betts <olly@survex.com>

	* Added bindings/php4/xapian/.cvsignore.

Thu Apr 18 12:36:53 BST 2002  Olly Betts <olly@survex.com>

	* Minor tweaks to "Makefile" section in HACKING.

Thu Apr 18 12:26:21 BST 2002  Olly Betts <olly@survex.com>

	* Yet more Makefile portability fixes; added section to HACKING
	  summarising my recent experiences.

Thu Apr 18 11:26:37 BST 2002  Olly Betts <olly@survex.com>

	* Corrected the sense of the test in the previous check-in.

Thu Apr 18 11:08:04 BST 2002  Olly Betts <olly@survex.com>

	* Use case instead of echo/sed to replace dirname.

Thu Apr 18 10:19:01 BST 2002  Olly Betts <olly@survex.com>

	* Another Makefile portability tweak.

Wed Apr 17 16:07:02 BST 2002  Olly Betts <olly@survex.com>

	* bindings/php4/Makefile.am: Fixed a couple of problems with
	  recent changes.

Wed Apr 17 15:32:44 BST 2002  Olly Betts <olly@survex.com>

	* Makefile portability improvements.

Wed Apr 17 14:29:21 BST 2002  Olly Betts <olly@survex.com>

	* Replaced uses of GNU make specific features with more portable
	  ones.

Wed Apr 17 12:43:07 BST 2002  Olly Betts <olly@survex.com>

	* Update todo list.

Wed Apr 17 12:41:03 BST 2002  Olly Betts <olly@survex.com>

	* Removed BrightStation's logo from the documentation.

Wed Apr 17 12:27:07 BST 2002  Olly Betts <olly@survex.com>

	* xapian-config: Removed --uninst support - it's very hard to make it
	  work reliably and we're better off directing our efforts towards
	  improving the library than trying to get it working and keep it
	  working.

Wed Apr 17 10:39:02 BST 2002  Olly Betts <olly@survex.com>

	* Fixed btreetest code to use new names "ord+" and "ord-" for
	  datafiles; disabled LFSinsertdelete1 test as it's exactly the
	  same as insertdelete1 (despite the comment above which suggests
	  it tests files >2G).

Mon Apr 15 17:14:22 BST 2002  Olly Betts <olly@survex.com>

	* Fix a few OmDatabase::InternalInterface uses I'd somehow missed.

Mon Apr 15 16:08:20 BST 2002  Olly Betts <olly@survex.com>

	* Mark internal classes as @internal for doxygen; removed all uses
	  of OmDatabase::InternalInterface as it's no longer needed.

Mon Apr 15 15:42:47 BST 2002  Olly Betts <olly@survex.com>

	* Updated TODO list.

Mon Apr 15 2002  Sam Liddicott <sam@ananova.com>

	* Hacked around bindings and bindings/php to remove some SWIG
	  workarounds.  SWIG cvs + some new non-comitted patches is need still.

Mon Apr 15 12:12:05 BST 2002  Olly Betts <olly@survex.com>

	* stemtest: getopt fix.

	* stemtest.pl.in: output now: less verbose by default and coloured.

Mon Apr 15 11:18:58 BST 2002  Olly Betts <olly@survex.com>

	* Updated HACKING to say that automake 1.5 is required, and note that
	  automake 1.6.1 is better than 1.6.

Sat Apr 13 20:35:51 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Fixed stemtest getopt usage so it works again.

Sat Apr 13 20:20:52 BST 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Fixed omtcpsrv getopt usage so it works again.

Fri Apr 12 16:24:06 BST 2002  Olly Betts <olly@survex.com>

	* Require automake 1.5.

Fri Apr 12 12:11:57 BST 2002  Olly Betts <olly@survex.com>

	* omtcpsrv: Namespace fixes.

Fri Apr 12 12:25:42 BST 2002  Olly Betts <olly@survex.com>

	* Fixed everything to use getopt rather than icky handparsing of
	  options.

Fri Apr 12 11:26:57 BST 2002  Olly Betts <olly@survex.com>

	* Removed delve - it's going to be an example program.

Thu Apr 11 18:09:35 BST 2002  Olly Betts <olly@survex.com>

	* Command line argument improvements - added FIXMEs where getopt
	  should be used.

Thu Apr 11 17:01:44 BST 2002  Richard Boulton <richard@tartarus.org>

	* Fixes to work with automake 1.6.1.
	  I recommend using 1.6.1 rather than 1.6, since this fixes many
	  bugs in 1.6.  I havn't tested with 1.6 recently, but it is likely
	  to report problems.

Thu Apr 11 17:25:37 BST 2002  Olly Betts <olly@survex.com>

	* Use GNU getopt.

Thu Apr 11 15:06:15 BST 2002  Olly Betts <olly@survex.com>

	* Updated to recommend automake 1.5, noting problem with automake 1.4
	  and that we'll probably soon insist on 1.5, and later autoconf 2.50.
	  Also added notes on recommended and usable GCC versions.

Thu Apr 11 14:23:44 BST 2002  Olly Betts <olly@survex.com>

	* Cleaning up build system.

Thu Apr 11 13:18:23 BST 2002  Olly Betts <olly@survex.com>

	* Use AndPostList with boolean weights on the RHS instead of
	  FilterPostList - this appears to fix a bug, but I suspect it's
	  actually just moving it around.  Will investigate later.

Thu Apr 11 10:11:11 BST 2002  Olly Betts <olly@survex.com>

	* Sorted out automake for php4 bindings.

Wed Apr 10 14:44:50 BST 2002  Olly Betts <olly@survex.com>

	* Removed a superfluous DEBUGLINE.

Tue Apr  9 19:02:09 BST 2002  Richard Boulton <richard@tartarus.org>

	* Fix some DEBUGLINE() macros in the matcher which had
	  the first parameter missing.

Tue Apr 09 17:50:44 BST 2002  Olly Betts <olly@survex.com>

	* Removed stray bit of debug code.

Tue Apr 09 17:05:09 BST 2002  Olly Betts <olly@survex.com>

	* More debug tracing added.

Tue Apr 09 10:48:42 BST 2002  Olly Betts <olly@survex.com>

	* Disabled pthread support by default.

Sat Apr  6 20:45:21 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Reordered some output generation in configure so it won't
	  complain about directories not existing. (I don't understand
	  what the problem is, but this does fix it.)

Sat Apr 06 20:27:57 BST 2002  Olly Betts <olly@survex.com>

	* Moved a few lingering traces of XML indexer stuff to indexer
	  subdirectory.

Sat Apr 06 17:37:02 BST 2002  Olly Betts <olly@survex.com>

	* Removed -pedantic (read the gcc docs - it's doesn't turn on
	  useful warnings) and fixed all the remaining compilation
	  warnings in a non-debug build.

Fri Apr 05 10:21:28 BST 2002  Olly Betts <olly@survex.com>

	* Removed --enable-profiling, --enable-purify, and --enable-insure.
	  They don't do anything which can't be achieved by passing
	  environment variables and switches to configure (now documented
	  in HACKING).  Adding a separate switch for every profiling and
	  code-quality tool out there isn't a sensible approach.

Thu Apr 04 20:37:12 BST 2002  Olly Betts <olly@survex.com>

	* Updated .cvsignore files.

Thu Apr 04 20:25:41 BST 2002  Olly Betts <olly@survex.com>

	* PTHREAD_CFLAGS was only being used for compiling C, not C++, which
	  was causing builds to fail unless threading was disabled.  This
	  problem has been there a long time, but until recently was hidden
	  by the check for fdatasync erroneously linking in -lrt which pulls
	  in pthreads anyway (at least this is the situation on Linux).

Thu Apr 04 20:06:00 BST 2002  Olly Betts <olly@survex.com>

	* Removed XML indexer stuff from the main xapian library.  All the
	  removed bits are now in the indexer subdirectory, ready to be
	  reassembled into a supplementary library.

Thu Apr 04 15:43:43 BST 2002  Olly Betts <olly@survex.com>

	* More debug tracing in the matcher.

Thu Apr 04 14:17:10 BST 2002  Olly Betts <olly@survex.com>

	* Added debug tracing to most of the matcher.

Thu Mar 28 17:21:16 GMT 2002  Olly Betts <olly@survex.com>

	* Give up trying to make internals private or protected in the
	  header files in include - the consequences are just too ugly, and
	  it's clear enough that they shouldn't be messed with except by the
	  library itself.

Wed Mar 27 10:24:26 GMT 2002  Olly Betts <olly@survex.com>

	* Don't add "-lrt" to the link line unless it's actually needed for
	  fdatasync().

Wed Mar 27 10:11:09 GMT 2002  Olly Betts <olly@survex.com>

	* Fixed two problems in the matcher which were respectively causing
	  problems with boolean filters, and with situations where OR or
	  ANDMAYBE decayed to AND.

Fri Jan 11 18:00:44 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>

	* Various build fixes for libxml2: define CHAR as needed,
	  --enable-validation (off by default), check for and discard
	  'blank' text/cdata nodes as we encounter them

Fri Jan 11 15:40:50 GMT 2002  Sam Liddicott <sam@ananova.com>

	* Added Large File Support in the same way it was added to GNU tar.
	  (If it's good enough for them...)
	  This is by means of autoconf/ac_sys_largefile which I'm told is
	  built in to later versions of autoconf, and may possibly give us
	  trouble redefining it for those versions...  But we'll see about
	  that when/if it happens.

	  It seems to work fine here on some DB's which I had to stop growing
	  cos they got too big; I'm now past the 2G boundry with no problems

	  I guess we should still add overflow detection for 2^31 blocks.
	  Ideas?

	  I need some help on the btreetest.cc as I haven't yet worked out
	  what it does; so while I've added a test, it doesn't yet test
	  what it says it does.  I have changed btreetest.cc so you can
	  tell it where to dump the test DB

Fri Dec 21 17:48:09 GMT 2001  Olly Betts <olly@survex.com>

	* Fixed halflife calculation in OmBiasFunctor.

Fri Dec 21 15:24:58 GMT 2001  Olly Betts <olly@survex.com>

	* Added a temporary API to allow use of OmBiasFunctor.

Fri Dec 21 12:58:23 GMT 2001  Olly Betts <olly@survex.com>

	* Disable conversion of OR to AND/ANDMAYBE in matcher tree - there's
	  a bug which sometimes manifests when there's a date filter and a
	  threshold cutoff in omega, and results in just one match when there
	  should be more.  I don't believe the bug is actually in OrPostList
	  but I've been tracking it for 4 days without success and turning off
	  this optimisation seems to stop it occurring so will have to do for
	  now.

Thu Dec 20 17:41:04 GMT 2001  Olly Betts <olly@survex.com>

	* matcher/multimatch.cc: added more percent_cutoff assertions.

Thu Dec 20 13:41:41 GMT 2001  Olly Betts <olly@survex.com>

	* Fixed incorrectly classified debug message; fixed compiler warning;
	  more comments about matches_* with a percent_cutoff.

Thu Dec 20 13:09:51 GMT 2001  Olly Betts <olly@survex.com>

	* Better OmPostListIterator::get_description() (call get_description
	  on internal->postlist).

Thu Dec 20 12:42:55 GMT 2001  Olly Betts <olly@survex.com>

	* Fixed assorted problems with omtcpsrv and co from recent change.

Thu Dec 20 10:41:57 GMT 2001  Richard Boulton <richard@tartarus.org>

	* In ./configure --help, correctly report muscat36 backend as
	  defaulting to off.

Thu Dec 20 10:36:18 GMT 2001  Olly Betts <olly@survex.com>

	* Don't delete internal in ~OmWritableDatabase - ~OmDatabase
	  does that for us (internal was zeroed after delete, so this
	  was probably harmless)

	* Tweaked OmEnquire::get_description() and
	  OmPostListIterator::get_description() to do less - there's a
	  debug related bug somewhere and get_description() should be a
	  non-intrusive method...

Thu Dec 20 10:32:56 GMT 2001  Richard Boulton <richard@tartarus.org>

	* Fix a couple of misquoted messages in configure.in.

Tue Dec 18 23:22:00 2001  James Aylett  <tartarus@users.sourceforge.net>

	* Use xapian.org where appropriate in documentation references

Tue Dec 18 14:32:32 2001  James Aylett  <tartarus@users.sourceforge.net>

	* Use xapian.org not sourceforge for schemas

Mon Dec 17 18:47:08 GMT 2001  Olly Betts <olly@survex.com>

	* Cured problems with string('x') caused by overzealous search
	  and replace on my part.

Mon Dec 17 16:44:31 GMT 2001  Olly Betts <olly@survex.com>

	* Improved matches_estimated when a percent_cutoff is in effect.

Sun Dec 16 18:09:28 GMT 2001  Olly Betts <olly@survex.com>

	* You can now register a match decider functor by name with an
	  OmEnquire object.  It's not yet used for anything though.

Sun Dec 16 17:31:08 GMT 2001  Olly Betts <olly@survex.com>

	* omtcpsrv: simplified arguments - just list database directories and
	  they'll be opened with the auto backend.  Removed --im as it didn't
	  work as advertised and nobody's noticed (as actually implemented it
	  was useless).

Sat Dec 15 14:10:32 GMT 2001  Olly Betts <olly@survex.com>

	* Minor update to todo.xml.

Sat Dec 15 13:43:47 GMT 2001  Olly Betts <olly@survex.com>

	* More fettling of OmBiasFunctor stuff - still not ready for use yet...

Tue Dec 11 13:06:08 GMT 2001  Olly Betts <olly@survex.com>

	* Don't work out probabilistic weights for boolean bits of the query
	  (rhs of FILTER and AND_NOT) which fixes incorrect percentage weights
	  in filtered queries.

Tue Dec 11 12:26:44 GMT 2001  Olly Betts <olly@survex.com>

	* Added test singlesubq1 to keep an eye on can_replace_by_single_subq.

Mon Dec 10 16:58:21 GMT 2001  Olly Betts <olly@survex.com>

	* can_replace_by_single_subq shouldn't return true for OP_ELITE_SET
	  since you can't call set_elite_set_size() on an arbitrary subquery.

Thu Dec  6 15:02:05 GMT 2001  Richard Boulton <richard@tartarus.org>

	* (omqueryinternal.cc, omtermlistiteratorinternal.h)
	  Fix some compiler warnings (when compiling with no debug) due
	  to methods which should return a value but simply contain
	  "Assert(false);".  Throw an exception in such methods instead
	  (after the Assert).

Mon Dec 03 11:20:42 GMT 2001  Olly Betts <olly@survex.com>

	* New BiasPostList - not yet enabled as it needs more work.

Mon Dec 03 11:16:44 GMT 2001  Olly Betts <olly@survex.com>

	* quartzdump: give syntax error if no tables specified.

Thu Nov 29 14:10:43 GMT 2001  Olly Betts <olly@survex.com>

	* ExtraWeightPostlist wasn't handling prune correctly.

Thu Nov 22 13:46:59 GMT 2001  Olly Betts <olly@survex.com>

	* Fixed segfault when percentage_cutoff emptied the proto-mset.

Thu Nov 22 12:27:49 GMT 2001  Olly Betts <olly@survex.com>

	* Enhanced test emptyquery1.

Fri Nov 16 15:32:09 GMT 2001  Olly Betts <olly@survex.com>

	* Added OmQuery::is_empty() method.

Thu Nov 15 15:36:07 GMT 2001  Olly Betts <olly@survex.com>

	* Updated todo list.

Thu Nov 15 13:03:05 GMT 2001  Olly Betts <olly@survex.com>

	* Fixed percent_cutoff problems.

Wed Nov 14 12:05:44 GMT 2001  Olly Betts <olly@survex.com>

	* Empty OmQuery() now matches no documents (rather than causing an
	  exception).

Thu Nov 08 18:23:21 GMT 2001  Olly Betts <olly@survex.com>

	* SIGSTKFLT isn't portable, so added #ifdef checks for it.

Wed Nov 07 15:34:29 GMT 2001  Olly Betts <olly@survex.com>

	* Fixed 2 GCC 3.0 warnings in muscat36 backend.

Wed Nov 07 14:21:47 GMT 2001  Olly Betts <olly@survex.com>

	* Made doc counts returned from percentage cutoff matches more
	  accurate.

Wed Nov 07 12:30:32 GMT 2001  Olly Betts <olly@survex.com>

	* GCC 3.0 fixes.

Tue Nov 06 11:16:42 GMT 2001  Olly Betts <olly@survex.com>

	* Matcher now calculates percentages like Omega does (or did as I'm
	  about to remove that code from Omega), rather than as a percentage
	  of the theoretical maximum possible weight.  The old way generally
	  gives disappointingly low values, and by pushing the percentage
	  code down into the matcher, it can be used to optimise the query.

Tue Nov 06 11:13:06 GMT 2001  Olly Betts <olly@survex.com>

	* Quick fix for problems with null OmQuery-s.

Mon Nov 05 15:52:55 GMT 2001  Olly Betts <olly@survex.com>

	* Added signal handling to testsuite - if a testcase generates a
	  signal it is caught and reported, then the testsuite continues
	  with further testcases.

Wed Oct 31 14:26:59 GMT 2001  Olly Betts <olly@survex.com>

	* Removed needless complications in matcher when a weight threshold
	  has been set.

Tue Oct 30 16:50:46 GMT 2001  Olly Betts <olly@survex.com>

	* Removed superfluous lines from configure.in; fixed warning from
	  automake 1.5.

Mon Oct 29 11:54:36 GMT 2001  Olly Betts <olly@survex.com>

	* Changed matcher to form proto-mset using a min-heap (as described
	  in "Managing Gigabytes", 2nd ed., pp 211-213).  Compared to the
	  previous "nth-element" approach, this uses about half the memory,
	  allows the min-weight based matcher optimisations to work sooner,
	  and should be inherently faster (not yet benchmarked though).  The
	  code's slightly simpler too.

Mon Oct 29 11:53:38 GMT 2001  Olly Betts <olly@survex.com>

	* Fixed remote backend to pass match_cutoff setting across.

Fri Oct 26 13:43:08 BST 2001  Olly Betts <olly@survex.com>

	* Reserve size needed for mset vector.

Thu Oct 25 18:00:54 BST 2001  Olly Betts <olly@survex.com>

	* Fixed a couple of stray references to the old sleepycat backend.

Tue Oct 23 18:19:32 BST 2001  Olly Betts <olly@survex.com>

	* More cleaning up of MultiMatch.

Tue Oct 23 16:14:27 BST 2001  Olly Betts <olly@survex.com>

	* Removed RemotePostList - it was an experimental idea which proved
	  to be too slow even on a fast network.  Cleaned up code where hooks
	  were bodged in for it.

Tue Oct 23 13:27:12 2001  James Aylett  <tartarus@users.sourceforge.net>

	* Added documentation of the test system (albeit brief). Also
	  mentioned the autotools book in HACKING.

Tue Oct 23 12:07:59 BST 2001  Olly Betts <olly@survex.com>

	* Updated .cvsignore files.

Tue Oct 23 11:29:47 BST 2001  Olly Betts <olly@survex.com>

	* Code tidying while investigating sporadic fails from quartztest.

Mon Oct 22 17:42:30 BST 2001  Olly Betts <olly@survex.com>

	* Minor fettles to quartztest: fixed warnings, whitespace tidying,
	  use mkdir(...) rather than system("mkdir ...")

Mon Oct 22 16:41:12 2001  James Aylett  <tartarus@users.sourceforge.net>

	* Renamed project to Xapian.

Mon Oct 22 14:22:00 BST 2001  Olly Betts <olly@survex.com>

	* Fixed non-ISO C++ code so Xapian will compile under GCC 3.0
	  (and also RedHat's "GCC 2.96").

Mon Oct 22 11:21:45 2001  James Aylett  <tartarus@users.sourceforge.net>

	* Altered omseek-config and the AC m4 macro to make uninst
	  executables link to the right version of the library

Mon Oct 22 10:38:20 2001  James Aylett  <tartarus@users.sourceforge.net>

	* Minor fixes to enable build (and test) under Solaris.

Fri Jun 22 13:24:59 2001  Sam Liddicott <sam@ananova.com>

	* Added some explicit type casts in xmlindexer and quartz backend
	  to help gcc2.96 compile.

Thu Jun 21 11:05:31 2001  James Aylett  <tartarus@users.sourceforge.net>

	* HACKING updated to (a) remove inaccurate statements about
	  copyright assignment, and (b) talk about developer write
	  access to CVS.

Mon Jun 11 13:24:43 2001  James Aylett  <tartarus@users.sourceforge.net>

	* pthread support detected using an automake macro. Should
	  be more portable as a result.

	* We need GNU make: buildall now tries to find it.

Mon Jun 11 12:07:00 2001  Hein Ragas <hragas@users.sourceforge.net>

	* Modified QuartzWritableDatabase::do_add_document and
	  QuartzWritableDatabase::do_replace_document to leave the PositionList
	  empty for a term with no positions associated with it.

Mon May 29 12:17:00 2001  Hein Ragas <hragas@users.sourceforge.net>

	* Modified QuartzPostList::add_entry to allow for adding of entries
	  in the middle of the postlist, not only at the end.

Mon May 28 12:00:00 2001  Hein Ragas <hragas@users.sourceforge.net>

	* Fixed a bug in replace_document for Quartz, added a test to
	  ensure proper working of the fix.

Fri Apr 27 15:16:10 2001  James Aylett  <tartarus@users.sourceforge.net>

	* Project name change to Omseek.

Wed Apr 11 09:06:37 BST 2001 Chris Emerson <chris.emerson@omsee.com>

	* Implemented deleting of items from postlists, and added some
	  tests to check that it works properly.

	* Fixed a potential memory leak in QuartzPostList if an exception
	  was thrown from the constructor.

	* BackendManager now sets the quartz_logfile setting, to make
	  the logs available from the testsuite.

	* Added mention of quartz_logfile to docs/omsettings

	* Removed a bad assert from InMemoryDatabase::get_doclength()

Mon Apr  9 21:48:18 BST 2001 Chris Emerson <chris.emerson@omsee.com>

	* Added #include <cmath> to testutils.cc

Fri Mar 30 17:37:24 BST 2001 Olly Betts

	* Added extra/.cvsignore

Fri Mar 30 17:22:13 BST 2001 Olly Betts

	* Disabled allocation checking of new[] and delete[] since some STL
	  implementations use them which leads to leaks being reported where
	  none exist.  This is addressable longer term...

Thu Mar 29 19:05:46 BST 2001  Richard Boulton <richard.boulton@omsee.com>

	* Add "extra" directory to om source tree, to hold extra libraries
	  for use with omsee, which aren't part of the core.

	* Put a query parser into "extra".  This is roughly the parser
	  from omega.  Needs some work: in particular, it needs to be
	  made reentrant.

	* Added extra/ directory to top level Makefile.am and configure.in.
	  Added AC_PROG_YACC to Makefile.am

	* Add includes of required header files to omquery.h.

Wed Mar 28 17:15:22 BST 2001  Richard Boulton <richard.boulton@omsee.com>

	* Modifications to OmQuery.  Remove the isbool flag: there is
	  no longer any need for the concept of a "pure boolean query".
	  The same effect as was obtained by setting isbool can be
	  obtained by setting the match_weighting_scheme parameter to
	  bool.

	* Also, undefined queries may no longer be used when
	  building up composite queries; the correct behaviour for this
	  is hard to define and implement and harder to document, and
	  removing this removes lots of special case code.

	* Updated network query passing code.

	* Remove special cases for bool weighting in localmatch and irweight.

	* Updated omsettings docs.  Updated comments in omsetting.h.

	* Updated todo.xml

	* Incremented network protocol version.

	* Added test_emptyop1, which checks what happens when an attempt is
	  made to use an empty list of subqueries to build up a query, and
	  then use the query.

	* Remove test_boolsubq1: no such thing as a boolean query now, so
	  no need to test what happens when one is used.

	* Updated testsuite to use "match_weighting_scheme" setting, rather
	  than calling OmQuery::set_bool().

Wed Mar 28 15:05:46 BST 2001 Chris Emerson <chris.emerson@omsee.com>

	* Fixes to InMemoryDatabase:
	  + do_open_post_list returns an EmptyPostList rather than an
	    assertion error if the term doesn't exist
	  + Fixed doccount(), which wasn't decrementing on delete_doc()
	  + Remove terms from the database when they have no more postings.
	  + Implement collection frequencies, and run collfreq tests for
	    inmemory.

Wed Mar 28 14:24:38 BST 2001  Richard Boulton <richard.boulton@omsee.com>

	* Set elite set size to max(10, sqrt(number of subqueries)) by
	  default.  This is rather more useful than the old default of 0.

Wed Mar 28 10:25:35 BST 2001 Chris Emerson <chris.emerson@omsee.com>

	* QuartzDatabase now implements replace_document(), and
	  delete_document() now removes keys/attributes as well.
	  However, postlist entries are not yet correctly removed,
	  so this will cause problems.

	* Added a test for deleting/replacing documents, which passes.

Tue Mar 27 17:31:58 BST 2001 Chris Emerson <chris.emerson@omsee.com>

	* QuartzAttributes now has a method to delete a document's
	  attributes, and QuartzRecordManager has a replace_ method.
	  (But the code which uses these isn't in this commit).

Thu Mar 22 15:58:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Change definition of OmQuery::is_defined(), so that elite set
	  queries are undefined until a size is specified for the set.

Wed Mar 21 14:29:04 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Implemented delete_document and replace_document in inmemory
	  database.

Wed Mar 21 12:39:13 GMT 2001 Olly Betts

	* Tweak to docs/quickstart.html.

Wed Mar 21 02:50:19 GMT 2001 Olly Betts

	* Entirely removed sleepcat backend and all references to it.

	* Disable muscat36 backend by default.

Tue Mar 20 18:47:12 GMT 2001 Olly Betts

	* open_document() now takes a lazy flag - if not set we need to check
	  that the docid given actually exists.

	* heavy_duty flag now a bool instead of an int.

Mon Mar 19 19:16:34 GMT 2001 Olly Betts

	* Added test getdoc1 to check exceptions are thrown for out-of-range
	  docids (currently they aren't for quartz and muscat36 backends).

Mon Mar 19 17:17:31 GMT 2001 Olly Betts

	* New simpler implementation of leak detection in testsuite.
	  Currently doesn't support malloc/calloc/realloc/free.

Mon Mar 19 16:46:16 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Further small modification to omsee-config: will now look in
	  .libs subdirectories, too.

Mon Mar 19 15:57:18 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Update omsee-config to work when a prefix is specified that
	  points directly to the directory with the library, rather than
	  expecting the library to be in a subdir "libs/".  (libs/ is
	  still used if it exists).

	* Update omsee.m4, to use omsee-config even when using an
	  uninstalled version of omsee.  This in turn fixes problems using
	  uninstalled versions of omsee with STLport.

Fri Mar 16 18:14:52 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Updated licenses, to include year 2001.

Fri Mar 16 15:40:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Fix up small bug in quartztest causing it to fail for lack of an
	  expected exception.  Initialise values in quartz_positionlist.cc
	  when position list is not present.

Thu Mar 15 17:40:38 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Make timeout absolute, rather than cumulative, when fetching
	  multiple documents from database: if two nodes fail, the total
	  timeout should still be that specified, not twice it.

	* Make the timeout set by SocketClient::set_query() get reset
	  correctly if an exception happens (which used to prevent
	  SocketClient::get_mset() ever getting called).

Thu Mar 15 17:06:51 GMT 2001 Olly Betts

	* Oops, checked in too much - backing out the wrong stuff.

Thu Mar 15 16:30:14 GMT 2001 Olly Betts

	* Include autoconf/definedir.m4 in tarball.

Thu Mar 15 16:06:02 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Updated network protocol number to reflect change adding
	  OP_ELITE_SET.

Thu Mar 15 15:31:35 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* QuartzPositionList should no longer complain if positional
	  information isn't available for a particular term / document
	  combination.

	* Updated todo.

Thu Mar 15 13:55:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Removed OmDocument::set_wdf() and OmDocument::add_term().
	  Replaced with OmDocument::add_term_nopos(), which adds a term
	  without specifying positional information, taking an optional
	  wdfinc parameter.  Updated testsuite correspondingly.

Thu Mar 15 13:14:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Update TODO

Wed Mar 14 17:51:40 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Added new operator OP_ELITE_SET, which replaces match_max_or_terms
	  option.  Can now specify exactly which terms to apply max_or_terms
	  to.  max_or_terms is obsolete: an error will be thrown if an
	  attempt is made to use it.

Wed Mar 14 15:56:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Added test for and implementation of multiple XOR queries.

	* Fix small bugs with get_termfreq_est() for xor and andnot
	  postlists.

Mon Mar  5 16:08:01 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Catch exceptions within the loop in SocketServer - exceptions
	  should normally not kill the server.  This means that that a
	  client still works after eg an OmDocNotFoundError, which was
	  causing problems before.

Fri Mar  2 18:15:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Add a new query operator, OP_WEIGHT_CUTOFF, which returns only
	  those documents from a query which have a weight greater than a
	  specified cutoff value.  Also added OP_PERCENT_CUTOFF, but this
	  is not yet implemented.

	* Added test of new cutoff function, cutoff2.

	* Updated network protocol to pass new queries.  Increased protocol
	  version number (to 10).

	* Added set_cutoff() function to OmQuery, to set cutoff parameter.

	* Updated TODO.

	* Remove unused member "PostList * postlist" of LocalSubMatch.

Thu Mar  1 12:04:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Updates to HACKING.

Wed Feb 28 18:42:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Fixes to neaten up configure output, and to test for the Perl
	  Text::Format module, thanks to James Aylett (patch slightly
	  modified, so if it doesn't work it's probably my fault).

	* configure.in checks for presence of ftime() and gettimeofday()

	* Added OmTime, a class to deal with times to an accuracy of
	  microseconds, or whatever the best accuracy the system supports
	  is.

	* Use OmTime in network code instead of time(NULL).

Wed Feb 28 14:23:11 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Merge common code from OmSocketLineBuf::wait_for_data() and
	  OmSocketLineBuf::do_readline() into
	  OmSocketLineBuf::attempt_to_read(), and thus fix bug in
	  wait_for_data() when 0 bytes returned from read().

Tue Feb 27 18:40:33 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Fixes to remote matcher code to cope better with failure of
	  submatchers:
	  - Timeout for all submatches now correctly start at same time.

	* Added more extensive testing of above code, involving adding
	  new parameters to inmemory to cause abort()s at various stages of
	  the match.

	* Remove obsolete (and unused) method
	  SocketServer::read_global_stats()

	* Errors are now generated from strings by using omerrortypes.h with
	  suitable #defines before including it.  Updated todo accordingly.

	* Extend scope of try{} clause in socketserver, so that
	  SocketServerFinished exception never escapes.

	* Default timeout in progserver increased to 30000.

	* Default timeout in tcpserver increased to 15000.

Mon Feb 26 23:51:23 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Split query generation into stages: make new query, add subqueries,
	  then finalise.  Add private methods to OmQuery reflecting this, and
	  convert constructors into template methods, allowing any iterator
	  to be used for constructing queries.  Removed reference to
	  <vector> from omquery.h

	* Add omqueryinternal.cc, containing implementation of query
	  internals. (surprise!)

	* OmQuery::Internal now has some helper functions to determine the
	  properties of each particular query.  These should be converted
	  into a lookup table, and the remaining hard-coded properties (for
	  AND_MAYBE, AND_NOT and FILTER) factored out.

	* window property removed from constructor.  This can now be set by a
	  separate call, to "OmQuery::set_window()"

	* Added a deleter_vector class, to store subquery pointers in a more
	  exception-safe way.

	* Represent undefined queries by the new OP_UNDEF operation, rather
	  than a dedicated flag - cleaned up some logic.

	* Some modifications to XOR handling: should now behave like OR and
	  AND - doesn't need to be binary.  (*untested*)

	* Fixes to serialisation code in socketcommon.cc to work with new
	  OmQuery::Internals - this should really be done in
	  OmQuery::Internal.

	* One tiny fix in tcpclient.cc - an &fdset was missed for exception
	  conditions in a select() call.

	* Testsuite modified and expanded to check changes to OmQuery.

Mon Feb 26 18:20:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Fixed some compiler warnings reported by James Aylett.

Mon Feb 26 14:27:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Avoid waiting for a timeout when closing a SocketClient.

Fri Feb 23 14:38:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Updated todo.xml

Thu Feb 22 18:14:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* OmRegexFilterNode has an output for non-matching strings as
	  well as matching.  "out" output renamed to "matching".

Thu Feb 22 16:56:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Fixed a bug in the fetch() bits: requesting documents at the
	  same time from different OmMSet instances could cause a
	  document to disappear from the cache at the wrong moment.

Thu Feb 22 15:39:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Updated todo.

Thu Feb 22 12:14:12 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Some small changes in quartz to improve exception safety and
	  error checking.

	* Remove unwanted OmExpandWeight::get_expand_k() method.

Wed Feb 21 19:02:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Overhauled the OmMSet::fetch() etc. methods.  Documents are
	  requested when fetch() is called, but are only fetched (all
	  at once) when the first get_document() is called.

Wed Feb 21 19:30:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Add an errorhandler member to MultiMatch, and remove it from
	  various calls which used to pass it about.

	* Add an EmptyMatch object, which always returns an emptypostlist.

	* Implement errorhandlers at start of query for initially down
	  nodes.  Improve test for errorhandlers to cover many more cases.

	* Add many debug messages to error handling code.

Wed Feb 21 14:33:50 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Use a deque<> directly instead of a queue, due to conflict
	  with Solaris headers.

	* Split the collect_doc loop into a seperate function

	* SocketClient should be more robust against request_doc() being
	  used without collect_doc().

Tue Feb 20 18:01:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* SocketClient implements a queue/cache system which means that
	  collect_doc() doesn't need to be called in the same order as
	  request_doc().

Mon Feb 19 15:43:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Converted btree code to use new/delete instead of [mc]alloc/free.

Mon Feb 19 13:52:23 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Added new test collapsekey2 designed to work with muscat36
	  databases, which have different key handling.  Added two new
	  categories of tests to cope with this.

	* Adjusted BackendManager's key generation, and updated
	  test_specialterms1() accordingly.

Fri Feb 16 17:26:59 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Implemented a test for keep-alives

	* Added "-tNNNN" option to omprogsrv to pass a timeout value in.

	* Added get_network_database() in apitest to set the timeout.

Fri Feb 16 16:13:47 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Incremented the remote protocol version, since a new message
	  type has been added.

Fri Feb 16 15:55:31 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Added an OmDatabase keep_alive() method to gently prod any
	  remote databases.  Applications can use it to avoid the remote
	  servers timing out between queries.  Not properly tested yet...

Thu Feb 15 19:05:24 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* The remote server now supports a seperate timeout used while
	  idle, rather than actually servicing a request from the client.
	  Options --idle-timeout and --active-timeout added to omtcpsrv,
	  and --timeout sets both timeouts.

	* Added a documentation comment or two.

Wed Feb 14 18:43:00 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* In Muscat3.6 backends, don't read the key from the keyfile unless
	  keyno is 0.

Tue Feb 13 13:57:34 GMT 2001 Andy MacFarlane <andym@omsee.com>

	* Added parameter expand_k in omsettings in order to change
	  value of weighting in expand process.

Tue Feb 13 13:25:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Network timeouts now apply to write() operations as well
	  as read().

	* SocketLineBuf::do_writeline() now correctly deals with EAGAIN.

	* SocketServer has new method writeline() which handles write
	  access to the OmLineBuf.

Mon Feb 12 12:35:41 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Make OmPositionListIterators and any other appropriate iterators
	  (postlist, termlist) have a default constructor allowing them to
	  be declared uninitialised.

Mon Feb 12 10:51:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Updated todo.xml

Thu Feb  8 17:59:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Moved omnodepad.h from include/om to indexer/indexgraph/

	* Updated todo.xml

Thu Feb  8 17:35:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Updated todo.xml

Thu Feb  8 17:00:02 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Quartz now has a metafile which for now has a magic string
	  and a version number.

	* sys_open_to_read() and delete_file() exported from btree.cc.
	  The latter was renamed to sys_unlink_if_exists().

	* Include btree_types.h from btree_util.h

Wed Feb  7 17:33:00 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Fix to InMemory databases: terms can be added even if they
	  don't have any positions.  (Was causing adddoc2 to fail).

Tue Feb  6 18:06:13 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Rename OmMSet::fetch_items() to fetch().  Add an overloaded
	  fetch() method taking a single iterator, to fetch a single item.

	* Fix some documentation comments.

Mon Feb  5 19:16:45 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Update TODO

Mon Feb  5 19:12:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Test behaviour of OmDocument methods add_term(), set_wdf(),
	  remove_posting() and remove_term().  Fails for inmemory databases.

Mon Feb  5 17:46:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Modified the behaviour of timeouts during a match.  Internally,
	  an absolute timeout time is set from start_match().  Now remote
	  nodes should timeout at NOW + remote_timeout, rather than
	  waiting remote_timeout milliseconds for each read().  Needs
	  some more testing.

Mon Feb  5 17:21:52 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix a missing #include in socketcommon.h

Mon Feb  5 17:15:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Sort generated todo lists.

Fri Feb  2 17:44:54 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Add an OmDocument::add_term() method.

	* Remove an unwanted check that wdf's are greater than 0: wdf of 0
	  _is_ allowed.

Fri Feb  2 15:04:08 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Hopefully, a fix for segfaults/assertions when network errors
	  happen halfway through a match, when handled by OmErrorHandler
	  objects: give the place-holder EmptyTermLists weighting objects.

Thu Feb  1 19:03:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Fixes to OmDocument interface: add parameters specifying the
	  changes to be made to the wdf to add_posting and remove_posting,
	  properly implement remove_posting and remove_term, including
	  throwing of exceptions, and add a set_wdf() method to set the wdf
	  to an absolute value.  Corresponding modifications to
	  OmDocumentTerm.

	* Fix commented out errorhandler code in multimatch.cc, so it still
	  compiles.

	* Add a check to avoid division by zero in bm25weight.cc

Thu Feb  1 15:59:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Add a missed #include to omqueryinternal.h

Thu Feb  1 14:44:04 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Add some error handler code, with a "#if 0"ed out comment,
	  to multimatch.cc

Wed Jan 31 15:45:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Remote servers should close down more gracefully when the
	  client closes down in the middle of a request.

Tue Jan 30 16:52:05 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Removed unneeded #includes of STL headers from API headers.

	* All #includes of files which are not installed use "" rather than
	  <>.  This means all #includes of OM files except for those which
	  are in example programs (and hence might be compiled against the
	  installed library).  "" search paths are a superset of <> search
	  paths: hence this should ensure that the om headers work however
	  they are used.

	* Moved supplied OmExpandDecider subclasses into
	  include/om/omexpanddecider.h

	* Remove om_termname_list from API: not used except by code which
	  displays it, and in testsuite.

Tue Jan 30 12:45:22 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Removed #include <vector> from omstem.h

Tue Jan 30 11:09:29 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* OmStem::get_available_languages() now returns a string
	  rather than a vector.  Languages are space-separated.
	  Updated apitest.

	* Added definition of RTLD_DEFAULT to internaltest.cc

Mon Jan 29 16:11:15 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* OmIndexerMessage's copy-on-write slightly more careful.

	* Improved debugging in OmIndexerNode

	* Fixed a bug in the termlistadd node - it tried to append to a
	  non-vector.

Fri Jan 26 16:21:09 GMT 2001 Olly Betts

	* indexerxml.cc: Removed some dead code.

Fri Jan 26 16:11:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Added omindexerdescinternal.h to the Makefile

Fri Jan 26 15:50:32 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Move OmQuery definition into a separate header file.

Fri Jan 26 15:46:42 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Move OmQuery::OP_LEAF out of public visibility, by taking it out
	  of the enum, making it a static const member of OmQuery::Internal,
	  and introducing an OmQuery::Internal::op_t to store query
	  operators in internally.  We lose the ability for the compiler to
	  warn us if we forget to check for a particular operator in a
	  switch statement, but this can't really be avoided.

Fri Jan 26 13:49:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Added get_output_{node,pad} to OmIndexerDesc

	* Implemented and testes OmNodeInstanceIterator

	* Implemented OmIndexerBuilder::build_from_desc, which somehow
	  hadn't been.  indextest now uses it.

Thu Jan 25 18:47:08 GMT 2001 Olly Betts

	* Fixed various .cvsignore files (omus -> omsee, and
	  bindings/java/.cvsignore which seemed to have been copied from
	  the top level one at some point).

	* Fixed bug in OrPostList when used in a pure boolean context
	  (uninitialised variables).

	* tests/internaltest.cc: removed unused reference to getopt.h.

	* tests/stemtest.pl.in: removed lots of bogus semicolons after
	  closing braces.

Thu Jan 25 17:53:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Turn debugging messages (OM_DEBUG_TYPES) off by default.

	* Add todo items for release to pages generated for website.

Thu Jan 25 15:11:14 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Add a couple of documentation comments: we need many more of
	  these.  No method, and certainly no class, in the API should be
	  without an explanatory comment (not least so that they're
	  accessible from the doxygen browser).

Thu Jan 25 14:51:55 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Hide the internals of OmIndexerDesc, and adding member functions
	  to do all the necessary operations (not all yet implemented).

	* Indexer internals mostly deal with OmIndexerDesc::Internal

	* Removed '#include <vector>' from omindexerdesc.h

Thu Jan 25 13:45:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* When setting up an RSet, allow documents to be referenced by
	  OmMSetIterator, for convenience.

	* Allow OmMSetIterators and OmESetIterators to be created without
	  initialising, also for convenience.

	* Include CFLAGS for STLPORT in the flags produced by omsee-config.

	* Change several more missed "omus"s to omsee.

Thu Jan 25 13:50:06 GMT 2001 Chris Emerson <chris.emerson@omsee.com>

	* Changed a mention of libomus in netprogs/Makefile.am to libomsee

Thu Jan 25 12:33:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Build only the API docs when making dist / install.  Full source
	  docs only get built if explicitly asked for.

Thu Jan 25 11:36:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>

	* Project name changed to Omsee.

	  Ramifications from a technical viewpoint are:

	  - library name changed from libomus.* to libomsee.*
	  - libomus-config renamed to omsee-config
	  - Autoconf macro file libomus.m4 renamed to omsee.m4,
	    macro name OM_PATH_LIBOMUS changed to OM_PATH_OMSEE
	    and macro now defines OMSEE_CFLAGS and OMSEE_LIBS rather
	    than LIBOMUS_CFLAGS and LIBOMUS_LIBS.  configure arguments
	    changed name, also.

Wed Jan 24 15:57:10 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Improve test of OmMSetIterators equality comparisions.

	* Update TODO

Wed Jan 24 15:11:11 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Renamed OmNodeConnection to OmNodePad.  The old name was
	  confusing.

	* Added OmPadIterator, and OmNodeDescriptor::{in,out}puts_{begin,end}.
	  Also implemented OmNodeDescriptor::get_type()

	* Added output function for OmPadIterator

	* Added test for OmPadIterators

Tue Jan 23 19:01:29 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Remove OmBatchEnquire from system: it may return at a later date,
	  but for now it is simply out of date and a maintainance liability,
	  and gives no significant advantage.  Code now exists in
	  ombatchenquire.h in CVS, but is not part of build process.

	* Make OmEnquire and OmMSet have reference counted internals: this
	  introduces a further layer of indirection, but tidies up things
	  greatly.

	* Remove get_docs() and get_doc() methods from OmEnquire.
	  get_doc(docid) is catered for by OmDatabase::get_document(docid).
	  Added OmMSetIterator::get_document() to replace get_doc on a
	  MSetIterator.  Added OmMSet::fetch_items() to replace get_docs():
	  it prefetches the documents (or just those specified by some
	  MSetIterators into a cache in the Mset).

	* OmMSet internals now have a reference to the creating OmEnquire
	  object: this is set up after the mset returns from the matcher.
	  If the reference is null, the Mset was created standalone, and
	  get_doc methods will fail.

	* OmMSetIterators now have a reference to the MSet, instead of a
	  percent_factor stored.  This allows the percent_factor to be
	  lazily calculated, and also allows get_doc to work.

	* Add get_rank() method to OmMSetIterators.

	* Improve introspection on OmDocument, and fix a bug with assignment
	  of OmDocument (wasn't assigning most of the internals).

	* Add a missing std:: on a string in omstopwordnode.

	* Fixed several documentation comments.

	* Add some more debugging to quartz.

	* Update TODO.

	* Add test_fetchdocs1 to apitest.  Disable test_batchquery1.

	* Remove sign comparison error in VectorTermList.

Tue Jan 23 16:24:04 GMT 2001 Olly Betts

	* No longer compile with -ansi under gcc - it causes problems by
	  preventing Linux system headers defining various functions we need.

	* testsuite/testsuite.cc: when reporting exceptions, display
	  exception's errno value if set.

Tue Jan 23 15:13:58 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Killed OmIndexerBuilder::NodeType.  Now use OmNodeDescriptor
	  in its place, getting rid of another vector usage in the API.

	* OmNodeDescriptor adjusted for its new role: internals are
	  refcounted, and some query as well as setting functions.

	* Cast the fourth argument to getsockopt() to void *.  On Solaris
	  that argument is char *.

Tue Jan 23 11:24:13 GMT 2001 Olly Betts

	* Tiny tweak to da_document.cc.

Fri Jan 19 18:36:15 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Removed get/set vector methods from OmSettings

	* Remote/prog arguments now passed in a string separated be spaces,
	  not a vector.

	* split_words() moved from netutils.h to utils.{h,cc}

	* Some unnecessary #include <vector> lines removed from API headers

	* Removed get_config_vector() from OmIndexerNode

	* OmConstantNode no longer handles vector values, and
	  OmStopWordNode and OmSelectItemsNode use space-separated
	  values instead.

Thu Jan 18 17:31:55 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Removed mentions of std::vector from OmIndexerMessage, and
	  updated the relevant bits.

	* Fixed a bug with the copy-on-write parts of OmIndexerMessage.

Thu Jan 18 17:09:43 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix to btreetest.cc: shouldn't fail if test data files are not
	  available.

	* Fix to multimatch.cc: clamp hits values to number of documents
	  matched after collapsing and match functors, rather than before.

Thu Jan 18 14:13:21 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix error messages thrown by quartz when a database doesn't exist /
	  already exists and isn't to be overwritten.

	* Make quartz clean up an old database directory, if
	  database_allow_overwrite is specified, so that old base files don't
	  confuse things.

Wed Jan 17 18:18:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Added all used toplevel directories to DIST_SUBDIRS

Wed Jan 17 18:13:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Martin committed changes to btree.cc which should fix some random
	  problems experienced with quartz.

	* Added in a test framework for the btree code, which exhibited the
	  bug fixed by martin until updating to his fixed version.

Wed Jan 17 16:10:02 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Moved the socklen_t definition so that tcpclient.cc could see
	  it.

Tue Jan 16 20:35:18 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix creation of quartz databases in backendmanager: all tests should
	  now pass.

Tue Jan 16 20:28:46 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix quartztest so that the tables / databases get created.
	  Implement new test "create1" to check that creation of databases
	  works as specified.

	* Fix test for whether we are allowed to overwrite a database.

	* Implement much better logging from quartz when making new databases.

	* Clean up an error message from btree.cc

Tue Jan 16 19:24:49 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Don't display messages about allocation failures in the first
	  iteration: if the failures go away when repeating, we're not
	  interested.

Tue Jan 16 18:28:03 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Add two new OmSettings, for use when opening databases:
	  database_create and database_allow_overwrite.  The idea is that
	  databases will only be created if database_create is specified,
	  and that when they are being created an exception will be thrown
	  if there's an existing database unless database_allow_overwrite
	  is specified.

	* Implemented database_create and database_allow_overwrite for
	  Quartz, which is the only relevant type for now.  Note that this
	  breaks the testsuite, quite badly.

	* Add OmDatabaseCreateError, which is thrown when creating a database
	  fails.

Tue Jan 16 17:08:47 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Fixed a typo in -ldl detection

Tue Jan 16 15:15:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Remove OmNeedRecoveryError, and quartz's quartz_perform_recovery
	  parameter.  Quartz now always performs recovery if needed: there
	  is no need for this added complication.

	* Update TODO

Tue Jan 16 14:25:03 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Changed references to SIGCLD to SIGCHLD as it's more portable.

Tue Jan 16 14:02:34 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Added check for whether -ldl is necessary.

Tue Jan 16 11:51:25 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Added compatibility bits for early libxml1 versions.

Mon Jan 15 18:18:01 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Removed use of hstrerror, which isn't portable.

Mon Jan 15 18:02:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix assertion which was the wrong way round in multimatch.cc

Mon Jan 15 17:46:13 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix initialisation of Btree_base::sequential when creating database.

Mon Jan 15 15:43:46 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Renamed some uses of XML node structure for libxml2 compatibility.

Mon Jan 15 15:35:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Add some fixes to sequential access to btrees from Martin.

Mon Jan 15 12:23:02 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Set matches_* to the known value of the number of hits if we have
	  been unable to return as many hits as were requested, and therefore
	  know the exact number.

	* Update test_matches1() to check this works correctly.  Passes.

Fri Jan 12 17:45:27 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Implement get_doclength() for QuartzDatabase

	* Remove unused parameter from QuartzRecordManager::add_record()

Fri Jan 12 17:14:16 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Fixed MultiAllTermsList, which had stopped working.

Fri Jan 12 15:32:34 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Add test to apitest (postlist6) that doclengths got from postlists
	  are the same as those from databases.  Fails for Quartz for the
	  moment.

	* Add test to quartztest (disktable3) to try and bring out a bug in
	  adding to tables.

Fri Jan 12 15:20:09 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix STLport macro so that it will accept an STLport installation
	  with foo/include/stlport and foo/lib instead of foo/stlport and
	  foo/lib.

Fri Jan 12 14:04:37 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Fixed buglet in configure.in which produced a bogus warning
	  about regex libraries.

	* Added an AC_MSG_RESULT corresponding to an AC_MSG_CHECKING
	  for the libxml flags

Fri Jan 12 13:18:07 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>

	* Fixed skip_to() in QuartzAllTermsList

Fri Jan 12 12:52:57 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Turn debugging off in btree.cc: accidentally committed a version
	  with lots of verbose debugging on.

Fri Jan 12 11:16:17 GMT 2001 Olly Betts

	* glibc 2.2 needs `#define _GNU_SOURCE' to give us RTLD_NEXT.

	* C++ comments changed to C comments in malloccheck.c.

Thu Jan 11 16:42:07 GMT 2001 Olly Betts

	* Removed unnecessary `#include "alltermslist.h"' from
	  d[ab]_database.h.

Wed Jan 10 14:28:10 GMT 2001 Olly Betts

	* Updated various .cvsignore files.

Tue Jan 09 19:03:12 GMT 2001 Olly Betts

	* Tidied up dead code from OmAllTermIterator.

Tue Jan 09 18:41:21 GMT 2001 Olly Betts

	* OmAllTermsIterator merged into OmTermIterator.

	* When iterating over all terms, skip_to() doesn't set at_end()
	  when it skips off the end.  Fixed except for quartz and added
	  regression test (allterms3).

Tue Jan  9 18:14:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Add some extra debugging code into btree code in quartz.

Tue Jan  9 17:22:12 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Make skip_to() work (ie, do nothing) on OmTermIterators, when the
	  term iterator is at_end() already.

Tue Jan  9 13:32:08 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Updates to make the quartzdump utility more useful.

	* Added new test to test cursor behaviour in quartz.

Tue Jan  9 11:31:26 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Remove an item from TODO

Tue Jan  9 10:27:35 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Add a missing \ in tests/Makefile.am

Mon Jan  8 19:03:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Increment format number in quartz/btree_base.cc.  This isn't
	  actually due to a change in the btree format, but to ensure that
	  some databases which were causing problems are rebuilt.

	  We need to add quartz format numbers, separate from the btree format
	  numbers, to check this kind of thing.

Mon Jan  8 15:13:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Add some debugging, and fix a test data file.

Mon Jan  8 13:49:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix failure to initialise OmMSet::Internal::have_percent_factor.

Thu Jan  4 17:21:24 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Add new test for a postlist with many documents, designed to fail
	  and exhibit the bug andy has found.  So far doesn't fail.

Wed Jan  3 19:30:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Add get_percent method to OmMSetIterator.  Untested.

	* Add om_percent type to om_types.

	* Add test of sort order of terms in get_matching_terms.

Tue Jan  2 15:05:53 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>

	* Move documentation of parameters for OmSettings out of omsettings.h
	  and into docs/.  Not in distribution at the moment: it is awaiting
	  placement into a permanent home (I think the user manual is the
	  correct place).

	* Add a bm25weight_min_normlen parameter: this specifies a cutoff
	  on the minimum value that can be used for a normalised document
	  length: smaller values will be forced up to this cutoff.  This
	  prevents very small documents getting a huge bonus weight.

Wed Dec 20 16:54:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix warning in QuartzTable

Wed Dec 20 15:13:05 GMT 2000 Olly Betts

	* OmTermListIterator merged into OmTermIterator.

	* Added OmRSet::contains() - checks if an RSet contains a given
	  docid.

	* Methods returning `const om_termname' now just return
	  `om_termname'.

Tue Dec 19 16:55:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Implemented AllTermsIterator for DA and Multi databases.
	  Added a test which actually uses a multidatabase, but
	  disabled it as it currently fails for both Quartz and DA.

Tue Dec 19 12:14:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Adjusted TODO

Tue Dec 19 20:06:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Escaping for termnames in remote database communication modified
	  to use only characters in range 33 to 126.  Should now work on all
	  architectures.

	* Increased OM_SOCKET_PROTOCOL_VERSION to 8.

Mon Dec 18 17:23:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Added "match_cutoff" option to get_mset OmSettings.

	* Added test for "match_cutoff" to apitest.

	* Updated todo.xml

Mon Dec 18 17:19:40 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Implemented opening positionlists from inmemory databases.  Added
	  a testcase as well, which is run for quartz and inmemory.

Mon Dec 18 15:48:16 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Implemented AllTermsIterator for quartz.  Interaction with
	  QuartzPostList needs to be cleaned up.

	* Added new functions [un]pack_string_preserving_sort(), which
	  pack a string in a way which preserves sort order.  Added a
	  testcase to quartztest.

	* Now use [un]pack_string_preserving_order() on postlist keys, so
	  that we can get at terms in sorted order.  (And get_tname_from_key()
	  added to separate out the term-unpacking as well as the packing)

	* Enabled test_allterms1 in apitest, but put it in a group of
	  tests only run for inmemory and quartz.  This should be extended
	  to other backends.

Mon Dec 18 14:33:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Implemented tests of msetiterator and esetiterator copying and
	  assignment.

	* Fix segfault when assigning to [me]setiterator to end.

	* Updated todo.xml

Mon Dec 18 13:52:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Move creation of first key in a quartz postlist into a named
	  function (was scattered through the code).

Mon Dec 18 11:19:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Update todo.xml

Mon Dec 18 10:47:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Remove const from reverse_iterators in api_db.cc, so get around
	  brokenness of egcs 1.1.2

Mon Dec 18 09:41:54 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Added apitest_space.txt to the Makefile.am

Sun Dec 17 16:15:03 GMT 2000 Olly Betts

	* Replaced all API uses of om_termname_list with OmTermIterator.

Fri Dec 15 18:54:10 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Implemented OmAllTermsIterator interface in API.  It works for
	  inmemory - the rest haven't been implemented yet.  The test
	  is commented out.

Fri Dec 15 15:47:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Updated TODO.

	* database returns positionlists as AutoPtrs; this neatens some of
	  the code from the previous changelog entry, and makes explicit the
	  ownership of the pointer.  postlists and termlists should be
	  AutoPtrs, likewise.

Fri Dec 15 14:59:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Make OmPositionListIterators retrieved from OmPostListIterators
	  valid indefinitely (were only valid until OmPostListIterator was
	  moved).  This makes them consistent with OmPositionListIterators
	  retrieved from OmDatabases.

	* Renamed PostList::get_position_list() to read_position_list.
	  Added PostList::open_position_list() which opens a new positionlist
	  and returns it as an AutoPtr.

Fri Dec 15 13:09:51 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Make TODO.release file, containing TODO items for next release.

Fri Dec 15 12:06:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* QuartzDatabases now autoflush after 1000 changes.

Fri Dec 15 11:40:37 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix segfault in quartz_table

Fri Dec 15 11:23:15 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Removed begin/end_session() from quartztest

Thu Dec 14 19:19:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Done todo item: For writable databases, make the behaviour currently
	  obtained by calling begin_session() and later end_session() the
	  default behaviour.  If users want the changes to be applied
	  immediately following a change, they should call flush().

Thu Dec 14 17:48:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix problem with recalc_maxweight() not being called before a
	  get_maxweight() in multimatch.cc if a node prunes at the top level,
	  since recalculate_w_max wasn't being checked at this point.
	  Introduced helper function getorrecalc_maxweight() to tidy this up.

	* Tidy up Asserts in common/netutils.h.

Thu Dec 14 17:11:17 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Adjusted todo.xml

Thu Dec 14 16:21:27 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Removed handling of OmDatabaseModifiedError in the API - it's
	  up to the users to know what to do.  Disabled quartzoverwrite2
	  as it's now inappropriate.

	* Added OmDatabase::reopen() to help them do so.

	* Adjusted todo.xml

Thu Dec 14 14:38:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Added another quoting regression test.

Thu Dec 14 14:36:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Fixed the quoting _again_, since it broke with backslashes.

Thu Dec 14 12:49:58 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix problems with recalculation of maxweight in postlists, causing
	  AssertParanoid at multimatch.cc:393.  When a prune was happening,
	  recalc_maxweight flag was not always being set, because some
	  {next,skip_to}_handling_prune() methods weren't being passed the
	  matcher, and a default argument of 0 was being used.  I've now
	  removed the default argument and pass the matcher always.

	  Sometimes the recalc could perhaps be avoided, but this is
	  certainly safer for now.

Thu Dec 14 12:30:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Sleepcat is now disabled by default.

	* Fixed a problem with tabs not being quoted in the remote case.  All
	  control characters are now quoted.  Incremented the protocol ver
	  number.

Thu Dec 14 11:54:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Added regression test to check that all characters can be
	  are safe to exist in document keys.

	* Fixed OmDebug so that it can display messages containing zero bytes
	  (use fwrite instead for fprintf)

Wed Dec 13 18:43:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Add regression tests to apitest to check that OmMSet and OmESet
	  begin() and end() iterators compare equal if the mset is empty.
	  Fix matchfunctor used in test_matchfunctor1 so that it works for
	  Muscat3.6 databases.

Wed Dec 13 18:35:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Fixed bugs in OmMSet and OmESet iterators: begin() when the set
	  was empty produced an invalid iterator, and the assignment
	  operators would have failed when end iterators were involved.

	* Added a check in test_matchfunctor1() that the mset returned is
	  not empty.

Wed Dec 13 18:18:09 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Turn off tests involving terms with newlines or zero bytes in terms
	  with Muscat3.6 backends; these can't be expected to work.

Wed Dec 13 18:06:29 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Uncommented the code in pctcutoff1 - test now passes.

Wed Dec 13 17:53:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix: m36_key_file parameter wasn't being set with DA flimsy
	  databases (thanks to Mark Hagger).

	* indextest.cc changed to use "\n" instead of endl - compiles
	  with STLport again.

Wed Dec 13 17:27:17 GMT 2000 Olly Betts

	* OmMSet is now an STL compatible container.

	* Om*Iterator::difference_type was unsigned - now signed.

	* net/readquery.ll: fixed compiler warning.

	* Remote backend was defaulting to collapse on key 0.

Wed Dec 13 16:48:49 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Add handling of DatabaseModified to OmEnquire::get_mset()

Wed Dec 13 16:28:47 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Escape zero bytes in the network protocol, since these were
	  breaking things when being passed across as part of keys.

	* Add test of having zero bytes in the collapse keys.

	* In testsuite, only display the context of errors if there is one
	  present.

Wed Dec 13 14:44:46 GMT 2000 Olly Betts

	* Implemented OmMSet::operator[]().

Wed Dec 13 14:30:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Added support for handling overwritten database conditions.
	  Currently works for OmDocument::get_{data,key}().

Wed Dec 13 13:20:45 GMT 2000 Olly Betts

	* Elaborated API hitlist in todo.xml.

Wed Dec 13 12:28:18 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Fix to BackendManager to stop it removing tables prematurely.

Wed Dec 13 11:49:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Apply the stemmer to query terms used in spaceterms1.  (Not doing
	  so caused the test to fail spuriously on local databases, since the
	  terms are stemmed at index time).  The test still fails with da and
	  db databases.

	* Fixed a problem when stats were unpacked from the network stream,
	  where term names were not correctly unquoted.  This led to double
	  quoting of global statistics.

Wed Dec 13 02:49:05 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Implement copy and assignment methods for OmPositionListIterator.

Wed Dec 13 02:37:14 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* ESet and MSet iterators now cope with being copied / assigned when
	  the internals are null.

	* Added copy method to OmPositionListIterator interface.  No
	  implementation for this yet though, or for the already existing
	  assignment method.

	* Added a couple of easy items to the todo list to check regarding
	  iterators.

Wed Dec 13 02:19:50 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix small bug in mset_range_is_same{,_weights}()

Wed Dec 13 02:07:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* And add copy and assignment for OmESet, similarly.

Wed Dec 13 01:58:38 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Add copy and assignment operators to OmMSet so that the internals
	  get copied (rather than just the pointer to them).  Really want a
	  small internals class, holding a refcount to the real internals, or
	  else to use refcntptrs for the members of OmMSet::Internal which are
	  potentially large (eg, items)

Wed Dec 13 01:05:44 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Add Asserts to api/omdatabaseinternal.cc to ensure that there is at
	  least one database present when opening termlists, etc.  This should
	  really be done by throwing errors.

	* Add destructor to OmMSet, deleting internals.

	* Implement getting positionlists from QuartzDatabases.

	* Fix bug in copy constructor of OmDocument::Internal - some fields
	  were not being copied.

	* Fix api_db.cc so it compiles: code referring to mset by subscripting
	  temporarily commented out.

Tue Dec 12 20:05:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix bug with truncation of intermediate keys in btrees.

Tue Dec 12 18:33:12 GMT 2000 Olly Betts

	* OmMSet::get_docs() now takes sane parameters.

	* Various test programs updated to nearly work with new OmMSet
	  interface.

Tue Dec 12 17:18:33 GMT 2000 Olly Betts

	* Finished cleaning up OmMSet; updated TODO to reflect this.

Tue Dec 12 17:16:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix bug with sorting keys in btrees.

	* Various fixes to quartzdump.

Tue Dec 12 15:40:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Nettest compiles with new OmMSet interface.

Tue Dec 12 15:09:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Fixed an endless loop in QuartzWritableDatabase::do_delete_document.

Tue Dec 12 15:07:39 GMT 2000 Olly Betts

	* OmMSetItem replaced by OmMSetIterator.

	* Added OmESet::empty().

	* Fixed == on OmESetIterator.

Tue Dec 12 14:16:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Renamed arguments to compare_keys()

Tue Dec 12 12:05:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Added quartzdump utility to dump the contents of a quartz table.

Tue Dec 12 10:54:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Added constructors and destructor to OmRSet.

Mon Dec 11 16:32:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Remove caching of average length in OmDatabaseInternal, was breaking
	  asking for the average length of a database which was being
	  modified.

Mon Dec 11 16:03:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* If no documents in database, don't divide by zero in
	  omdatabaseinternal.cc

	* If a document object doesn't come from the database, when iterating
	  through its termlist don't open postlists from the nonexistent
	  database; open them from the DocumentTerm objects in the document
	  instead.

	* Remove old unused and undefined method
	  OmDocument::Internal::add_posting()

Mon Dec 11 13:53:18 GMT 2000 Olly Betts

	* omenquire.h: Removed superfluous declaration of OmMSetCmp.

Mon Dec 11 13:38:12 GMT 2000 Olly Betts

	* Updated TODO list.

Mon Dec 11 13:24:45 GMT 2000 Olly Betts

	* OmRSet internals encapsulated.

Mon Dec 11 12:42:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* OmIndexerMessage::get_element and ...::operator[] now have
	  non-const versions.  Fixes const-warning in omstemmernode.cc.

Mon Dec 11 12:17:32 GMT 2000 Olly Betts

	* Better typedef-s for Om*Iterator::difference_type.

Sun Dec 10 17:51:41 GMT 2000 Olly Betts

	* Corrected various typedef-s for Om*Iterator.

Sun Dec 10 17:28:59 GMT 2000 Olly Betts

	* Updated TODO to reflect OmESet being cleaned up.

	* Term position argument to OmDocument::add_posting() is now
	  optional (as it was for OmDocumentContents).

Sun Dec 10 16:55:17 GMT 2000 Olly Betts

	* OmESetItem is dead - long live OmESetIterator!

	* net/socketclient.cc: fixed compiler warning.

	* net/socketserver.cc: fixed compiler warning.

Sun Dec 10 13:29:15 GMT 2000 Olly Betts

	* Started to encapsulate OmESet/OmESetItem interface.  Interface is
	  close, but currently implementation is exposed in omenquire.h.

	* apitest wasn't running puncterms1 or spaceterms1 - fixed.

Sun Dec 10 11:34:39 GMT 2000 Olly Betts

	* om/autoptr.h -> autoptr.h in lots of places.

Fri Dec  8 17:20:04 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Updated indextest to not use AutoPtr<OmIndexer>

Fri Dec  8 17:14:09 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Oops - removed one too many #include "autoptr.h"

Fri Dec 08 16:50:42 GMT 2000 Olly Betts

	* Updated TODO.

Fri Dec  8 16:44:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* IndexerBuilder now returns OmIndexer objects instead of
	  AutoPtr<OmIndexer>.  OmIndexer's internals are reference
	  counted.

	* Moved autoptr.h from include/om to common/, since it's no
	  longer used in the API.

Fri Dec  8 16:22:48 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Fixed omstemmer node bug and made debug slightly more verbose
	  in indextest.cc.

Fri Dec  8 16:13:36 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Added a test for OmIndexerMessage to indextest

	* Added output operator for OmIndexerMessage

	* Fixed a bug introduced into omvectorsplit node

	* Changed couts in indextest.cc to touts.

Fri Dec 08 14:53:24 GMT 2000 Olly Betts

	* quartztest: removed OmDocumentTerm reference so that it'll
	  compile (tests fail though).

Fri Dec  8 14:42:46 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* OmIndexerMessage is now a class by itself, replacing OmIndexerData
	  and the typedef to AutoPtr<OmindexerData>.  It's now a copy-on-write
	  object.

	* The indexer stuff all changed.

Fri Dec 08 14:24:02 GMT 2000 Olly Betts

	* omindexdoc.{cc,h}: no longer used so removed.

	* Pushed OmDocumentTerm from API level into the internals of the
	  library.

	* Updated TODO.

Fri Dec 08 12:08:49 GMT 2000 Olly Betts

	* delve: if just given a database (or list of databases), report the
	  number of documents and average document length.

Thu Dec  7 20:39:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fix bug: Om*Iterators which were created over empty lists didn't
	  have null internals, causing them not to compare equal to end
	  iterators.

	* Added many asserts to iterator code.

Thu Dec  7 20:02:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Removed OmTermListIteratorMap - OmTermListIterator can now be
	  across either a map or an actual termlist.

	* Om*Iterator classes all now delete internals when reaching end,
	  freeing resources sooner and making the comparison operators much
	  simpler.

Thu Dec  7 18:33:03 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Updates to TODO

Thu Dec  7 18:32:39 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Implementation of write locks for Quartz

Thu Dec  7 18:28:55 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Fix to backendmanager which doesn't return writable databases
	  unnecessarily (which breaks things when there are write locks)

Thu Dec  7 18:25:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Added test for Quartz write locks

Thu Dec  7 17:56:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Add OmDocument::set_data() method which takes a string, instead of
	  an OmData object.  This allows, implicitly, use of const char *'s
	  as well.

	* Further fixes to quartztest.  It now compiles (though I've not
	  tried linking it yet...)  :)

Thu Dec  7 17:49:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Fixed omkeylistiterator return types.

Thu Dec  7 17:27:57 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Moved get_document() from OmWritableDatabase to OmDatabase.

	* Added -> operator to OmKeyListIterator.  Fixed return values
	  and constness of Om*Iterator::operator *() methods.

	* Some fixes to quartztest.cc, but not enough to get it compiling.

Thu Dec 07 16:21:28 GMT 2000 Olly Betts

	* Some work on getting quartztest working.

Thu Dec 07 16:10:00 GMT 2000 Olly Betts

	* The library now builds, but "make check" still fails.

Thu Dec  7 15:39:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fixes to testsuite/index_utils.cc to not segfault.

Thu Dec  7 14:31:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Fixes to api_db.cc so that it compiles.

Wed Dec  6 18:50:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Add test for terms with spaces, newlines, zero bytes, or
	  backslashes.

	* Updates to TODO

Wed Dec 06 18:18:16 GMT 2000 Olly Betts

	* Woohoo!  Now builds with just --disable-indexer!
	  (still doesn't pass any tests).

Wed Dec 06 17:24:19 GMT 2000 Olly Betts

	* Minor fix.  Now builds with --disable-indexer
	  --disable-quartz-backend (but doesn't pass any tests).

Wed Dec 06 16:35:34 GMT 2000 Olly Betts

	* Fixed up lots of build errors.

Wed Dec 06 14:56:59 GMT 2000 Olly Betts

	* Begin the long job of replacing OmDocumentContents with
	  OmDocument.  Won't currently build - expect the tree to be broken
	  for a few days.  As usual, if you want a working build, use the
	  "snapshot_latest" tag.

Wed Dec  6 12:03:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Backed out yesterday's overwritten-handling stuff.

Wed Dec  6 11:36:55 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Increase sleep in tcpclient1 to 3 (did tcpmatch1 last time, duh!)

Tue Dec  5 17:13:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* QuartzDocument now has a QuartzTableManager pointer rather than
	  two QuartzTable pointers.

	* QuartzDatabase::do_get_document_internal() copes with Btree
	  overwritten conditions.

	* QuartzDocument methods cope with Btree overwritten conditions

	* New method QuartzTableManager::reopen_tables_because_overwritten()
	  for helping with the above.

	* New test in quartztest for testing overwritten problems from the
	  API rather than just internally to Quartz.

	* Fixed a typo in omsettings.h comment (quartz_dir used to refer to
	  a sleepycat database)

Tue Dec  5 16:53:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Update todo.

	* Fix undesirable assert in stats.h

Tue Dec  5 15:41:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Replace OmMSet::docs_considered with
	  OmMSet::matches_{lower_bound,estimated,upper_bound}, giving more
	  useful information.

	* PostLists now have get_termfreq_{min,est,max}(), instead of
	  get_termfreq(), so the postlist tree can be used to calculate
	  the matches_* values for the mset.  Implemented for all the
	  postlist subclasses.

	  LeafPostList's still has a virtual get_termfreq() method,
	  and implements get_termfreq_* in terms of it, so database postlists
	  don't need to be modified.

	* Passing of MSets across network modified to pass the new
	  information.

	* PendingMSet uses the values from the mset to return the values
	  of get_termfreq_*().  This assumes that recalc_maxweight has been
	  called first, which is has been.

	* Muscat36 databases get_termfreq() methods fixed to use a
	  LeafPostList rather than a PostList.

	* Renamed test docs_considered1 to matches1, and add several
	  more cases to it.

Tue Dec 05 15:38:27 GMT 2000 Olly Betts

	* Added tests/testdata/apitest_punc.txt to distribution.

Tue Dec 05 15:07:26 GMT 2000 Olly Betts

	* Oops, failed to add new file `tests/testdata/apitest_punc.txt'
	  with last check-in.

Tue Dec 05 14:34:04 GMT 2000 Olly Betts

	* OmTermListIterator implemented for an OmDocument with terms stored
	  in a map rather than coming from a Document.

	* Fixes to remote protocol so solve problems with terms with
	  punctuation in (regression test punc_terms1).

Mon Dec  4 15:02:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Makefile tweak in docs/

Mon Dec 04 14:13:05 GMT 2000 Olly Betts

	* More OmDocument work.

Mon Dec  4 11:43:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Renamed OmMSet::mbound to docs_considered.

Mon Dec  4 10:11:11 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Added some more std:: prefixes for STLport.

Fri Dec  1 17:45:01 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Increase the sleep after the server is started by tcpclient1 to 3
	  seconds so that the server is more likely to have started when
	  then test ran.  This seems to be what was causing the test to
	  randomly fail.  Really, we want a better solution to this (such as
	  the server picking a port and writing it out on stdout once it is
	  listening.)

Fri Dec  1 17:27:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Swapped the ports used by tcpclient1 and tcpmatch1 to see if the
	  random failures follow suit.

Fri Dec  1 17:21:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Another minor fix to work with STLport.

Fri Dec  1 17:01:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Add std::'s and similar to fix compilation with STLport.

	* Fix bug in expander due to nth_element being called on the wrong
	  element.  This is the counterpoint of the bug fixed on Nov 24th
	  with the matcher.

Fri Dec  1 16:30:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Minor tweaks in error strings.

Fri Dec 01 12:57:59 GMT 2000 Olly Betts

	* Corrected erroneous documentation comment.

Thu Nov 30 18:50:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* OmSettings no longer throws exceptions internally (at the cost of
	  slightly more code duplication).

Thu Nov 30 18:05:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Add a few std::'s to strings which had been missed.

Thu Nov 30 16:41:11 GMT 2000 Olly Betts

	* OmDocument::Internal now knows its OmDatabase.

Thu Nov 30 16:40:33 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Add context to network errors thrown from OmSocketLineBuf.

Thu Nov 30 16:21:47 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Added a quartz test for largish bitmaps.

	* Fixed the code so that the above test would pass.

Thu Nov 30 16:10:37 GMT 2000 Olly Betts

	* OmDocument::add_posting() pretty much done.

Thu Nov 30 15:51:46 GMT 2000 Olly Betts

	* More work on OmDocument::add_posting().

	* Added OmTermListIterator::positionlist_begin() and
	  OmTermListIterator::positionlist_end().

Thu Nov 30 14:16:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Fixed a prototype bug introduced with the last commit.

Thu Nov 30 13:23:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Bcursor::find_key now more const-correct.

	* Bcursor_create now returns an AutoPtr.  The resultant changes
	  fixed a memory leak.

	* New exception: OmDatabaseModifiedError.  Thrown when an open
	  revision of a table is no longer valid due to multiple updates.

	* quartzoverwrite1 test re-enabled, and passes.

Thu Nov 30 13:23:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* nettest now uses quartz backend: should always run all tests now
	  (apart from tcpdead1, which doesn't work).

Wed Nov 29 19:46:22 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* In testsuite, report the context of Om exceptions as well as their
	  type and message.

Wed Nov 29 18:30:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Add "remote_connect_timeout" parameter to be supplied when opening
	  a remote database, to specify a separate timeout for the connect
	  operation to that used once the connection has been opened.

	* Add setting of the context of errors thrown by tcpclient or
	  progclient, so that the node which failed can be determined.

Wed Nov 29 17:50:03 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Reworked Btree_base::read() a bit so that it's hopefully more
	  readable.

	* Hopefully fixed a bug when the bitmap approaches 1k.

	* Fix to catch problems re-opening databases after an apply in
	  Quartz.

Wed Nov 29 17:30:26 GMT 2000 Olly Betts

	* Added OmDocument::termlist_begin() and OmDocument::termlist_end()

Wed Nov 29 16:53:13 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Comment out quartzoverwrite1 test so that it doesn't cause problems
	  for other developers.

Wed Nov 29 16:27:19 GMT 2000 Olly Betts

	* docid now in Document class rather than subclasses.

Wed Nov 29 14:54:13 GMT 2000 Olly Betts

	* leafdocument.cc renamed to document.cc

	* Document class now has a pointer to the associated Database class
	  so we can open termlists, etc.

Wed Nov 29 14:03:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Add quartztest to test for case when a database block gets
	  overwritten.  Currently, this fails because an exception doesn't
	  get thrown when it should.

Wed Nov 29 13:18:24 GMT 2000 Olly Betts

	* LeafDocument class renamed to Document.

Wed Nov 29 12:35:49 GMT 2000 Olly Betts

	* Added OmDocument::remove_posting(), OmDocument::remove_term(),
	  and OmDocument::clear_terms()

Wed Nov 29 12:31:22 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Added another revision number in the middle of the base file,
	  before the bitmap.  Also now check that there isn't any extra
	  data at the end after we finish reading it.  Incremented the
	  database format.

Wed Nov 29 11:55:03 GMT 2000 Olly Betts

	* Added OmDocument::remove_key() and OmDocument::clear_keys()

Tue Nov 28 18:34:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Btree bitmap now merged with base - one object, one file.

Tue Nov 28 17:13:56 GMT 2000 Olly Betts

	* Added OmDocument::set_data()

Tue Nov 28 16:47:06 GMT 2000 Olly Betts

	* Started to alter OmDocument to be a general purpose document class
	  which includes the functionality currently in OmDocumentContents.

Tue Nov 28 15:08:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Added OmSplitOnCharsNode, which does a subset of OmRegexSplitNode
	  but less slowly.

	* Modified RegexSplit node and regexcommon so that less copying
	  of strings is needed.

Tue Nov 28 13:42:41 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>

	* Moved the Btree's bitmap into a separate object.

Tue Nov 28 13:06:36 GMT 2000 Olly Betts

	* Eliminated OmDocumentParams.

	* Removed unnecessary mutex from OmDocument::Internal.

Mon Nov 27 18:45:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Implement get_position_list() on databases.  Untested.  Also needs
	  some work to make consistent with open_position_list() on posting
	  lists: see todo list.

Mon Nov 27 18:29:00 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Change #define LEVEL ... to #define GET_LEVEL ... in btree_util.h:
	  fixes problem reported by includetest

Mon Nov 27 18:20:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Added a set of modifications to the todo.xml.  Also, add a
	  "release" field, recording the release that the work must be
	  performed by.

Mon Nov 27 18:08:35 GMT 2000 Olly Betts

	* A RefCntPtr now copes with being assigned to itself (used to
	  delete the underlying object if the reference count was 1).  Added
	  regression test (refcnt2).

	* Now overwrite pointer inside RefCntPtr before deleting the pointed
	  to object so there's no window where another thread can access the
	  pointer and get the just-deleted object.

Mon Nov 27 14:36:59 GMT 2000 Olly Betts

	* OmError class now optionally stores an errno value.

Mon Nov 27 13:04:18 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Quartztest builds its test databases in a subdirectory, which
	  is now in .cvsignore, so we shouldn't get cvs complaining about
	  so many unknown files any more.

Mon Nov 27 12:53:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Another TODO item.

Mon Nov 27 12:15:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Added a couple of new items to the todo list.

Fri Nov 24 19:23:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Quartztests now deletes all old tables, so that database formats
	  don't cause problems.

Fri Nov 24 19:03:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Added std:: prefix to lots of strings which didn't have it.
	  I've probably added some where they shouldn't be: there were rather
	  a lot of cases of this.

Fri Nov 24 18:27:06 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Major bug fix!  When removing elements, matcher was performing
	  nth_element() on the first element to be thrown away, rather than
	  the lowest element to keep.  This meant that, after throwing away
	  low scoring items, items.back() was a random item rather than the
	  lowest scoring item.  This caused the min weight for getting into
	  the mset to go up faster than it should have done, and generally
	  broke everything.

	  It will be interesting to compare evaluation measures before and
	  after this fix.

Fri Nov 24 15:34:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>

	* Declare this to be version 0.4.1
