This is the latest version of the redesign of the unread/read logic. Now that the tag update code is in this is relatively simple.
The previous version (which included an early version of the tag update code) is at id:1387065197-15776-1-git-send-email-markwalters1009 at gmail.com The series consists of three patches. The first makes the test suite run the post-command-hooks. This is bremner's version from id:1390578744-30516-1-git-send-email-david at tethera.net (which is much nicer than my original version). This patch has been reviewed by Tomi in id:m21tzxns8p.fsf at guru.guru-group.fi and me in id:87d2jizjlu.fsf at qmul.ac.uk The second patch adds a stub function linked to the post-command-hook to mark messages read. This is a convenient place to test other possible logics. The third patch adds my attempt at a plausible logic. I find it works very well: it usually does both what I expect and what I want. Somewhat surprisingly for a moderately significant change all tests pass unchanged. Finally, the tests do not pass after Patch 2 but before Patch 3. I have left these two patches split to make it easy for other people to test other unread logic, but we might want to merge the two when commiting. Best wishes Mark Mark Walters (3): test: make test_emacs call post-command-hook emacs: show: add an update seen function to post-command-hook emacs: show: make `seen' mean user viewed whole message emacs/notmuch-show.el | 91 +++++++++++++++++++++++++++++++++++++++++-------- test/test-lib.el | 11 ++++++ test/test-lib.sh | 2 +- 3 files changed, 88 insertions(+), 16 deletions(-) -- 1.7.10.4