<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/test/emacs, branch 0.17_rc2</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.17_rc2</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.17_rc2'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2013-11-24T00:25:29Z</updated>
<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>
<entry>
<title>emacs: Use the minibuffer for CLI error reporting</title>
<updated>2013-01-07T02:47:35Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-01-03T21:47:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=401dbebd4803477563eff03d719605ed37a8e44d'/>
<id>urn:sha1:401dbebd4803477563eff03d719605ed37a8e44d</id>
<content type='text'>
We recently switched to popping up a buffer to report CLI errors, but
this was too intrusive, especially for transient errors and especially
since we made fewer things ignore errors.  This patch changes this to
display a basic error message in the minibuffer (using Emacs' usual
error handling path) and, if there are additional details, to log
these to a separate error buffer and reference the error buffer from
the minibuffer message.  This is more in line with how Emacs typically
handles errors, but makes the details available to the user without
flooding them with the details.

Given this split, we pare down the basic message and make it more
user-friendly, and also make the verbose message even more detailed
(and more debugging-oriented).
</content>
</entry>
<entry>
<title>emacs: Use --format-version for search, show, and reply</title>
<updated>2012-12-16T21:22:26Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-12-16T03:17:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2cdb3f54f71e5e415a930aaa36452ffe1db04d06'/>
<id>urn:sha1:2cdb3f54f71e5e415a930aaa36452ffe1db04d06</id>
<content type='text'>
</content>
</entry>
</feed>
