<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/Makefile.local, branch 0.14</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.14</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.14'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2012-08-12T19:28:08Z</updated>
<entry>
<title>cli: Remove now-unused json.c</title>
<updated>2012-08-12T19:28:08Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-08-07T13:04:27Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d41946ea781caaf9652d037caa5f65a93a199b80'/>
<id>urn:sha1:d41946ea781caaf9652d037caa5f65a93a199b80</id>
<content type='text'>
The string buffer quoting functions in json.c have been superseded by
the new sprinter interface and are no longer used.  Remove them.
</content>
</entry>
<entry>
<title>build system: remove configure output in Make distclean.</title>
<updated>2012-08-03T00:10:15Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2012-08-02T12:30:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=719897cdc330a41c22271fded8d911035c275dec'/>
<id>urn:sha1:719897cdc330a41c22271fded8d911035c275dec</id>
<content type='text'>
Create a variable DISTCLEAN which contains a list of things to
clean in the distclean target (in addition to running the clean
target).

The deleted comment seems to be false these days, since we do
create files during configuration.

Use "rm -rf" here as well in case we want to add directories to
DISTCLEAN.
</content>
</entry>
<entry>
<title>build system: remove directories created by tests in "make clean"</title>
<updated>2012-08-03T00:09:45Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2012-08-02T12:27:26Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8a745d310f966194e82f12f6453f05cc877379d6'/>
<id>urn:sha1:8a745d310f966194e82f12f6453f05cc877379d6</id>
<content type='text'>
These extra directories cause problems for building on Debian
twice in a row.

In order to remove directories, we need to us "rm -rf" instead of
"rm -f". So now we should be extra careful what we add to the
variable CLEAN.
</content>
</entry>
<entry>
<title>Add structured output formatter for JSON and plain text (but don't use them yet).</title>
<updated>2012-07-24T12:26:59Z</updated>
<author>
<name>craven@gmx.net</name>
<email>craven@gmx.net</email>
</author>
<published>2012-07-23T10:39:45Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=36522fca1cac6ca23c2c4c0280e3e20e96f7bfbb'/>
<id>urn:sha1:36522fca1cac6ca23c2c4c0280e3e20e96f7bfbb</id>
<content type='text'>
Using the new structured printer support in sprinter.h, implement
sprinter_json_create, which returns a new JSON structured output
formatter. The formatter prints output similar to the existing JSON, but
with differences in whitespace (mostly newlines, --output=summary prints
the entire message summary on one line, not split across multiple lines).

Also implement a "structured" formatter for plain text that prints
prefixed strings, to be used with notmuch-search.c plain text output.
</content>
</entry>
<entry>
<title>cli: new crypto structure to store crypto contexts and parameters, and functions to support it</title>
<updated>2012-06-10T23:05:02Z</updated>
<author>
<name>Jameson Graef Rollins</name>
<email>jrollins@finestructure.net</email>
</author>
<published>2012-05-26T18:45:41Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e3be5afbad1bc7a10d9c38f2c2eb611f5ba3cccb'/>
<id>urn:sha1:e3be5afbad1bc7a10d9c38f2c2eb611f5ba3cccb</id>
<content type='text'>
This new structure, notmuch_crypto_t, keeps all relevant crypto
contexts and parameters together, and will make it easier to pass the
stuff around and clean it up.  The name of the crypto context inside
this new struct will change, to reflect that it is actually a GPG
context, which is a sub type of Crypto context.  There are other types
of Crypto contexts (Pkcs7 in particular, which we hope to support) so
we want to be clear.

The new crypto.c contains functions to return the proper context from
the struct for a given protocol (and initialize it if needed), and to
cleanup a struct by releasing the crypto contexts.
</content>
</entry>
<entry>
<title>Record dependencies during build instead of before</title>
<updated>2012-04-15T12:42:15Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-04-11T20:38:39Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=cddc27034687e1c3bc52204314dfa46219b5d6f9'/>
<id>urn:sha1:cddc27034687e1c3bc52204314dfa46219b5d6f9</id>
<content type='text'>
Previously, the makefile created dependency files in a separate, first
pass.  In particular, include-ing the dependency files would cause
make to attempt to rebuild those files using the dependency-generation
rules in the makefile.  Unfortunately, this approach required obtuse
rules and silently delayed the start of the build process (by quite a
bit on a clean tree without any dependency files).  Worse, this
required the dependency files to themselves depend on all of the
headers the source file depended on, which meant that, if a header
file was removed, the depedency file could not be updated because of a
missing dependency (!), which would cause make to silently fail.

This patch eliminates the dependency generation rules and instead
generates dependency files as a side-effect of the regular build rule.
On the first build, we don't need to know the dependencies beforehand;
the object file doesn't exist, so it will be built anyway.  On
subsequent builds, if a header file is updated, the dependency rules
generated by the previous build will force a rebuild.  If a source
file is updated, the dependency rules may be stale, but it doesn't
matter because the updated source file will force a rebuild.

In the final case above, the stale dependency rules may refer to a
header file that no longer exists but is also no longer needed.  In
order to prevent this from breaking the build, we also pass gcc the
-MP option, which generates phony targets for every depended-on header
file, so make won't complain if it can't find them during a later
build.
</content>
</entry>
<entry>
<title>Remove show-message.c</title>
<updated>2012-04-15T12:42:15Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-04-08T00:57:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ae59f4ab4d6029dd1c3847d02a5928de207f7aa5'/>
<id>urn:sha1:ae59f4ab4d6029dd1c3847d02a5928de207f7aa5</id>
<content type='text'>
There are no more calls to show_message_body.
</content>
</entry>
<entry>
<title>Fix dependency generation for CLI sources</title>
<updated>2012-01-19T13:16:50Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2012-01-15T20:20:23Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=edd25db019ada82b2c7499fce337dbed033205cf'/>
<id>urn:sha1:edd25db019ada82b2c7499fce337dbed033205cf</id>
<content type='text'>
Previously, the dependency file list was generated before the CLI
sources were added to SRCS, so dependency files weren't generated for
CLI sources.  This moves that code to after the CLI sources are added.
</content>
</entry>
<entry>
<title>build-system: update for split man pages</title>
<updated>2011-12-31T19:16:32Z</updated>
<author>
<name>David Bremner</name>
<email>bremner@debian.org</email>
</author>
<published>2011-12-20T20:35:13Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=af12e5a3ac887cd7dde344f67d9d43688e78e295'/>
<id>urn:sha1:af12e5a3ac887cd7dde344f67d9d43688e78e295</id>
<content type='text'>
- We have to remove the installation of notmuch.1.gz from the top
level Makefile.local.

- Man pages with multiple names are handled by making relative
  symlinks in the install-man target.

- update version tests and convenience rules for split man pages

  The man page version test still only checks notmuch.1, but the
  location is updated.

  update-man-versions is longer than the one-line previously in
  update-versions mainly because I decided to take the high road and
  stick to POSIX sed (thus, no sed -i). The sed regex itself is more
  complicated to cope with variations in the headers.
</content>
</entry>
<entry>
<title>Introduce a generic tree-like abstraction for MIME traversal.</title>
<updated>2011-12-26T02:19:12Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2011-12-24T18:52:44Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bb189220a323e3140198161234ed54bf98175469'/>
<id>urn:sha1:bb189220a323e3140198161234ed54bf98175469</id>
<content type='text'>
This wraps all of the complex MIME part handling in a single, simple
function that gets part N from *any* MIME object, so traversing a MIME
part tree becomes a two-line for loop.  Furthermore, the MIME node
structure provides easy access to envelopes for message parts as well
as cryptographic information.

This code is directly derived from the current show_message_body code
(much of it is identical), but the control relation is inverted:
instead of show_message_body controlling the traversal of the MIME
structure and invoking callbacks, the caller controls the traversal of
the MIME structure.
</content>
</entry>
</feed>
