Yesterday I updated the deprecation.rst document such that I think it contains all the items which are slated for deprecation (and also contains full details of the upgrade suggestions, as Olly suggested). I've marked several things which have been deprecated for a long period of time (ie, since 0.9.0 or earlier) for removal in 1.0.0, in line with the policy outlined in the document. If possible, I'd like anyone interested to check over this list over the next few days, so that we can get started on actually removing the functions to be removed in 1.0.0. I've also marked items in the bindings which should be deprecated: most of these have been marked as "out-of-date" in xapian.i for ages, but not clearly documented publically, so it's perhaps a bit more controversial whether they should be removed now. On the other hand, the bindings have been less stable than the core until now, and it would be easier to remove them at the same time as removing the equivalent from the core. Finally, I'm not convinced that the replacement for Stem::stem_word() of using operator() will work for all the bindings - checking whether it can be accessed from PHP, Ruby, Tcl8, and CSharp would be useful (ideally, changing smoketest and the examples to demonstrate how). It works in Python, though. ;-) -- Richard
Oh - anyone interested might want to read and subscribe to the relevant bug, too: http://www.xapian.org/cgi-bin/bugzilla/show_bug.cgi?id=126 -- Richard
On Tue, Apr 17, 2007 at 10:17:19AM +0100, Richard Boulton wrote:> Finally, I'm not convinced that the replacement for Stem::stem_word() of > using operator() will work for all the bindings - checking whether it > can be accessed from PHP, Ruby, Tcl8, and CSharp would be useful > (ideally, changing smoketest and the examples to demonstrate how). It > works in Python, though. ;-)Except for Python, operator() is renamed to apply() (or Apply() for C#). See xapian.i around line 122 (in current SVN HEAD). Cheers, Olly
On Tue, Apr 17, 2007 at 10:17:19AM +0100, Richard Boulton wrote:> I've also marked items in the bindings which should be deprecated: most > of these have been marked as "out-of-date" in xapian.i for ages, but not > clearly documented publically, so it's perhaps a bit more controversial > whether they should be removed now. On the other hand, the bindings > have been less stable than the core until now, and it would be easier to > remove them at the same time as removing the equivalent from the core.I don't think it's sensible to go down the road of keeping deprecated aliases and compatibility code in the bindings when the corresponding code has been removed from the C++ library. And the bindings documentation suggests referring to the C++ API, which does mark them as deprecated. Cheers, Olly