<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/emacs/Makefile.local, branch 0.18</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.18</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.18'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2014-04-13T11:42:51Z</updated>
<entry>
<title>emacs: add $(srcdir) to notmuch-version.el.tmpl dependency</title>
<updated>2014-04-13T11:42:51Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2014-04-12T11:59:46Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c2048addd40be3047231c786dd8162cfb80a8181'/>
<id>urn:sha1:c2048addd40be3047231c786dd8162cfb80a8181</id>
<content type='text'>
This fixes out-of-tree build when generating emacs/notmuch-version.el.
</content>
</entry>
<entry>
<title>emacs: add notmuch-version.el.tmpl and create notmuch-version.el from it</title>
<updated>2014-04-11T02:25:36Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2014-03-19T20:37:10Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=cab1415a94f09c529ca7323904c5a159c996cbe0'/>
<id>urn:sha1:cab1415a94f09c529ca7323904c5a159c996cbe0</id>
<content type='text'>
The notmuch cli program and emacs lisp versions may differ (especially
in remote usage). It helps to resolve problems if we can determine
the versions of notmuch cli and notmuch emacs mua separately.

The build process now creates notmuch-version.el from template file
by filling the version info to notmuch-emacs-version variable.
</content>
</entry>
<entry>
<title>emacs: Avoid rebuilding .eldeps even when there's nothing to do</title>
<updated>2014-02-22T01:07:23Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2014-02-20T04:24:24Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7c0a1b4d602fa0ff612ffcd7a463d11764a4ea09'/>
<id>urn:sha1:7c0a1b4d602fa0ff612ffcd7a463d11764a4ea09</id>
<content type='text'>
Previously, we updated .eldeps only if the file contents actually
needed to change.  This was done to avoid unnecessary make restarts
(if the .eldeps rule changes the mtime of .eldeps, make has to restart
to collect the new dependencies).  However, this meant that, after a
modification to any .el file that did not change dependencies, .eldeps
would always be out of date, so every make invocation would run the
.eldeps rule, which is both expensive because it starts up Emacs and
noisy.  This was true even when there was nothing to do.  E.g.,

$ make clean &amp;&amp; make
...
$ touch emacs/notmuch-lib.el &amp;&amp; make
...
$ make
Use "make V=1" to see the verbose compile lines.
EMACS emacs/.eldeps
make: Nothing to be done for `all'.
$ make
Use "make V=1" to see the verbose compile lines.
EMACS emacs/.eldeps
make: Nothing to be done for `all'.

Fix this by replacing .eldeps with two files with identical content.
One tracks the mtime of the dependency information and triggers the
Emacs call to rebuild dependencies only when it may be necessary.  The
other tracks the content only; this rule over-triggers in the same way
the old rule did, but this rule is cheap and quiet.
</content>
</entry>
<entry>
<title>emacs: Makefile.local: HAVE_EMACS usage fixes</title>
<updated>2014-01-13T18:12:05Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2013-08-27T19:00:47Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f2a3d9799d68d567d2bdd43827ac158885a4c11b'/>
<id>urn:sha1:f2a3d9799d68d567d2bdd43827ac158885a4c11b</id>
<content type='text'>
If we don't have emacs, disable targets that used EMACS while doing
the recipes of that target.

If we do have emacs, make install-emacs depend on *.elc files,
as making the target will attempt to install those.
</content>
</entry>
<entry>
<title>emacs: add tree to the makefile</title>
<updated>2013-11-07T11:39:52Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-10-29T22:55:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6e56912d1320c6500190b31240f937dedadf0714'/>
<id>urn:sha1:6e56912d1320c6500190b31240f937dedadf0714</id>
<content type='text'>
</content>
</entry>
<entry>
<title>emacs: Streaming S-expression parser</title>
<updated>2013-06-01T11:56:25Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-06-01T00:40:06Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b89ffba3012603d3eb9b1e144bf0a81480588ea3'/>
<id>urn:sha1:b89ffba3012603d3eb9b1e144bf0a81480588ea3</id>
<content type='text'>
This provides the same interface as the streaming JSON parser, but
reads S-expressions incrementally.  The only difference is that the
`notmuch-sexp-parse-partial-list' helper does not handle interleaved
error messages (since we now have the ability to separate these out at
the invocation level), so it no longer takes an error function and
does not need to do the horrible resynchronization that the JSON
parser had to.

Some implementation improvements have been made over the JSON parser.
This uses a vector instead of a list for the parser data structure,
since this allows faster access to elements (and modern versions of
Emacs handle storage of small vectors efficiently).  Private functions
follow the "prefix--name" convention.  And the implementation is much
simpler overall because S-expressions are much easier to parse.
</content>
</entry>
<entry>
<title>emacs: Compute build dependencies to fix byte compile issues</title>
<updated>2013-05-23T11:06:12Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-05-17T20:13:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=68720286ebc5bf53c2b89a3486b7fcd691443783'/>
<id>urn:sha1:68720286ebc5bf53c2b89a3486b7fcd691443783</id>
<content type='text'>
Previously, we simply byte compiled each Elisp source file
independently.  This is actually the wrong thing to do and can lead to
issues with macros and performance issues with substitutions because
1) when the byte compiler encounters a (require 'x) form, it will load
x.elc in preference to x.el, even if x.el is newer, and as a result
may load old macro and substitution definitions and 2) if we update a
macro or substitution definition in one file, we currently won't
re-compile other files that depend on the file containing the
definition.

This patch addresses these problems by computing make dependency rules
from the (require 'x) forms in the Elisp source files, which we inject
into make's dependency database.
</content>
</entry>
<entry>
<title>emacs: create notmuch-tag.el, and move appropriate functions from notmuch.el</title>
<updated>2012-04-29T20:39:37Z</updated>
<author>
<name>Jameson Graef Rollins</name>
<email>jrollins@finestructure.net</email>
</author>
<published>2012-04-14T18:52:50Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=eb8feb16664fd0296ea0e07f4924c2a87a5b3bc3'/>
<id>urn:sha1:eb8feb16664fd0296ea0e07f4924c2a87a5b3bc3</id>
<content type='text'>
Tagging functions are used in notmuch.el, notmuch-show.el, and
notmuch-message.el.  There are enough common functions for tagging
that it makes sense to put them all in their own library.

No code is modified, just moved around.
</content>
</entry>
<entry>
<title>emacs: Improved printing support.</title>
<updated>2012-01-21T12:38:38Z</updated>
<author>
<name>David Edmondson</name>
<email>dme@dme.org</email>
</author>
<published>2012-01-18T08:00:21Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=05f4904616b95a17332d7573e44a4aad2dc4033e'/>
<id>urn:sha1:05f4904616b95a17332d7573e44a4aad2dc4033e</id>
<content type='text'>
Add various functions to print notmuch messages and tie them together
with a simple frontend.

Add a binding ('#') in `notmuch-show-mode' to print the current
message.

one trailing space removed by db.
</content>
</entry>
<entry>
<title>Separate Emacs misc. files dir. from Emacs code dir.</title>
<updated>2011-10-28T17:07:44Z</updated>
<author>
<name>Amadeusz Żołnowski</name>
<email>aidecoe@aidecoe.name</email>
</author>
<published>2011-10-25T08:07:02Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e6d85fb97d86e103c2c62cd215f54a3fe37856d0'/>
<id>urn:sha1:e6d85fb97d86e103c2c62cd215f54a3fe37856d0</id>
<content type='text'>
New option --emacsetcdir was added, but it's set default to the same
value as --emacslispdir for backward compatibility.
</content>
</entry>
</feed>
