Hi all, I know this issue is not easy to fix and that it's partly a problem with xapians bad error handling. I just want to state another problem we run into with xapians exceptions in combination with the python bindings. If you run the following snippet, you notice that not only do we get xapian-garbage on stderr but we don't really get any exceptions at the position where it would make sense:
-------------------------------- from notmuch import Database bad_querystring = "test AND" # This should raise a NotmuchError and query should be NoneType query = Database().create_query(bad_querystring) # this prints to stderr but returns a Threads object. threads = query.search_threads() # this finally raises a NotmuchError(STATUS.NOT_INITIALIZED) for t in threads: print t -------------------------------- Although the querystring is invalid syntactically, the query object gets instantiated and can of course not behave as it should later on.
