6 years agoEnable Travis-CI as a backup continuous integration service.
Wael M. Nasreddine [Fri, 23 May 2014 17:51:48 +0000 (10:51 -0700)]
Enable Travis-CI as a backup continuous integration service.

You can access the dashboard at

6 years agoemacs: tree/show remove duplicate function
Mark Walters [Sat, 7 Jun 2014 09:51:08 +0000 (10:51 +0100)]
emacs: tree/show remove duplicate function

tree overrides notmuch-show-get-prop so that it can use many of the
utility function directly. Now that tree is in mainline the version
from tree can be moved to show and the original overridden show
version dropped.

6 years agonmbug: Add a git_with_status helper function
W. Trevor King [Sun, 6 Jul 2014 20:40:19 +0000 (13:40 -0700)]
nmbug: Add a git_with_status helper function

Sometimes we want to catch Git errors and handle them, instead of
dying with an error message.  This lower-level version of git() allows
us to get the error status when we want it.

6 years agoemacs: set default in notmuch-read-query
Mark Walters [Mon, 23 Jun 2014 21:06:46 +0000 (22:06 +0100)]
emacs: set default in notmuch-read-query

This adds the current query as a "default value" to
notmuch-read-qeury. The default value is available via a down-arrow as
opposed to history which is available from the up arrow.

Note if a user presses return in the minibuffer this value is not

The implementation is simple but notmuch-read-query could be called
via notmuch-search/notmuch-tree etc from any buffer so it makes sense
to put the decision of how to extract the current query in
notmuch-read-query rather than in each of the callers.

6 years agonmbug-status: Optionally load the header and footer templates from the config
W. Trevor King [Sat, 31 May 2014 22:20:27 +0000 (15:20 -0700)]
nmbug-status: Optionally load the header and footer templates from the config

For folks that don't like the default templates for whatever reason.

6 years agonmbug-status: Add the time to the footer's build-date
W. Trevor King [Sat, 31 May 2014 22:20:26 +0000 (15:20 -0700)]
nmbug-status: Add the time to the footer's build-date

Our repository [1] has a post-update hook that rebuilds the status
page after each push.  Since that may happen several times a day, we
might as well show the build time (as well as the date) in the footer.

The trailing 'Z' is the ISO 8601 designator for UTC.  Now that we're
showing times, it's nice to be explicit about the timezone we're

The rename from date -> datetime gives us backward-compatibility for
folks that *do* only want the date.  We keep the old date formatting
to support those folks.


6 years agonmbug-status: Factor out header/footer context into a shared dict
W. Trevor King [Sat, 31 May 2014 22:20:25 +0000 (15:20 -0700)]
nmbug-status: Factor out header/footer context into a shared dict

Rather than splitting this context into header-only and footer-only
groups, just dump it all in a shared dict.  This will make it easier
to eventually split the header/footer templates out of this script
(e.g. if we want to load them from the config file).

6 years agoMove the generated date from the top of the page to the footer.
Carl Worth [Sat, 31 May 2014 22:20:24 +0000 (15:20 -0700)]
Move the generated date from the top of the page to the footer.

It's useful reference information, but anyone who wants it will look
for and find it.  We don't need this front-and-center.  Follow the
pattern set by our header template with a triple-quoted string.

The gray <hr> styling is less agressive.  IE uses 'color' for drawing
the rule, while Gecko and Opera use the border or 'background-color'


6 years agoAdd a docstring describing the program
Carl Worth [Sat, 31 May 2014 22:20:23 +0000 (15:20 -0700)]
Add a docstring describing the program

Prefer a docstring to a header comment so we can use it as the
ArgumentParser description (formatted with 'nmbug-status --help').
Script readers still have it near the top of the file.  Since it's a
docstring, use PEP 257's summary-line-and-body format [1].


6 years agoAdd explicit license information
Carl Worth [Sat, 31 May 2014 22:20:22 +0000 (15:20 -0700)]
Add explicit license information

It's nice to have for situations where this script is found outside of
the notmuch source repository (e.g. after being installed).

6 years agoemacs: search archive tweak
Mark Walters [Fri, 6 Jun 2014 12:48:33 +0000 (13:48 +0100)]
emacs: search archive tweak

notmuch-search-archive-thread moves to the next line after tagging. In
the normal case this makes sense, but if the region is active, it tags
the whole region and then it doesn't really. Thus only move to the
next line if region is not active.

6 years agotest: redirect gdb output to a file.
David Bremner [Tue, 6 May 2014 13:06:28 +0000 (22:06 +0900)]
test: redirect gdb output to a file.

It seems that the normal output redirection in the test suite doesn't
work for gdb, but it's nice to have output in a file for debugging.

6 years agodevel: news2wiki to recognize yyyy-mm-dd or UNRELEASED as release date
Tomi Ollila [Wed, 7 May 2014 19:33:38 +0000 (22:33 +0300)]
devel: news2wiki to recognize yyyy-mm-dd or UNRELEASED as release date

The yyyy-mm-dd (actually \d\d\d\d-\d\d-\d\d) for a bit more restrictive
(and self-documentative) than the \w\w\w\w-... that used to be there and
UNRELEASED so that developers can test the latest NEWS converted to mdwn
format before submitting NEWS patches.

6 years agoemacs: show: add an update seen function to post-command-hook
Mark Walters [Fri, 9 May 2014 00:20:08 +0000 (01:20 +0100)]
emacs: show: add an update seen function to post-command-hook

Add a function for updating seen messages to the
post-command-hook. This function calls a customizable (by eg
defcustom) function with parameters the start and end of the current
window and that function can decide what to mark read based on that
and the current point.

Since this is in the post-command-hook it should get called after most
user actions (exceptions include user resizing the window) so it
should be possible to make sure the seen status gets updated whether
the user uses notmuch commands like next-message or normal emacs
commands like scroll-up.

It removes all of the old mark read/seen points but introduces a
simple example function that just marks the current message read if it
is open. This function has one small subtlety: it makes sure it
doesn't mark the same message read twice (in the same instance of the
same buffer); otherwise the post-command-hook makes it impossible for
a user to manually mark a message unread.

This fixes the current bugs (imo) that closed messages can be marked
read, and that opening a closed message does not mark it read.

Another advantage of using the post-command-hook any programmatic use
with point passing through a message will not mark it read.

6 years agotest: make test_emacs call post-command-hook
David Bremner [Fri, 9 May 2014 00:20:07 +0000 (01:20 +0100)]
test: make test_emacs call post-command-hook

The unread/read changes will use the post-command-hook. test_emacs
does not call the post-command-hook. This adds a notmuch-test-progn
which takes a list of commands as argument and executes them in turn
but runs the post-command-hook after each one.

The caller can batch operations (ie to stop post-command-hook from
being interleaved) by wrapping the batch of operations inside a progn.

We also explicitly run the post-command-hook before getting the output
from a test; this makes sense as this will be a place the user would
be seeing the information.

6 years agoemacs: Fix indentation.
David Edmondson [Fri, 9 May 2014 08:22:21 +0000 (09:22 +0100)]
emacs: Fix indentation.

Fix the indentation of `notmuch-show-mode-map'.

6 years agolib: Start all function names in notmuch-private.h with
Charles Celerier [Tue, 13 May 2014 09:44:05 +0000 (05:44 -0400)]
lib: Start all function names in notmuch-private.h with

As noted in devel/STYLE, every private library function should start
with _notmuch. This patch corrects function naming that did not adhere
to this style in lib/notmuch-private.h. In particular, the old function
names that now begin with _notmuch are


Signed-off-by: Charles Celerier <>
6 years agotest: use sh.config for configuration
Jani Nikula [Fri, 30 May 2014 07:43:05 +0000 (10:43 +0300)]
test: use sh.config for configuration

6 years agobuild: generate sh.config for feeding configure results to shell scripts
Jani Nikula [Fri, 30 May 2014 07:43:04 +0000 (10:43 +0300)]
build: generate sh.config for feeding configure results to shell scripts

Only include the relevant information.

Amended by David Bremner:

Use a prefix NOTMUCH_ to minimize collisions with other

6 years agodocs: remove spurious man page generated from doxygen
David Bremner [Sat, 12 Jul 2014 21:04:52 +0000 (18:04 -0300)]
docs: remove spurious man page generated from doxygen

There is a doxygen bug about these odd files,

But it isn't clear if / when a fix will be provided, so just delete it
to avoid e.g. confusing

6 years agoNEWS: add minimal item for API change to close/destroy
David Bremner [Wed, 9 Jul 2014 23:39:26 +0000 (20:39 -0300)]
NEWS: add minimal item for API change to close/destroy

6 years agolib: add return status to database close and destroy
Jani Nikula [Wed, 16 Apr 2014 12:59:16 +0000 (22:59 +1000)]
lib: add return status to database close and destroy

notmuch_database_close may fail in Xapian ->flush() or ->close(), so
report the status. Similarly for notmuch_database_destroy which calls

This is required for notmuch insert to report error status if message
indexing failed.

6 years agobuild: check .git directory existence in srcdir (for out-of-tree builds)
Tomi Ollila [Tue, 6 May 2014 19:35:28 +0000 (22:35 +0300)]
build: check .git directory existence in srcdir (for out-of-tree builds)

So that $(VERSION) and version.stamp uses the git-describe -based
version data instead of the content of `version' file.

For consistency also the git commands in Makefile[.local] target
`verify-no-dirty-code' uses the git --git-dir=$srcdir/.git ...
commands (inside ifeq($(IS_GIT),yes)). Attempting to make this
target outside of the tree will fail in any case.

6 years agodoc: postprocess notmuch.3
David Bremner [Tue, 1 Jul 2014 19:13:03 +0000 (16:13 -0300)]
doc: postprocess notmuch.3

Remove excess italics from doxygen output. It seems to make no
sense (and is certainly ugly) to italicize the first argument to the
.RI macro.

6 years agodoc: quiet doxygen warnings
David Bremner [Sun, 6 Jul 2014 14:23:42 +0000 (11:23 -0300)]
doc: quiet doxygen warnings

remove some obsolete tags for XML output (which we don't currently
generate in any case)

6 years agodoc: build and install doxygen api docs
David Bremner [Tue, 1 Jul 2014 16:40:33 +0000 (13:40 -0300)]
doc: build and install doxygen api docs

In order to support out of tree builds and avoid hardcoding version
number, generate `doc/config.dox` from configure.

6 years agoconfigure: use cc/c++ instead of gcc/g++
Fraser Tweedale [Thu, 22 May 2014 10:10:06 +0000 (20:10 +1000)]
configure: use cc/c++ instead of gcc/g++

Some systems (e.g. FreeBSD 10) do not ship with the GNU Compiler
Collection.  Use generic cc/c++ instead of gcc/g++ (unless the
CC/CXX environment variables are used).

6 years agoMerge tag '0.18.1'
David Bremner [Wed, 25 Jun 2014 11:01:17 +0000 (08:01 -0300)]
Merge tag '0.18.1'

notmuch 0.18.1 release

6 years agoversion: bump to 0.18.1 0.18.1 debian/0.18.1-1
David Bremner [Wed, 25 Jun 2014 10:24:57 +0000 (07:24 -0300)]
version: bump to 0.18.1

Also add precis of NEWS to debian changelog

6 years agoNEWS: Improve and correct "Fix for phrase indexing" entry
Austin Clements [Mon, 23 Jun 2014 14:25:28 +0000 (10:25 -0400)]
NEWS: Improve and correct "Fix for phrase indexing" entry

This improves the description of the fix, fixes some typos, and
changes "(re)-indexed" to "indexed" because we have no particular
notion of "re-indexing" a message.

6 years agoNEWS: quibbles from Tomi
David Bremner [Mon, 23 Jun 2014 09:36:30 +0000 (06:36 -0300)]
NEWS: quibbles from Tomi

See for details

6 years agoMerge tag '0.18.1_rc0'
David Bremner [Mon, 23 Jun 2014 01:25:10 +0000 (22:25 -0300)]
Merge tag '0.18.1_rc0'

notmuch 0.18.1~rc0 release

6 years agoversion: bump to 0.18.1~rc0
David Bremner [Mon, 23 Jun 2014 00:23:22 +0000 (21:23 -0300)]
version: bump to 0.18.1~rc0

Also bump the python bindings version, the NEWS version and the Debian

Since the changelog is (slightly dubiously) metadata, we have to
change it to upload a release candidate.

6 years agoNEWS: add news for 0.18.1
David Bremner [Sat, 21 Jun 2014 20:09:01 +0000 (17:09 -0300)]
NEWS: add news for 0.18.1

This is my summary of the commits from 0.18.

6 years agoemacs: Forwarded messages should not have modified buffers
David Edmondson [Mon, 16 Jun 2014 05:30:11 +0000 (06:30 +0100)]
emacs: Forwarded messages should not have modified buffers

When the user begins forwarding a message, the resulting composition
buffer should not be marked as modified, in order that it can
immediately be killed without prompting.

6 years agoMerge branch 'release'
David Bremner [Sun, 22 Jun 2014 09:53:21 +0000 (06:53 -0300)]
Merge branch 'release'

Austin's termpos patches and Felipe's zlib.pc workaround

6 years agoconfigure: add workaround for systems without zlib.pc
Felipe Contreras [Mon, 12 May 2014 03:09:32 +0000 (22:09 -0500)]
configure: add workaround for systems without zlib.pc

Some systems (e.g. FreeBSD) might not have installed the appropriate
pkg-config file as they should. We can workaround the issue by creating
the .pc file they should have distributed.

Signed-off-by: Felipe Contreras <>
6 years agolib: Separate all phrases indexed by _notmuch_message_gen_terms
Austin Clements [Mon, 16 Jun 2014 02:40:34 +0000 (22:40 -0400)]
lib: Separate all phrases indexed by _notmuch_message_gen_terms

This adds a 100 termpos gap between all phrases indexed by
_notmuch_message_gen_terms.  This fixes a bug where terms from the end
of one header and the beginning of another header could match together
in a single phrase and a separate bug where term positions of
un-prefixed terms overlapped.

This fix only affects newly indexed messages.  Messages that are
already indexed won't benefit from this fix without re-indexing, but
the fix won't make things any worse for existing messages.

6 years agotest: Known-broken test for overlapping/adjacent termpos
Austin Clements [Mon, 16 Jun 2014 02:40:33 +0000 (22:40 -0400)]
test: Known-broken test for overlapping/adjacent termpos

This adds two known-broken tests and one working test related to the
term positions assigned to terms from different headers or MIME parts.
The first test fails because we don't create a termpos gap between
different headers.  The second test fails because we don't adjust
termpos at all when indexing multiple parts.

6 years agolib: Index name and address of from/to headers as a phrase
Austin Clements [Mon, 16 Jun 2014 02:40:32 +0000 (22:40 -0400)]
lib: Index name and address of from/to headers as a phrase

Previously, we indexed the name and address parts of from/to headers
with two calls to _notmuch_message_gen_terms.  In general, this
indicates that these parts are separate phrases.  However, because of
an implementation quirk, the two calls to _notmuch_message_gen_terms
generated adjacent term positions for the prefixed terms, which
happens to be the right thing to do in this case, but the wrong thing
to do for all other calls.  Furthermore, _notmuch_message_gen_terms
produced potentially overlapping term positions for the un-prefixed
copies of the terms, which is simply wrong.

This change indexes both the name and address in a single call to
_notmuch_message_gen_terms, indicating that they should be part of a
single phrase.  This masks the problem with the un-prefixed terms
(fixing the two known-broken tests) and puts us in a position to fix
the unintentionally phrases generated by other calls to

6 years agotest: Add search tests for combined name/address queries
Austin Clements [Mon, 16 Jun 2014 02:40:31 +0000 (22:40 -0400)]
test: Add search tests for combined name/address queries

Two of these are currently known-broken.  We index the name and
address parts in two separate calls to _notmuch_message_gen_terms.
Currently this has the effect of placing the term positions of the
prefixed terms from the second call right after those of the first
call, but screws up the term positions of the non-prefixed terms.

6 years agotest: Fix from/to search test queries
Austin Clements [Mon, 16 Jun 2014 02:40:30 +0000 (22:40 -0400)]
test: Fix from/to search test queries

Two of the search tests for "from" and "to" queries were clearly
trying to search for prefixed phrases, but forgot to shell quote the
phrases.  Fix this by quoting them correctly.

6 years agoMerge branch 'release'
David Bremner [Sun, 15 Jun 2014 18:52:18 +0000 (15:52 -0300)]
Merge branch 'release'

still painfully slowly assembling 0.18.1

6 years agoemacs install: make sure all components to be installed are there
Tomi Ollila [Sat, 10 May 2014 21:36:43 +0000 (00:36 +0300)]
emacs install: make sure all components to be installed are there

`make install-emacs` will copy $(emacs_sources), $(emacs_images) and
$(emacs_bytecode) to their target directories. $(emacs_bytecode) was
already a prerequisite of make install-emacs as these obviously needed
to be build. Until a while ago all of $(emacs_sources) was available
in the repository, but now it includes `notmuch-version.el` which
is generated. In the future we may have generated emacs images too.

6 years agodebian: update notmuch-emacs for emacsen-common 2.0.8
David Bremner [Sat, 14 Jun 2014 10:50:52 +0000 (07:50 -0300)]
debian: update notmuch-emacs for emacsen-common 2.0.8

- redo install/remove scripts from new samples
- symlink .el files properly
- add depends instead of conflicts

6 years agodebian: tighten dependency of python packages on libnotmuch.
David Bremner [Sat, 14 Jun 2014 10:20:56 +0000 (07:20 -0300)]
debian: tighten dependency of python packages on libnotmuch.

Using (>= ${source:Version}) allows newer versions of the library with
the same SONAME.

6 years agoMerge branch 'release'
David Bremner [Sat, 14 Jun 2014 02:03:49 +0000 (23:03 -0300)]
Merge branch 'release'

Merge in a few more commits towards 0.18.1

6 years agolib: resurrect support for single-message mbox files
Jani Nikula [Thu, 5 Jun 2014 06:34:09 +0000 (08:34 +0200)]
lib: resurrect support for single-message mbox files

This is effectively a revert of

commit 6812136bf576d894591606d9e10096719054d1f9
Author: Jani Nikula <>
Date:   Mon Mar 31 00:21:48 2014 +0300

    lib: drop support for single-message mbox files

The intention was to drop support for indexing new single-message mbox
files (and whether that was a good idea in the first place is
arguable). However this inadvertently broke support for reading
headers from previously indexed single-message mbox files, which is
far worse.

Distinguishing between the two cases would require more code than
simply bringing back support for single-message mbox files.

6 years agotest: use --quick when starting emacs.
David Bremner [Thu, 29 May 2014 00:26:27 +0000 (21:26 -0300)]
test: use --quick when starting emacs.

At least in emacs24, this removes the "site-lisp" directories from the
load path in addition to enforcing --no-site-lisp --no-init-file.

This works around a slightly mysterious bug on Debian that causes
test-lib.el not to load when there is cl-lib.el(c) in some site-lisp
directory.  It should be harmless in general since we really don't
want to load any files from addon packages to emacs.

6 years agobuild: add dataclean
David Bremner [Sun, 4 May 2014 06:10:49 +0000 (15:10 +0900)]
build: add dataclean

It turns out to be inconvenient to delete the downloaded datafiles with
distclean, so I propose a new target which does that instead.

The closest conventional target is 'maintainer-clean'; the difference
here is that having the original source tarball is not enough to
reconstruct these files.

6 years agobuild: remove .tar.gz.tmp files in clean
David Bremner [Sun, 4 May 2014 06:10:48 +0000 (15:10 +0900)]
build: remove .tar.gz.tmp files in clean

Most people won't see these, but they annoy anyone running release
or pre-release targets.

6 years agobuild: don't overwrite DISTCLEAN in performance-test
David Bremner [Sun, 4 May 2014 06:10:47 +0000 (15:10 +0900)]
build: don't overwrite DISTCLEAN in performance-test

This might have worked once for some fixed order of including
makefiles, but it is clearly wrong now.

6 years agoMerge branch 'release'
David Bremner [Wed, 28 May 2014 12:50:32 +0000 (09:50 -0300)]
Merge branch 'release'

A point release is slowly being built on branch release. Merge those
changes into master.

6 years agobuild: fix order of rpath
Felipe Contreras [Mon, 12 May 2014 02:22:25 +0000 (21:22 -0500)]
build: fix order of rpath

In my system `pkg-config --libs talloc` returns
'Wl,-rpath,/usr/lib -ltalloc' (probably wrongly) which causes the final
LDFLAGS to be something like '-Wl,-rpath,/usr/lib
-Wl,-rpath,/opt/notmuch/lib', which causes the RUNPATH to be
'/usr/lib:/opt/notmuch/lib', so basically defeating the whole purpose of

I noticed this when my /opt/notmuch/bin/notmuch (0.17) started updating
the database after I updated the system (which updated the system's
notmuch). This shouldn't happen.

Let's move the RUNPATH flags before other external flags have a chance of
screwing the build.

Signed-off-by: Felipe Contreras <>
6 years agoUnset html_static_path in Python bindings docs
Amadeusz Żołnowski [Mon, 12 May 2014 10:35:41 +0000 (12:35 +0200)]
Unset html_static_path in Python bindings docs

html_static_path is a kind of source directory and it was set to
destination directory (../html) which caused infinite recursion with
Sphinx 1.2 and above.

6 years agodoc/ Remove _static from html_static_path
W. Trevor King [Sat, 10 May 2014 15:55:21 +0000 (08:55 -0700)]
doc/ Remove _static from html_static_path


  $ make HAVE_SPHINX=1 sphinx-html
  python ./doc/ ./doc doc/_build doc/
  sphinx-build -b html -d doc/_build/doctrees -q ./doc doc/_build/html
  Making output directory...
  WARNING: html_static_path entry '/home/wking/src/notmuch/notmuch/doc/_static' does not exist

because we have no static source in doc/_static.

6 years agoemacs: make sure tagging on an empty query is harmless
Mark Walters [Wed, 21 May 2014 09:58:50 +0000 (10:58 +0100)]
emacs: make sure tagging on an empty query is harmless

Currently notmuch-tag throws a "wrong-type-argument stringp nil" if
passed a nil query-string. Catch this and provide a more useful error
message. This fixes a case in notmuch-tree (if you try to tag when at
the end of the buffer).

Secondly, as pointed out by David (dme)
`notmuch-search-find-stable-query-region' can return the query string
() if there are no messages in the region. This gets passed to notmuch
tag, and due to interactions in the optimize_query code in
notmuch-tag.c becomes, in the case tag-change is -inbox, "( () ) and
(tag:inbox)". This query matches some strange collection of messages
which then get archived. This should probably be fixed, but in any
case make `notmuch-search-find-stable-query-region' return a nil
query-string in this case.

This avoids data-loss (random tag removal) in this case.

6 years agoemacs: Correct the documentation for `notmuch-search-line-faces'.
David Edmondson [Tue, 6 May 2014 10:03:30 +0000 (11:03 +0100)]
emacs: Correct the documentation for `notmuch-search-line-faces'.

The implementation and documentation for `notmuch-search-line-faces'
disagreed in how elements in the list were merged. Correct the
documentation to match the implementation (that is, the earlier
elements in the list have precedence over later elements).

6 years agoruby: Add wrapper for notmuch_query_count_threads
Wael M. Nasreddine [Sat, 10 May 2014 21:40:11 +0000 (14:40 -0700)]
ruby: Add wrapper for notmuch_query_count_threads

6 years agoMerge branch 'release'
David Bremner [Sat, 17 May 2014 21:37:48 +0000 (06:37 +0900)]
Merge branch 'release'

bugfix release being built up on release.

6 years agotest: allow pending break points in atomicity script.
David Bremner [Tue, 6 May 2014 13:06:27 +0000 (22:06 +0900)]
test: allow pending break points in atomicity script.

This seems to fix problems with the symbol rename not being defined
at startup on at least OS/X and some Debian Linux architectures.

6 years agotest/Makefile.local: Added configured TALLOC_LDFLAGS.
Charles Celerier [Tue, 6 May 2014 17:02:24 +0000 (13:02 -0400)]
test/Makefile.local: Added configured TALLOC_LDFLAGS.

The linking to talloc is hard-coded in the testing Makefile. This patch
causes the linking to talloc to be done according to how TALLOC_LDFLAGS
was configured.

Signed-off-by: Charles Celerier <>
6 years agonotmuch-dump: use fsync instead of fdatasync
David Bremner [Thu, 8 May 2014 11:57:07 +0000 (20:57 +0900)]
notmuch-dump: use fsync instead of fdatasync

Since the file size will have changed, there is no performance benefit
to calling fdatasync.  Somewhat surprisingly, using fdatasync
apparently causes portability problems on FreeBSD.

6 years agoMerge in a few Debian commits.
David Bremner [Thu, 8 May 2014 21:38:42 +0000 (06:38 +0900)]
Merge in a few Debian commits.

6 years agodebian: disable atomicity tests on armel.
David Bremner [Thu, 8 May 2014 05:28:13 +0000 (14:28 +0900)]
debian: disable atomicity tests on armel.

Another temporary fix for build problems.

6 years agodebian: disable atomicity tests on armhf
David Bremner [Wed, 7 May 2014 23:29:15 +0000 (08:29 +0900)]
debian: disable atomicity tests on armhf

In fact a fix for these tests is currently being reviewed, but I want
to roll it together with a few other portability fixes for a point

6 years agoMerge tag '0.18'
David Bremner [Tue, 6 May 2014 08:14:26 +0000 (17:14 +0900)]
Merge tag '0.18'

notmuch 0.18 release

6 years agodebian: changelog stanza for 0.18 0.18
David Bremner [Tue, 6 May 2014 07:27:29 +0000 (16:27 +0900)]
debian: changelog stanza for 0.18

plagiariaze my own summary from upstream NEWS

6 years agoversion: bump to 0.18
David Bremner [Tue, 6 May 2014 07:24:17 +0000 (16:24 +0900)]
version: bump to 0.18

debian changelog to be done seperately.

6 years agoemacs: allow functions in notmuch-show-stash-mlarchive-link-alist
Jani Nikula [Thu, 1 May 2014 12:35:11 +0000 (15:35 +0300)]
emacs: allow functions in notmuch-show-stash-mlarchive-link-alist

Some archives may use a more complicated scheme for referring to
messages than just concatenated url and message-id. In particular,
patchwork requires a query to translate message-id to a patchwork
patch id. Allow functions in notmuch-show-stash-mlarchive-link-alist
to facilitate this.

For example, one could use something like this for patchwork.

(lambda (message-id)
   (nth 0
 (car (last (process-lines "pwclient" "search" "-n" "1"
   "-m" (concat "<" message-id ">"))))))))

6 years agoMerge tag '0.18_rc1'
David Bremner [Sat, 3 May 2014 23:32:05 +0000 (08:32 +0900)]
Merge tag '0.18_rc1'

notmuch 0.18~rc1 release

6 years agobuild: use UPSTREAM_TAG and not VERSION to generate tarball 0.18_rc1 debian/0.18_rc1-1
David Bremner [Sat, 3 May 2014 23:11:35 +0000 (08:11 +0900)]
build: use UPSTREAM_TAG and not VERSION to generate tarball

The latter can have "~" in it, which is not legal for a git tag.

6 years agodoc/doxygen.cfg: bump version to 0.18
David Bremner [Sat, 3 May 2014 22:38:21 +0000 (07:38 +0900)]
doc/doxygen.cfg: bump version to 0.18

6 years agoversion: bump for 0.18~rc1
David Bremner [Sat, 3 May 2014 22:32:43 +0000 (07:32 +0900)]
version: bump for 0.18~rc1

Doing all of the needed version bumps in one commit, and do a
complete, if minimal debian changelog entry

6 years agovim: improve the way messages are sent
Felipe Contreras [Thu, 1 May 2014 22:57:54 +0000 (17:57 -0500)]
vim: improve the way messages are sent

We want the proper encoding and content-type to be set when sending the
mail, but human-readable plain-text for composing. So split the code in
two parts: the presentation and the transport conversion.

This fixes an issue while sending non-ascii mails to strict servers; the
mail needs to be encoded.

Signed-off-by: Felipe Contreras <>
6 years agovim: make the html handler configurable
Paul Roberts [Thu, 1 May 2014 22:57:53 +0000 (17:57 -0500)]
vim: make the html handler configurable

Signed-off-by: Felipe Contreras <>
6 years agovim: fix count_threads variable check
Felipe Contreras [Thu, 1 May 2014 22:57:52 +0000 (17:57 -0500)]
vim: fix count_threads variable check

It never really worked; in Ruby only 'nil' and 'false' evaluate to
false, therefore the statement '0 : true ? false' returns true, so it
doesn't matter if notmuch_folders_count_threads = 0, count_threads would
be true.

We need to check specifically if the value is 1 or 0.

Signed-off-by: Felipe Contreras <>
6 years agodoc: add *.pyc to doc/.gitignore
Jani Nikula [Fri, 2 May 2014 14:51:01 +0000 (17:51 +0300)]
doc: add *.pyc to doc/.gitignore

6 years agotest: add have-man and have-compact in test/.gitignore
Jani Nikula [Fri, 2 May 2014 14:51:00 +0000 (17:51 +0300)]
test: add have-man and have-compact in test/.gitignore

Sort the file while at it.

6 years agoNEWS: make it explicit that wildcard matching is no longer supported
Jani Nikula [Fri, 2 May 2014 16:28:38 +0000 (19:28 +0300)]
NEWS: make it explicit that wildcard matching is no longer supported

Wildcard matching was a feature of the probabilistic prefix, and we no
longer have it for the boolean prefix. Also note that top-level folder
can now be searched.

6 years agoNEWS: insert and new refuse invalid tags
Jani Nikula [Thu, 1 May 2014 14:42:02 +0000 (17:42 +0300)]
NEWS: insert and new refuse invalid tags

6 years agoNEWS: message piping working directory
Jani Nikula [Thu, 1 May 2014 14:42:01 +0000 (17:42 +0300)]
NEWS: message piping working directory

6 years agoNEWS: emacs: push mark before signature on reply
Jani Nikula [Thu, 1 May 2014 14:41:59 +0000 (17:41 +0300)]
NEWS: emacs: push mark before signature on reply

6 years agoNEWS: cli exit status codes
Jani Nikula [Thu, 1 May 2014 14:42:00 +0000 (17:42 +0300)]
NEWS: cli exit status codes

6 years agoNEWS: notmuch insert respects maildir.synchronize_flags
Jani Nikula [Thu, 1 May 2014 14:41:58 +0000 (17:41 +0300)]
NEWS: notmuch insert respects maildir.synchronize_flags

6 years agoNEWS: add overview section for 0.18
David Bremner [Wed, 30 Apr 2014 23:13:44 +0000 (08:13 +0900)]
NEWS: add overview section for 0.18

This mentions the things I (subjectively) thought were most likely to
either annoy people or make it worth upgrading.

6 years agoNEWS: message header parser changes
Jani Nikula [Sun, 27 Apr 2014 21:09:21 +0000 (00:09 +0300)]
NEWS: message header parser changes

6 years agoNEWS: mbox files are no longer supported
Jani Nikula [Sun, 27 Apr 2014 20:54:24 +0000 (23:54 +0300)]
NEWS: mbox files are no longer supported

6 years agoNEWS: folder:, path:, and database upgrade
Jani Nikula [Sun, 27 Apr 2014 14:46:17 +0000 (17:46 +0300)]
NEWS: folder:, path:, and database upgrade

Related news together.

6 years agoNEWS: replies to encrypted messages encrypted by default
Jani Nikula [Sun, 27 Apr 2014 16:30:47 +0000 (19:30 +0300)]
NEWS: replies to encrypted messages encrypted by default

6 years agoNEWS: Ido initialization for Emacs 23.[123]
Tomi Ollila [Sat, 26 Apr 2014 09:59:23 +0000 (12:59 +0300)]
NEWS: Ido initialization for Emacs 23.[123]

6 years agobuilding from git: use --abbrev=7 for version string
Tomi Ollila [Tue, 22 Apr 2014 15:19:44 +0000 (18:19 +0300)]
building from git: use --abbrev=7 for version string

Users may have set core.abbrev=n, where n != 7 in their git config
file(s) which would give them different than expected version strings
when building notmuch from git. This fixes the commit hash part of
version string to 7 hexadecimal values.

6 years agoMerge tag '0.18_rc0'
David Bremner [Tue, 22 Apr 2014 05:40:56 +0000 (14:40 +0900)]
Merge tag '0.18_rc0'

notmuch 0.18~rc0 release

6 years agodoc: remove conf.pyc on clean 0.18_rc0 debian/0.18_rc0-1
David Bremner [Tue, 22 Apr 2014 05:24:04 +0000 (14:24 +0900)]
doc: remove conf.pyc on clean

This build artifict messes up the packaging process for (at least)
Debian if not removed on clean.

6 years agopython: bump version
David Bremner [Tue, 22 Apr 2014 00:36:26 +0000 (09:36 +0900)]
python: bump version

6 years agoNEWS: bump version
David Bremner [Tue, 22 Apr 2014 00:34:44 +0000 (09:34 +0900)]
NEWS: bump version

As usual, we'll just edit the version in place for release candidates.

6 years agodebian: NEWS item about database upgrade
David Bremner [Tue, 22 Apr 2014 00:33:16 +0000 (09:33 +0900)]
debian: NEWS item about database upgrade

6 years agodebian: changelog stanza for 0.18~rc0-1
David Bremner [Tue, 22 Apr 2014 00:27:55 +0000 (09:27 +0900)]
debian: changelog stanza for 0.18~rc0-1

- make versions match to pacify
- close a few more bugs.
- fix one HTMLism

6 years agoversion: bump to 0.18~rc0
David Bremner [Mon, 21 Apr 2014 22:00:29 +0000 (07:00 +0900)]
version: bump to 0.18~rc0

Start the promised feature freeze

6 years agodoc: Simplify and clarify notmuch show --format=sexp description
Austin Clements [Fri, 18 Apr 2014 22:42:08 +0000 (18:42 -0400)]
doc: Simplify and clarify notmuch show --format=sexp description

Previously, this was a verbatim copy of the --format=json text.
Change it to instead reference the JSON text and actually describe how
the S-expression format works.