<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/test/emacs, branch 0.17</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.17</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.17'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2013-12-22T12:44:44Z</updated>
<entry>
<title>test: add emacs_fcc_message that does not use smtp-dummy</title>
<updated>2013-12-22T12:44:44Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2013-12-14T14:39:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=513a36d105995c327c23fec5f60ea70c65b986dd'/>
<id>urn:sha1:513a36d105995c327c23fec5f60ea70c65b986dd</id>
<content type='text'>
Most of the tests previously using emacs_deliver_message do not use
the actual transmitted message, so we replace it with a simpler (and
presumably more reliable function) that only saves (and indexes) an
fcc copy of the message.
</content>
</entry>
<entry>
<title>test: sanitize dates in emacs, raw, and text output</title>
<updated>2013-12-09T13:20:27Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2013-12-08T14:52:41Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=72ff135ac3e79be548bf5b82b63d15ba278ef4ce'/>
<id>urn:sha1:72ff135ac3e79be548bf5b82b63d15ba278ef4ce</id>
<content type='text'>
add a new function notmuch_date_sanitize for rfc822-ish things. Add
date sanitization to notmuch_show_sanitize_all and use it more places.

This is all in aid of a transition to unique timestamps on messages.
</content>
</entry>
<entry>
<title>test: replace $PWD with YYY in emacs &amp; emacs-show tests</title>
<updated>2013-11-24T00:25:29Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2013-11-23T11:01:16Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2560996b7ebb08cca7e20fbb182998bc2e0e2151'/>
<id>urn:sha1:2560996b7ebb08cca7e20fbb182998bc2e0e2151</id>
<content type='text'>
When executed command line is written to *Notmuch errors* buffer,
shell-quote-argument will backslash-escape any char that is not in
"POSIX filename characters" (i.e. matching "[^-0-9a-zA-Z_./\n]").

Currently in two emacs tests shell has expanded $PWD as part of
emacs variable, which will later be fed to #'shell-quote-argument
and finally written to ERROR file. If $PWD contained non-POSIX
filename characters, data in ERROR file will not match $PWD when
later comparing in shell. Therefore, in these two particular cases
the escaped $PWD is replaced with YYY in ERROR file and expected
content is adjusted accordingly.
</content>
</entry>
<entry>
<title>emacs: Fix search tagging races</title>
<updated>2013-11-09T00:52:00Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-10-24T15:19:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=96c0ce28f8288773870bff5a6ef1c43ff3a931f8'/>
<id>urn:sha1:96c0ce28f8288773870bff5a6ef1c43ff3a931f8</id>
<content type='text'>
This fixes races in thread-local and global tagging in notmuch-search
(e.g., "+", "-", "a", "*", etc.).  Previously, these would modify tags
of new messages that arrived after the search.  Now they only operate
on the messages that were in the threads when the search was
performed.  This prevents surprises like archiving messages that
arrived in a thread after the search results were shown.

This eliminates `notmuch-search-find-thread-id-region(-search)'
because these functions strongly encouraged racy usage.

This fixes the two broken tests added by the previous patch.
</content>
</entry>
<entry>
<title>emacs: Add known-broken tests for search tagging races</title>
<updated>2013-11-09T00:46:53Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-10-24T15:19:10Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=23fb842e04938513517adfed860d8b40ad910096'/>
<id>urn:sha1:23fb842e04938513517adfed860d8b40ad910096</id>
<content type='text'>
These tests check that both thread-local and global search tagging
operations are race-free.  They are currently known-broken because
they aren't race-free.
</content>
</entry>
<entry>
<title>emacs: Use notmuch tag --batch for large tag queries</title>
<updated>2013-11-09T00:35:13Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-10-24T15:19:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=730b8f61e0cf4b2e8c0f123c0914d472d6df38fc'/>
<id>urn:sha1:730b8f61e0cf4b2e8c0f123c0914d472d6df38fc</id>
<content type='text'>
(Unfortunately, it's difficult to first demonstrate this problem with
a known-broken test because modern Linux kernels have argument length
limits in the megabytes, which makes Emacs really slow!)
</content>
</entry>
<entry>
<title>test: Fix missing erase-buffer in emacs test</title>
<updated>2013-11-09T00:18:24Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-10-24T15:19:04Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c7e18288ae677b50344aed7d8f1746d1c72a30c2'/>
<id>urn:sha1:c7e18288ae677b50344aed7d8f1746d1c72a30c2</id>
<content type='text'>
The first subprocess error exit code test assumed the *Notmuch errors*
buffer would be empty.  Rather than assuming, make it so.
</content>
</entry>
<entry>
<title>emacs: Use streaming S-expr parser for search</title>
<updated>2013-06-01T12:00:40Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-06-01T00:40:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=89efd5717ab26cf626ceb67964b9b4af8820e52c'/>
<id>urn:sha1:89efd5717ab26cf626ceb67964b9b4af8820e52c</id>
<content type='text'>
In addition to being the Right Thing to do, this noticeably improves
the time taken to display the first page of search results, since it's
roughly an order of magnitude faster than the JSON parser.
Interestingly, it does *not* significantly improve the time to
completely fill a large search buffer because for large search
buffers, the cost of creating author invisibility overlays and
inserting text (which slows down with more overlays) dominates.
However, the time required to display the first page of results is
generally more important to the user experience.
</content>
</entry>
<entry>
<title>emacs: Use async process helper for search</title>
<updated>2013-06-01T11:56:16Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-06-01T00:40:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=08fde50bf3a4c54f6413aff4052e0d84392463f9'/>
<id>urn:sha1:08fde50bf3a4c54f6413aff4052e0d84392463f9</id>
<content type='text'>
Previously, search started the async notmuch process directly.  Now,
it uses `notmuch-start-notmuch'.  This simplifies the process sentinel
a bit and means that we no longer have to worry about errors
interleaved with the JSON output.

We also update the tests of Emacs error handling, since the error
output is now separated from the search results buffer.
</content>
</entry>
<entry>
<title>emacs: Simplify MIME part command implementation</title>
<updated>2013-06-01T01:01:02Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-05-30T01:13:46Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=1546387d723ec47cd281f3c2bf6da2fddf18c045'/>
<id>urn:sha1:1546387d723ec47cd281f3c2bf6da2fddf18c045</id>
<content type='text'>
This unifies the part button actions and the underlying part action
functions into single interactive command that simply applies to the
part containing point using the just-added part p-list text property
instead of button properties.  Since all part actions can be performed
by applying the appropriate mm function to an mm-handle, this patch
abstracts out the creation of mm handles, making the implementations
of the part commands trivial.  This also eliminates our special
handling for part save in favor of using the appropriate mm function.

This necessarily modifies the way we handle the default part button
action, but in a way that does not change the meaning of the
notmuch-show-part-button-default-action defcustom.

Since these commands are no longer specific to buttons, this patch
eliminates the extra metadata stored with each button.  This also
eliminates one rather special-purpose macro for a collection of
general purpose part handling utilities.
</content>
</entry>
</feed>
