Nice. On Mon 29 Jun 2020 at 22:14 -0300, David Bremner wrote: > diff --git a/lib/notmuch.h b/lib/notmuch.h > index ceb5a018..0dc89547 100644 > --- a/lib/notmuch.h > +++ b/lib/notmuch.h > @@ -1363,9 +1363,8 @@ notmuch_message_get_database (const notmuch_message_t *message); > * message is valid, (which is until the query from which it derived > * is destroyed). > * > - * This function will not return NULL since Notmuch ensures that every > - * message has a unique message ID, (Notmuch will generate an ID for a > - * message if the original file does not contain one). > + * This function will return NULL if triggers an unhandled Xapian > + * exception. > */ > const char * > notmuch_message_get_message_id (notmuch_message_t *message); How much of a departure from the existing API is this? Will this be possible with all functions? I had a quick look and tried some other functions that don't return notmuch_status_t: notmuch_database_get_version currently returns and unsigned int and segfaults on use with a closed db. notmuch_needs_upgrade returns notmuch_bool_t and seems to return a valid bool with a closed db. I'm not sure if this is always the right answer though. I wonder if a backwards-compatible errno-style API could work, notmuch_last_status(notmuch_database_t* database) or so. This kind of thing is probably easy to adopt in bindings but harder for direct users of the API. It's also an extra API call for everything that doesn't return notmuch_status_t. But I'll leave the judgement to you, I'm not as experienced with the API. _______________________________________________ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-leave@notmuchmail.org