On Thu, Feb 10, 2022 at 01:12:47PM +0100, Michael J Gruber wrote: > Austin Lund venit, vidit, dixit 2022-02-10 06:56:12: > > I'm clearly doing this python code wrong by not using the iterator > > correctly: > > > > > import notmuch2 > > > > > > d = notmuch2.Database() > > > m = list(d.messages("since:today")) > > > p = m[0].path > > > print(p) > > > > But I seem to be getting a SIGABRT instead of a python stack trace. Is > > this the expected behaviour? > > You didn't expect it :) > > And this can be confusing. d.messages() returns an iterator through > Message objects whose lifetime depends on the iterator. In contrast, > thread.get_messages() returns on iterator through OwnedMessage objects > whose lifetime depends on the thread.
I guess I didn't say it explicitly, but I would 'expect' the python interpreter to raise an exception rather than having an unhandled exception terminate the program. Perhaps raising a MemoryError or ReferenceError or some other exception would be better than an unhandled SIGABRT. _______________________________________________ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org