<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/notmuch-show.c, branch 0.5</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.5</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.5'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2010-11-06T19:03:51Z</updated>
<entry>
<title>Rename "notmuch cat" to "notmuch show --format=raw"</title>
<updated>2010-11-06T19:03:51Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-11-06T19:03:51Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=81d3bd3670f570c9aeb7e1f3b317b86194ee4426'/>
<id>urn:sha1:81d3bd3670f570c9aeb7e1f3b317b86194ee4426</id>
<content type='text'>
This is part of an effort to avoid proliferation of excessive
top-level notmuch commands. Also, "raw" better captures the
functionality here, (as opposed to "cat" which is a fairly oblique
reference to a bad Unix abbreviation whose metaphor doesn't work here
since "notmuch cat" operates only on a single message and hence cannot
"con'cat'enate" anything).
</content>
</entry>
<entry>
<title>Add 'cat' subcommand</title>
<updated>2010-11-06T00:51:18Z</updated>
<author>
<name>Michal Sojka</name>
<email>sojkam1@fel.cvut.cz</email>
</author>
<published>2010-10-22T09:28:03Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d39d0e55f09d8cc2ba9683ec5622068bb7373f2a'/>
<id>urn:sha1:d39d0e55f09d8cc2ba9683ec5622068bb7373f2a</id>
<content type='text'>
This command outputs a raw message matched by search term to the
standard output. It allows MUAs to access the messages for piping,
attachment manipulation, etc. by running notmuch cat rather then
directly access the file. This will simplify the MUAs when they need
to operate on a remote database.

Edited-by: Carl Worth &lt;cworth@cworth.org&gt;: Remove trailing whitespace,
add missing "test_done" to new test script to avoid "Unexpected exit"
error.
</content>
</entry>
<entry>
<title>notmuch show: Add a --format=mbox option</title>
<updated>2010-06-09T02:45:54Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-06-09T02:45:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=33cd247dc183708cf710d1afcbc0c3ed6ac6e2b7'/>
<id>urn:sha1:33cd247dc183708cf710d1afcbc0c3ed6ac6e2b7</id>
<content type='text'>
We don't love the mbox format, but it's still sometimes the most
practical way to share a collection of messages as a single file.

Here we implement the "mboxrd" variant of the mbox file format. This
variant applies reversible escaping by prefixing a '&gt;' character to
all lines in the email messages matching the regular expression:

	"^&gt;*From "

This allows the escaping to be reliably removed. A reader should remove
a '&gt;' from any line matching the regular expression:

	"^&gt;&gt;*From "

More details on the mboxrd formats (and others as well) can be found
here:

http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html
</content>
</entry>
<entry>
<title>Fix minor style issues in show_part_content function.</title>
<updated>2010-06-05T15:47:13Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-06-05T15:47:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2ead072e85315387c0cc3c2236cdedb59503881e'/>
<id>urn:sha1:2ead072e85315387c0cc3c2236cdedb59503881e</id>
<content type='text'>
I was recently editing the code in this function and decided to clean
it up a bit.
</content>
</entry>
<entry>
<title>Avoid giving GMime a NULL MIME-stream filter.</title>
<updated>2010-06-05T15:40:26Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-06-05T15:40:26Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9c7668bdb51e4739eecda83b6452ef668ed0efa3'/>
<id>urn:sha1:9c7668bdb51e4739eecda83b6452ef668ed0efa3</id>
<content type='text'>
Micah Anderson reported an issue where a message failed to display in
the emacs interface, (it instead gave an error, "json-read-string: Bad
string format").

Micah tracked this down to the json output from "notmuch show" being
interrupted by a GMime error message:

	gmime-CRITICAL **: g_mime_stream_filter_add: assertion
	`GMIME_IS_FILTER (filter)

I tracked this down further to notmuch passing a NULL value to
g_mime_stream_filter_add. And this was due to calling
g_mime_filter_charset_new with a value of "unknown-8bit".

So we add a test message withe a Conten-Type of "text/plain;
charset=unknown-8bit" from Micah's message. Then we fix "notmuch show"
to test for NULL before calling g_mime_stream_filter_add. Bug fixed.
</content>
</entry>
<entry>
<title>json: Replace `date_unix' with `timestamp' in show output</title>
<updated>2010-04-22T21:52:32Z</updated>
<author>
<name>David Edmondson</name>
<email>dme@dme.org</email>
</author>
<published>2010-04-16T11:47:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=afb8c9ca62ef205b83510b96ffe20aa85f1fb83f'/>
<id>urn:sha1:afb8c9ca62ef205b83510b96ffe20aa85f1fb83f</id>
<content type='text'>
Search output was already using `timestamp' for a very similar field,
so follow that.
</content>
</entry>
<entry>
<title>notmuch: Correctly terminate text/* parts in JSON output</title>
<updated>2010-04-05T17:57:23Z</updated>
<author>
<name>David Edmondson</name>
<email>dme@dme.org</email>
</author>
<published>2010-04-05T09:33:19Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9eb360329929258fb243cfb5095989ba45391109'/>
<id>urn:sha1:9eb360329929258fb243cfb5095989ba45391109</id>
<content type='text'>
Text parts returned by `g_mime_stream_mem_get_byte_array()' are not
NULL terminated strings - add `json_quote_chararray()' to handle them
correctly.
</content>
</entry>
<entry>
<title>notmuch: Add a 'part' subcommand</title>
<updated>2010-04-02T08:43:03Z</updated>
<author>
<name>David Edmondson</name>
<email>dme@dme.org</email>
</author>
<published>2010-03-24T07:21:20Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2e9c7aba99598eafd7b5fc52897da14ea13af216'/>
<id>urn:sha1:2e9c7aba99598eafd7b5fc52897da14ea13af216</id>
<content type='text'>
A new 'part' subcommand allows the user to extract a single part from
a MIME message. Usage:
  notmuch part --part=&lt;n&gt; &lt;search terms&gt;
The search terms must match only a single message
(e.g. id:foo@bar.com). The part number specified refers to the part
identifiers output by `notmuch show'. The content of the part is
written the stdout with no formatting or identification marks. It is
not JSON formatted.
</content>
</entry>
<entry>
<title>notmuch-show: Add unix and relative dates to the JSON output</title>
<updated>2010-04-02T08:25:38Z</updated>
<author>
<name>David Edmondson</name>
<email>dme@dme.org</email>
</author>
<published>2010-03-23T09:40:48Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=930a47935fcd87ff4ae6c0c14279fd136f5bd78b'/>
<id>urn:sha1:930a47935fcd87ff4ae6c0c14279fd136f5bd78b</id>
<content type='text'>
Include a 'date_unix' and 'date_relative' field in the JSON output for
each message. 'date_relative' can be used by a UI implementation,
whereas 'date_unix' is useful when scripting.
</content>
</entry>
<entry>
<title>Setup the GMimeStream only when needed</title>
<updated>2010-04-01T21:27:01Z</updated>
<author>
<name>nstraz@redhat.com</name>
<email>nstraz@redhat.com</email>
</author>
<published>2010-04-01T13:47:21Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=685cfcc9e876e9c611d2cb03e8ebd417a7f165b7'/>
<id>urn:sha1:685cfcc9e876e9c611d2cb03e8ebd417a7f165b7</id>
<content type='text'>
I ran into this while looking at the vim plugin.  Vim's system() call
redirects output to a file and it was missing many of the part{ lines.

If stream_stdout is setup too early, it will overwrite the part start
when notmuch is redirected to a file.

Reviewed-by Carl Worth &lt;cworth@cworth.org&gt;: GMime is calling fseek
before every write to reset the FILE* to the position it believes is
correct based on the writes it has seen. Our code was getting
incorrect results because our GMime writes were interleaved with
non-GMime writes via printf.

The bug appears when writing to a file because it's seekable, but not
when writing to a pipe which is not.
</content>
</entry>
</feed>
