<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/emacs/notmuch-tree.el, branch 0.22</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.22</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.22'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2016-04-16T11:24:42Z</updated>
<entry>
<title>emacs: Fix packaging</title>
<updated>2016-04-16T11:24:42Z</updated>
<author>
<name>Chunyang Xu</name>
<email>xuchunyang.me@gmail.com</email>
</author>
<published>2016-04-13T07:58:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0cf457b73b4b666314d1a09ac3e31bd0fa2346a6'/>
<id>urn:sha1:0cf457b73b4b666314d1a09ac3e31bd0fa2346a6</id>
<content type='text'>
Refer to (info "(elisp) Library Headers") for package conventions.
</content>
</entry>
<entry>
<title>emacs: tree: bind S to run current query in search mode</title>
<updated>2015-10-21T12:14:07Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2015-10-14T08:38:23Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f9d2ccf67b0534637c128fd088957604d0435e7c'/>
<id>urn:sha1:f9d2ccf67b0534637c128fd088957604d0435e7c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>emacs: tree bugfix</title>
<updated>2015-10-17T12:07:16Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2015-10-15T18:46:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3d38baf35280b9fe2d94a104bb2148e82164996b'/>
<id>urn:sha1:3d38baf35280b9fe2d94a104bb2148e82164996b</id>
<content type='text'>
Formerly replying to an encrypted message in tree-view did not work:
the message was not decrypted. This commit makes notmuch-tree respect
the setting of notmuch-crypto-process-mime. In particular, if
notmuch-crypto-process-mime is set to t, then replying to encrypted
messages in tree mode will now decrypt the reply (as it already did in
show mode).
</content>
</entry>
<entry>
<title>emacs: tree: mark read change</title>
<updated>2015-06-23T20:17:53Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2015-06-09T09:51:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5e375688418bd35c5b2de71fb69035332ba5aeab'/>
<id>urn:sha1:5e375688418bd35c5b2de71fb69035332ba5aeab</id>
<content type='text'>
The mark read code for tree mode did not get updated in the recent
changes. This updates it to match. Since the user can customize the
mark read logic we just call the show logic in the message pane.
</content>
</entry>
<entry>
<title>emacs: Improve the behaviour of the 'q' binding.</title>
<updated>2014-10-31T16:54:21Z</updated>
<author>
<name>David Edmondson</name>
<email>dme@dme.org</email>
</author>
<published>2014-10-29T14:18:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=30f1c43efe32c83193a6b9ae1f31ab2667e4195d'/>
<id>urn:sha1:30f1c43efe32c83193a6b9ae1f31ab2667e4195d</id>
<content type='text'>
When a user hits 'q' in a notmuch buffer, kill the buffer only if
there are no other windows currently showing it.
</content>
</entry>
<entry>
<title>emacs: tree/show remove duplicate function</title>
<updated>2014-07-16T09:33:17Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2014-06-07T09:51:08Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ebb58751dc0f20da3176a53d41d196e4c5de12e0'/>
<id>urn:sha1:ebb58751dc0f20da3176a53d41d196e4c5de12e0</id>
<content type='text'>
tree overrides notmuch-show-get-prop so that it can use many of the
utility function directly. Now that tree is in mainline the version
from tree can be moved to show and the original overridden show
version dropped.
</content>
</entry>
<entry>
<title>emacs: set default in notmuch-read-query</title>
<updated>2014-07-15T23:32:49Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2014-06-23T21:06:46Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f47eeac0b0186c3559eb559c4f0bee0e1fac1961'/>
<id>urn:sha1:f47eeac0b0186c3559eb559c4f0bee0e1fac1961</id>
<content type='text'>
This adds the current query as a "default value" to
notmuch-read-qeury. The default value is available via a down-arrow as
opposed to history which is available from the up arrow.

Note if a user presses return in the minibuffer this value is not
returned.

The implementation is simple but notmuch-read-query could be called
via notmuch-search/notmuch-tree etc from any buffer so it makes sense
to put the decision of how to extract the current query in
notmuch-read-query rather than in each of the callers.
</content>
</entry>
<entry>
<title>emacs: tree: use orig-tags in search</title>
<updated>2014-03-24T22:48:55Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2014-03-22T11:51:12Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=274355776b07e06a8f8e110c4bc0b7bb5bc42281'/>
<id>urn:sha1:274355776b07e06a8f8e110c4bc0b7bb5bc42281</id>
<content type='text'>
This uses the recent functionality to show the tag changes in the tree
buffer. Currently this is only used to show changes the tree buffer
makes itself: i.e., it does not make display any changes reflecting
tagging done by other notmuch-buffers.
</content>
</entry>
<entry>
<title>emacs: show: mark tags changed since buffer loaded</title>
<updated>2014-03-24T22:48:04Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2014-03-22T11:51:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=941e172724188eb0f65bc05035a0a6871a70ba72'/>
<id>urn:sha1:941e172724188eb0f65bc05035a0a6871a70ba72</id>
<content type='text'>
This allows (and requires) the original-tags to be passed along with
the current-tags to be passed to notmuch-tag-format-tags. This allows
the tag formatting to show added and deleted tags.By default a removed
tag is displayed with strike-through in red (if strike-through is not
available, eg on a terminal, inverse video is used instead) and an
added tag is displayed underlined in green.

If the caller does not wish to use the new feature it can pass
current-tags for both arguments and, at this point, we do exactly that
in the three callers of this function.

Note, we cannot tidily allow original-tags to be optional because we would
need to distinguish nil meaning "we are not specifying original-tags"
from nil meaning there were no original-tags (an empty list).

We use this in subsequent patches to make it clear when a message was
unread when you first loaded a show buffer (previously the unread tag
could be removed before a user realised that it had been unread).

The code adds into the existing tag formatting code. The user can
specify exactly how a tag should be displayed normally, when deleted,
or when added.

Since the formatting code matches regexps a user can match all deleted
tags with a ".*" in notmuch-tag-deleted-formats.  For example setting
notmuch-tag-deleted-formats to '((".*" nil)) tells notmuch not to show
deleted tags at all.

All the variables are customizable; however, more complicated cases
like changing the face depending on the type of display will require
custom lisp.

Currently this overrides notmuch-tag-deleted-formats for the tests
setting it to '((".*" nil)) so that they get removed from the display
and, thus, all tests still pass.
</content>
</entry>
<entry>
<title>Make keys of notmuch-tag-formats regexps and use caching</title>
<updated>2014-03-24T22:43:00Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2014-03-22T11:51:06Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7023466ece21b43a62dc0a2502e84bea78b1501c'/>
<id>urn:sha1:7023466ece21b43a62dc0a2502e84bea78b1501c</id>
<content type='text'>
This modifies `notmuch-tag-format-tag' to treat the keys of
`notmuch-tag-formats' as (anchored) regexps, rather than literal
strings.  This is clearly more flexible, as it allows for prefix
matching, defining a fallback format, etc.  This may cause compatibility
problems if people have customized `notmuch-tag-formats' to match tags
that contain regexp specials, but this seems unlikely.

Regular expression matching has quite a performance hit over string
lookup, so this also introduces a simple cache from exact tags to
formatted strings.  The number of unique tags is likely to be quite
small, so this cache should have a high hit rate.  In addition to
eliminating the regexp lookup in the common case, this cache stores
fully formatted tags, eliminating the repeated evaluation of potentially
expensive, user-specified formatting code.  This makes regexp lookup at
least as fast as assoc for unformatted tags (e.g., inbox) and *faster*
than the current code for formatted tags (e.g., unread):

                    inbox (usec)   unread (usec)
    assoc:              0.4            2.8
    regexp:             3.2            7.2
    regexp+caching:     0.4            0.4

(Though even at 7.2 usec, tag formatting is not our top bottleneck.)

This cache must be explicitly cleared to keep it coherent, so this adds
the appropriate clearing calls.
</content>
</entry>
</feed>
