<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/notmuch-show.c, branch 0.2</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.2</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.2'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2010-04-05T17:57:23Z</updated>
<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>
<entry>
<title>notmuch-show: add tags to json output</title>
<updated>2010-03-11T12:30:46Z</updated>
<author>
<name>Sebastian Spaeth</name>
<email>Sebastian@SSpaeth.de</email>
</author>
<published>2010-03-11T12:11:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d30049d2b9fd5eb113cd99e88d6fa7b40c36d3c5'/>
<id>urn:sha1:d30049d2b9fd5eb113cd99e88d6fa7b40c36d3c5</id>
<content type='text'>
The previous json patches forgot to add the notmuch tags to the json
output. This is inconsistent to the text output so here they are. We
just output a 'tags' field that sends notmuch tags as a json array.

Signed-off-by: Sebastian Spaeth &lt;Sebastian@SSpaeth.de&gt;
</content>
</entry>
<entry>
<title>notmuch show: Don't show empty headers.</title>
<updated>2010-03-09T18:12:58Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-03-09T18:12:58Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2303d9366e2a4f18173983ab02a0c4d9b05d607c'/>
<id>urn:sha1:2303d9366e2a4f18173983ab02a0c4d9b05d607c</id>
<content type='text'>
This is a fairly old regression. There has always been code to avoid
printing empty headers (such as Cc or Bcc with no values), but it has
been broken since notmuch_message_get_header was changed to return
an empty string rather than a NULL pointer for these fields.
</content>
</entry>
<entry>
<title>lib: Rename iterator functions to prepare for reverse iteration.</title>
<updated>2010-03-09T17:22:29Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2010-03-09T17:22:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4e5d2f22db290a830c0267f34b519c6138af00ed'/>
<id>urn:sha1:4e5d2f22db290a830c0267f34b519c6138af00ed</id>
<content type='text'>
We rename 'has_more' to 'valid' so that it can function whether
iterating in a forward or reverse direction. We also rename
'advance' to 'move_to_next' to setup parallel naming with
the proposed functions 'move_to_first', 'move_to_last', and
'move_to_previous'.
</content>
</entry>
<entry>
<title>Add an "--format=(json|text)" command-line option to both notmuch-search and notmuch-show.</title>
<updated>2010-02-23T20:01:12Z</updated>
<author>
<name>Scott Robinson</name>
<email>scott@quadhome.com</email>
</author>
<published>2009-12-31T15:17:40Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6ce2bf68f53fec4302121763e588c33c7cd86a9c'/>
<id>urn:sha1:6ce2bf68f53fec4302121763e588c33c7cd86a9c</id>
<content type='text'>
In the case of notmuch-show, "--format=json" also implies
"--entire-thread" as the thread structure is implicit in the emitted
document tree.

As a coincidence to the implementation, multipart message ID numbers are
now incremented with each part printed. This changes the previous
semantics, which were unclear and not necessary related to the actual
ordering of the message parts.
</content>
</entry>
<entry>
<title>notmuch show: Preserve thread-ordering and nesting without --entire-thread</title>
<updated>2009-12-03T00:14:41Z</updated>
<author>
<name>Carl Worth</name>
<email>cworth@cworth.org</email>
</author>
<published>2009-12-03T00:05:23Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=115b7c15b88a4969715f35252229f2a68a09083f'/>
<id>urn:sha1:115b7c15b88a4969715f35252229f2a68a09083f</id>
<content type='text'>
When "notmuch show" was recently modified to not show an entire thread
by default, it also lost all capability to properly order the messages
in a thread and to print their proper depth. For example, the command:

	notmuch show thread:6d5e3e276461188c5778c9f219f63782

had dramatically different output than:

	notmuch show --entire-thread thread:6d5e3e276461188c5778c9f219f63782

even though both commands were selecting and displaying the same set
of messages. The first command would diplay them "flat", (all with
depth:0), and in strict date order; while the second command would
display them "nested" (with depth based on threading), and in thread
order.

We now fix "notmuch show" without the --entire-thread option to also
display nested and thread-ordered messages.

If some messages in the thread are not included in the displayed
results, then they are not counted when computing depth values.
</content>
</entry>
<entry>
<title>notmuch show: limit display to only matching messages</title>
<updated>2009-12-02T22:32:14Z</updated>
<author>
<name>Bart Trojanowski</name>
<email>bart@jukie.net</email>
</author>
<published>2009-11-28T02:49:39Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d50c67d53bef32e1d1a5a863ef161508acde6bc4'/>
<id>urn:sha1:d50c67d53bef32e1d1a5a863ef161508acde6bc4</id>
<content type='text'>
This patch changes the default behaviour of notmuch show to display only
messages that match the search expression.  However, --entire-thread
option is provided to display all messages in threads that matched the
search expression.

It is deemed that will be more useful for human users on the command line.
Scripts can be modified to include the --entire-thread option so that they
can display all messages once more.

Example:

$ notmuch search subject:git AND thread:23d99d0f364f93e90e15df8b42eddb5b
thread:23d99d0f364f93e90e15df8b42eddb5b      July 31 [4/12] Johan Herland; [RFCv2 00/12] Foreign VCS helper program for CVS repositories (inbox unread)

Note that in this thread 4 out of 12 messages matched.  The default show
behaviour is to show only those messages that match:

$ notmuch show subject:git AND thread:23d99d0f364f93e90e15df8b42eddb5b | grep 'message{' | wc -l
4

With the --entire-thread option the output will contain all dozen
messages:

$ notmuch show --entire-thread subject:git AND thread:23d99d0f364f93e90e15df8b42eddb5b | grep 'message{' | wc -l
12

Signed-off-by: Bart Trojanowski &lt;bart@jukie.net&gt;
</content>
</entry>
</feed>
