I noticed this footnote in deprecation.rst:
.. [#version] The version functions will probably be
preserved for
longer than the usual lifetime of deprecated features,
because it is
unhelpful to remove functions which people use to test
the version
of the library in use. However, the replacements have
been
supported for long enough that new applications should
use the
replacement functions without worrying about old library
versions
which don't support them.
I don't think there's a reason to support these for longer
than we might
otherwise actually. These functions report the version of
xapian-core
that we're running with (which may be different from the
version that
we were built against if xapian-core is a shared library).
But you can
only use an API compatible shared library, otherwise you
need to
rebuild, so you generally you'd use preprocessor checks for
compile time
selection of things.
You can also use preprocessor checks to decide which
function name to
call if you really need to check the library version
actually in use.
These functions were added in 0.9.3, and deprecated in
favour of names
with "xapian_" removed in 0.9.6, so this code will
work for any Xapian
version from 0.9.3 onwards:
#if XAPIAN_MAJOR_VERSION == 0 &&
XAPIAN_MINOR_VERSION == 9 && XAPIAN_REVISION < 6
string version_string = Xapian: apian
_version_string();
#else
string version_string = Xapian::version_string();
#endif
So I don't think there's a reason to keep these around
longer than we
would otherwise. I think removing these in 1.1.0 would be
fine, and we
should suggest otherwise in the documentation. Am I missing
something?
Cheers,
Olly
_______________________________________________
Xapian-devel mailing list
Xapian-devel lists.xapian.org
http://lists.xapian.org/mailman/listinfo/xapian-devel
|