Previous | Contents | Next
This chapter describes the objects made available by Tclnotmuch which, of course, reflect those implied by the Notmuch library API.
The underlying Notmuch library is build on a hierarchical memory allocator called
talloc, and in the API all objects are effectively part of a top-level
database object (perhaps indirectly).
This means that as soon as an API object is deleted, all underlying derived API objects such as
tags will be freed by the Notmuch library as well. Accessing these objects through the API may lead to segfaults or other unexpected behaviour.
Tclnotmuch provides a set of TclOO objects to wrap and (at least sometimes) simplify the use of the Notmuch API objects. One obvious simplification is to deal with the possible errors mentioned in the previous paragraph by recording dependencies between objects.