Notmuch sync process is done asynchronously, but if the user switch to
other buffer before update process, it complains like
```
error in process sentinel: #<window 98> is not a valid window
```
This commit simplifies cleanup process after mail syncing, and still
maintain its functionality.
Seeking to make this notmuch module behave more like vanilla notmuch to
be less disorienting for users who are familiar with notmuch. The
customizations of the notmuch-hello screen can easily be done in user
configs by users that want those customizations.
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:
(add-hook! :append 'some-mode-hook #'do-something)
Thsoe properties must now follow the hooks, e.g.
(add-hook! 'some-mode-hook :append #'do-something)
Other changes:
- Various add-hook calls have been renamed to add-hook! because I
incorrectly assumed `defun` always returned its definition's symbol,
when in fact, its return value is "undefined" (so sayeth the
documentation). This should fix#1597.
- This update adds the ability to add multiple functions to hooks
without a list:
(add-hook! 'some-mode-hook
#'do-something
#'do-something-else)
- The indentation logic has been changed so that consecutive function
symbols at indented at the same level as the first argument, but forms
are indent like a defun.
(add-hook! 'some-mode-hook
#'do-something
#'do-something-else)
(add-hook! 'some-mode-hook
(message "Hello"))