David Bremner [Fri, 31 Mar 2017 10:55:17 +0000 (07:55 -0300)]
cli/dump: bump dump format version to 3
No changes to the format of the body, but the header format was
fixed, and version 2 headers probably shouldn't be relied on.
David Bremner [Tue, 28 Mar 2017 11:09:03 +0000 (08:09 -0300)]
cli/dump: fix bug in dump header
Fix copy paste error.
(cherry picked from commit
1f3c7916f82774cacbfbb0fbc9d0e0aaae9399b3)
(changes to missing test dropped)
David Bremner [Sun, 19 Mar 2017 12:39:06 +0000 (09:39 -0300)]
debian: changelog stanza for 0.23.7-2
Tomi Ollila [Fri, 17 Mar 2017 22:28:48 +0000 (00:28 +0200)]
lib/message.cc: fix Coverity finding (use after free)
The object where pointer to `data` was received was deleted before
it was used in _notmuch_string_list_append().
Relevant Coverity messages follow:
3: extract
Assigning: data = std::__cxx11::string(message->doc.()).c_str(),
which extracts wrapped state from temporary of type std::__cxx11::string.
4: dtor_free
The internal representation of temporary of type std::__cxx11::string
is freed by its destructor.
5: use after free:
Wrapper object use after free (WRAPPER_ESCAPE)
Using internal representation of destroyed object local data.
(cherry picked from commit
06adc276682d1d5f73d78df2e898ad4191eb4499)
David Bremner [Wed, 1 Mar 2017 00:49:24 +0000 (20:49 -0400)]
update version to 0.23.7
David Bremner [Wed, 1 Mar 2017 00:46:53 +0000 (20:46 -0400)]
NEWS: add news for 0.23.7
David Bremner [Tue, 28 Feb 2017 00:07:52 +0000 (20:07 -0400)]
add changelog stanza for 0.23.7-1
David Bremner [Mon, 27 Feb 2017 23:53:56 +0000 (19:53 -0400)]
test: move GNUPGHOME to TEST_TMPDIR
We already use this directory for dtach sockets, so it makes sense to
put gnupg sockets there as well. There doesn't seem to be a clean way
to put a fully functional socket in a different location than
GNUPGHOME.
David Bremner [Mon, 27 Feb 2017 22:27:49 +0000 (18:27 -0400)]
Revert "configure: add test for gpgconf --create-socketdir"
This reverts commit
12f7d4e61d30fb9a5c99e128ab1aab0bf069cdb4.
Since we're not using gpgconf anymore, drop the unneeded test in
configure.
David Bremner [Mon, 27 Feb 2017 22:26:47 +0000 (18:26 -0400)]
Revert "test: use gpgconf --create-socketdir if available"
This reverts commit
e7b88e8b0a93ca83d807edc00e0c97af54c5b5f1.
It turns out that this does not work well in environments without a
running systemd (or some other provider of /run/user)
David Bremner [Mon, 27 Feb 2017 10:58:07 +0000 (06:58 -0400)]
debian: set upload date and suite
David Bremner [Mon, 27 Feb 2017 10:57:42 +0000 (06:57 -0400)]
NEWS: set release date
David Bremner [Sat, 25 Feb 2017 12:48:10 +0000 (08:48 -0400)]
debian: note read-after-free fix in d/changelog
David Bremner [Sat, 25 Feb 2017 12:45:43 +0000 (08:45 -0400)]
NEWS: document read-after-free bugfix
David Bremner [Thu, 23 Feb 2017 13:03:10 +0000 (09:03 -0400)]
version: bump to 0.23.6
python and debian bumped at the same time
David Bremner [Wed, 22 Feb 2017 10:17:47 +0000 (06:17 -0400)]
lib: fix g_hash_table related read-after-free bug
The two g_hash_table functions (insert, add) have different behaviour
with respect to existing keys. g_hash_table_insert frees the new key,
while g_hash_table_add (which is really g_hash_table_replace in
disguise) frees the existing key. With this change 'ref' is live until
the end of the function (assuming single-threaded access to
'hash'). We can't guarantee it will continue to be live in the
future (i.e. there may be a future key duplication) so we copy it with
the allocation context passed to parse_references (in practice this is
the notmuch_message_t object whose parents we are finding).
Thanks to Tomi for the simpler approach to the problem based on
reading the fine glib manual.
David Bremner [Tue, 21 Feb 2017 11:51:44 +0000 (07:51 -0400)]
debian: start changelog for 0.23.6
David Bremner [Tue, 21 Feb 2017 11:50:05 +0000 (07:50 -0400)]
NEWS: news for gpgconf use in test suite
David Bremner [Tue, 14 Feb 2017 21:42:39 +0000 (16:42 -0500)]
test: use gpgconf --create-socketdir if available
This enables the shortened socket pathes in /run or equivalent. The
explicit call to gpgconf is needed for nonstandard GNUPGHOME settings.
(amended according to id:m2fujatr4k.fsf@guru.guru-group.fi)
David Bremner [Tue, 14 Feb 2017 21:42:38 +0000 (16:42 -0500)]
configure: add test for gpgconf --create-socketdir
This is primarily intended for use in the test suite (since notmuch
builds fine without gnupg installed). Thus we only write the variable
to sh.config.
David Bremner [Mon, 9 Jan 2017 10:25:01 +0000 (06:25 -0400)]
NEWS,debian: set date for release
David Bremner [Sun, 8 Jan 2017 12:35:17 +0000 (08:35 -0400)]
docs: add 2017 to copyright years
David Bremner [Sun, 8 Jan 2017 12:32:56 +0000 (08:32 -0400)]
bump version to 0.23.5
David Bremner [Sun, 8 Jan 2017 12:31:28 +0000 (08:31 -0400)]
debian: changelog for 0.23.5-1
David Bremner [Sun, 8 Jan 2017 12:30:08 +0000 (08:30 -0400)]
NEWS for 0.23.5
Tomi Ollila [Sun, 1 Jan 2017 17:20:30 +0000 (19:20 +0200)]
configure: fix $prefix expansion for libdir_expanded
Since the sed expansion line which did $prefix expansion for
libdir_expanded was changed from the legacy `...` format to the
new $(...) expression, the subtle backslash expansion change went
unnoticed -- \\$ which used to escape '$' now escapes '\' and the
following '$prefix' was attempted to expand as a variable. So
changing \\$ to \$ fixes this.
Also, replaced echo with printf %s -- echo does expansions of its own.
While at it, the following 2 inconsistencies were fixed:
1) the /g flag was removed from first expression; second didn't have it
2) first expression did not end with /, so "dropped" it from second
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
David Bremner [Sat, 24 Dec 2016 08:52:11 +0000 (17:52 +0900)]
version: update to 0.23.4
David Bremner [Sat, 24 Dec 2016 08:48:16 +0000 (17:48 +0900)]
set date in NEWS and debian/changelog
pentultimate prepartions for release
David Bremner [Thu, 22 Dec 2016 23:34:30 +0000 (08:34 +0900)]
debian: remove setting of emacslispdir
With dh-elpa, this setting is no longer used
David Bremner [Sun, 18 Dec 2016 11:48:48 +0000 (20:48 +0900)]
debian: changelog stanza for 0.23.4-1
David Bremner [Thu, 8 Dec 2016 00:45:52 +0000 (20:45 -0400)]
NEWS: announce autoload fix
David Bremner [Thu, 8 Dec 2016 00:45:51 +0000 (20:45 -0400)]
emacs: restore autoload cookie for notmuch-search
The cookie only applies to next form, so in the previous location it
applied to the put, rather than the function.
David Bremner [Wed, 7 Dec 2016 11:27:13 +0000 (07:27 -0400)]
NEWS: news for notmuch-insert error handling
David Bremner [Wed, 7 Dec 2016 11:27:12 +0000 (07:27 -0400)]
cli/insert: document the use of EX_TEMPFAIL
David Bremner [Mon, 28 Nov 2016 03:01:42 +0000 (23:01 -0400)]
cli/insert: return EX_TEMPFAIL for some errors
Attempt to distinguish between errors indicating misconfiguration or
programmer error, which we consider "permanent", in the sense that
automatic retries are unlikely to be useful, and those indicating
transient error conditions. We consider XAPIAN_EXCEPTION transient
because it covers the important special case of locking failure.
David Bremner [Sun, 27 Nov 2016 15:24:58 +0000 (11:24 -0400)]
cli/insert: delay database open until after writing mail file
The idea is to get the mail written to disk, even if we can't open the
database (e.g. because some other process has a write lock, and notmuch
is compiled for non-blocking opens).
Tomi Ollila [Mon, 28 Nov 2016 21:07:08 +0000 (23:07 +0200)]
test: gdb insert: redirect input inside gdb script
Running `gdb command < input` is not as reliable way to give input
to the command (some installations of gdb consume it). Use "set args"
gdb command to have input redirected at gdb 'run' time.
David Bremner [Mon, 5 Dec 2016 12:26:28 +0000 (08:26 -0400)]
debian: changelog stanza for 0.23.3-3
David Bremner [Mon, 5 Dec 2016 12:22:57 +0000 (08:22 -0400)]
debian: disable gdb using tests on kfreebsd-*
gdb seems broken there.
David Bremner [Thu, 1 Dec 2016 12:08:14 +0000 (08:08 -0400)]
debian: fix transition package for notmuch-emacs
The current version is more a transition to nowhere.
David Bremner [Sun, 27 Nov 2016 01:54:10 +0000 (21:54 -0400)]
NEWS: fix date and title
David Bremner [Sat, 26 Nov 2016 12:41:47 +0000 (08:41 -0400)]
NEWS: note disappearing files fix for notmuch new
David Bremner [Sat, 26 Nov 2016 12:39:32 +0000 (08:39 -0400)]
NEWS: set date
David Bremner [Sat, 26 Nov 2016 12:38:13 +0000 (08:38 -0400)]
debian: finalize? changelog for 0.23.3-1
David Bremner [Sat, 26 Nov 2016 02:40:37 +0000 (22:40 -0400)]
cli/new: document new exit code
It seems important to give the numeric return code for people writing
scripts. Hopefully deviations from this convention are rare.
Jani Nikula [Mon, 21 Nov 2016 20:14:33 +0000 (22:14 +0200)]
cli: consider files vanishing during notmuch new non-fatal
If some software other than notmuch new renames or removes files
during the notmuch new scan (specifically after scandir but before
indexing the file), keep going instead of bailing out. Failing to
index the file is just a race condition between notmuch and the other
software; the rename could happen after the notmuch new scan
anyway. It's not fatal, and we'll catch the renamed files on the next
scan.
Add a new exit code for when files vanished, so the caller has a
chance to detect the race and re-run notmuch new to recover.
Reported by Paul Wise <pabs@debian.org> at
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843127
David Bremner [Fri, 25 Nov 2016 00:30:58 +0000 (20:30 -0400)]
debian: start changelog stanza for 0.23.3-1
David Bremner [Fri, 25 Nov 2016 00:29:18 +0000 (20:29 -0400)]
version: bump to 0.23.3
David Bremner [Fri, 25 Nov 2016 00:28:27 +0000 (20:28 -0400)]
NEWS: note gnupg related test-suite fix
David Bremner [Fri, 25 Nov 2016 00:16:24 +0000 (20:16 -0400)]
debian: disable dh_elpa_test
Currently it seems to interfere with running the notmuch test suite.
In any case we have no ert / buttercup format tests to run.
Daniel Kahn Gillmor [Wed, 23 Nov 2016 17:57:22 +0000 (12:57 -0500)]
tests: account for varying-size cryptographic signatures
GnuPG 2.1.16 is now injecting the full issuer fingerprint in its
signatures, which makes them about 32 octets larger when
ascii-armored.
This change in size means that the size of the MIME parts will vary
depending on the version of gpg that the user has installed. at any
rate, the signature part should be non-zero (this is true for
basically any MIME part), so we just test for that instead of an exact
size.
David Bremner [Sun, 20 Nov 2016 12:23:33 +0000 (08:23 -0400)]
NEWS: set date for release
Mark Walters [Fri, 18 Nov 2016 09:02:27 +0000 (09:02 +0000)]
NEWS for notmuch-cycle-notmuch-buffers
David Bremner [Thu, 17 Nov 2016 12:18:20 +0000 (08:18 -0400)]
NEWS: document fixes for emacs23
David Bremner [Fri, 11 Nov 2016 11:46:52 +0000 (07:46 -0400)]
debian: changelog stanza for 0.23.2-1
David Bremner [Thu, 17 Nov 2016 01:52:50 +0000 (21:52 -0400)]
version: bump to 0.23.2
David Bremner [Fri, 11 Nov 2016 11:46:51 +0000 (07:46 -0400)]
debian: convert to use dh-elpa
This packaging helper eliminates most of the boilerplate from packaging
emacs extensions for debian. It requires package.el compatible metadata.
David Bremner [Fri, 11 Nov 2016 11:46:50 +0000 (07:46 -0400)]
emacs: generate notmuch-pkg.el
This file contains metadata for the built in (as of emacs 24) packaging
system.
Mark Walters [Tue, 15 Nov 2016 19:48:45 +0000 (19:48 +0000)]
emacs: add compatibility functions for emacs 23
Some of the recent changes to the emacs code have used functions
introduced in emacs 24. The functions used are read-char-choice and
setq-local. This changeset adds a file notmuch-compat.el which
contains compatibility functions so that it should work on emacs
23.
Note, since these functions are taken almost unchanged from the emacs
source they are copyright the Free Software Foundation, and the header
in the file reflects that.
Mark Walters [Sat, 22 Oct 2016 12:10:04 +0000 (13:10 +0100)]
emacs: interesting-buffer bugfixes/updates
The command notmuch-interesting-buffer has got out of date -- it
doesn't mention notmuch-tree, and it still refers to message-mode not
notmuch-message-mode. Update both of these.
This fixes the bug that notmuch-cycle-notmuch-buffers does not include
notmuch-tree or notmuch-message-mode buffers in its cycling.
David Bremner [Mon, 24 Oct 2016 01:06:39 +0000 (22:06 -0300)]
finalize release 0.23.1
David Bremner [Sat, 22 Oct 2016 15:39:11 +0000 (12:39 -0300)]
debian: start changelog stanza for 0.23.1
David Bremner [Sat, 22 Oct 2016 15:35:25 +0000 (12:35 -0300)]
version: bump to 0.23.1
Mark Walters [Sat, 22 Oct 2016 06:45:17 +0000 (07:45 +0100)]
NEWS for two bugfixes
This adds news items for the two bugs
emacs: search face bugfix
and
emacs: fix notmuch-search-line-faces defcustom
Keith Amidon [Wed, 19 Oct 2016 10:05:19 +0000 (03:05 -0700)]
Expand docstrings about fcc using notmuch-insert
This commit expands docstrings for notmuch-fcc-dirs and
notmuch-maildir-fcc-with-notmuch-insert to describe how quoted strings
are processed and make the ability to configure sent folders containing
whitespace more discoverable.
Tomi Ollila [Thu, 20 Oct 2016 08:19:45 +0000 (11:19 +0300)]
test: use vt100 as "smart" terminal for known dumb/unknown terminals
Otherwise use whatever user environment has set for TERM so
that there is more chance to test on users' actual environments.
Tomi Ollila [Thu, 20 Oct 2016 08:19:44 +0000 (11:19 +0300)]
test-lib.sh: rename $DTACH_TERM to $SMART_TERM
David Bremner [Wed, 12 Oct 2016 02:01:56 +0000 (23:01 -0300)]
NEWS for 0.23.1
Mark Walters [Wed, 12 Oct 2016 07:39:21 +0000 (08:39 +0100)]
emacs: search face bugfix
In commit
2a7b11b064233afc4feead876fa396e3c18a6b91 the default faces
for unread and flagged were accidentally swapped. This swaps them back.
Mark Walters [Sat, 15 Oct 2016 09:40:48 +0000 (10:40 +0100)]
emacs: fix notmuch-search-line-faces defcustom
In commit
2a7b11b064233afc4feead876fa396e3c18a6b91 the default value
for notmuch-search-line-faces was changed so that it didn't match the
specification in the corresponding defcustom. This meant that it was
difficult for the user to customize this variable as they got a type
mismatch error.
Note anyone who had already customised this variable would not see
this bug as their customisation would match the defcustom.
David Bremner [Sun, 9 Oct 2016 22:30:44 +0000 (19:30 -0300)]
emacs/show: force notmuch-show-buttonise-links to act on lines
This seems to fix a problem with emacs 25 creating partial buttons by
calling n-s-b-l with a region that does not include the whole button.
I'm not 100% sure it's legit to act outside the region passed by
jit-lock, but goto-address-fontify-region (where I borrowed the code
from) already does this, so this patch to not make things worse.
David Bremner [Wed, 5 Oct 2016 01:12:56 +0000 (22:12 -0300)]
lib: document API added in 0.23
The API was already documented, but for future readers note when the
functions were added,
David Bremner [Wed, 5 Oct 2016 00:35:23 +0000 (21:35 -0300)]
require xapian >= 1.2.6
It seems that no-one tried to compile without Xapian compact support
since March of 2015, since that's when I introduced a syntax error in
that branch of the ifdef.
Given the choice of maintaining this underused branch of code, or
bumping the Xapian dependency to a version from 2011, it seems
reasonable to do the latter.
David Bremner [Thu, 6 Oct 2016 00:27:17 +0000 (21:27 -0300)]
debian: changelog stanza for 0.23-2
David Bremner [Tue, 4 Oct 2016 01:47:21 +0000 (22:47 -0300)]
debian: changelog stanza for 0.23-1
David Bremner [Tue, 4 Oct 2016 01:43:23 +0000 (22:43 -0300)]
NEWS: bump date to today
David Bremner [Tue, 4 Oct 2016 01:40:22 +0000 (22:40 -0300)]
version: bump to 0.23
David Bremner [Sun, 2 Oct 2016 01:11:56 +0000 (22:11 -0300)]
lib: bump minor version to mark added symbols
This should not change the SONAME, and therefore won't change the
dynamic linking behaviour, but it may help some users debug missing
symbols in case their libnotmuch is too old.
David Bremner [Fri, 30 Sep 2016 10:21:09 +0000 (07:21 -0300)]
debian: changelog stanza for 0.23~rc1-1
David Bremner [Fri, 30 Sep 2016 10:18:04 +0000 (07:18 -0300)]
version: update to 0.23~rc1
Tomi Ollila [Thu, 29 Sep 2016 13:12:49 +0000 (16:12 +0300)]
configure: set platform variables also when `uname` is unrecognized
Since commit
124a67e96ecab5495c0f17b6875d53dfd67ff137: configure: add set -u
all variables must be set before their expansion are attempted. These
2 variables: "platform" and "linker_resolves_library_dependencies" were
not given value in the final 'else' branch when platform check failed
due to unrecognized kernel name (output of `uname`). Now those two are
given reasonable non-empty values.
Mark Walters [Thu, 29 Sep 2016 13:44:04 +0000 (14:44 +0100)]
emacs: fcc: say we are doing Fcc
Since doing the Fcc with notmuch insert could be slow (if the indexing
takes some time) add a message saying we are doing it.
Mark Walters [Wed, 28 Sep 2016 10:03:46 +0000 (11:03 +0100)]
emacs: document notmuch-fcc-dirs
This updates the docstring for the variable notmuch-fcc-dirs to match
the new insert code.
Mark Walters [Wed, 28 Sep 2016 12:33:54 +0000 (13:33 +0100)]
NEWS: add news for fcc insert and address completion changes
Tomi Ollila [Tue, 27 Sep 2016 15:06:52 +0000 (18:06 +0300)]
lib/database.cc: fix misleading indentation
Found by gcc 6.1.1 -Wmisleading-indentation option (set by -Wall).
Tomi Ollila [Tue, 27 Sep 2016 17:24:41 +0000 (20:24 +0300)]
NEWS: emacs notmuch-show-resend-message
David Bremner [Sun, 25 Sep 2016 11:36:52 +0000 (08:36 -0300)]
NEWS: mention message properties API, dump/restore
David Bremner [Sun, 25 Sep 2016 11:33:26 +0000 (08:33 -0300)]
NEWS: fix headline for go bindings NEWS
David Bremner [Sun, 25 Sep 2016 11:30:49 +0000 (08:30 -0300)]
NEWS: note notmuch-reply refactor
David Bremner [Sun, 25 Sep 2016 11:22:50 +0000 (08:22 -0300)]
NEWS: note dropping of User-Agent header
David Bremner [Sun, 25 Sep 2016 11:12:40 +0000 (08:12 -0300)]
NEWS: document mtime bugfix
Mark Walters [Sun, 25 Sep 2016 07:18:10 +0000 (08:18 +0100)]
emacs: tree: make b bounce a message and backspace scroll message pane up
This tweaks the keybindings in tree-mode. It make b do bounce/resend
matching show-mode. Since b was already bound to scroll message pane
back, we now use backspace for that.
This means space/backspace scroll the message pane forwards/backwards,
and page-up/page-down scrolls the tree pane forwards/backwards.
David Bremner [Mon, 26 Sep 2016 10:39:25 +0000 (07:39 -0300)]
debian: update symbols for 0.23
New sub-APIs: config, built_with, message_property. A new exception used
internally. Mark the exception as optional, as it only shows up when
built against Xapian supporting FieldProcessors
David Bremner [Mon, 26 Sep 2016 10:30:15 +0000 (07:30 -0300)]
debian: changelog stanza for 0.23~rc0-1
David Bremner [Mon, 26 Sep 2016 10:22:21 +0000 (07:22 -0300)]
version: bump to 0.23~rc0
Mark Walters [Sun, 18 Sep 2016 10:57:32 +0000 (11:57 +0100)]
emacs: tag deleted face bugfix
Commit
d25d33ff cleaned up some of the tag face code. However, for the
face notmuch-tag-deleted it used the test
((class color) (supports :strike-through))
to decide whether to use red strikethrough or inverse-video (emacs in
a terminal typically doesn't support red strikethrough, but in X it does).
However, it seems that test often returns true even though red
strikethrough is not supported. This breaks the tag update code -- the
wrong thing is displayed to the user.
Thus we make the test explicitly more specific, changing the test to
((class color) (supports :strike-through "red"))
Tomi Ollila [Sat, 24 Sep 2016 12:43:27 +0000 (15:43 +0300)]
test: test-lib.sh: use $BASH instead of ${SHELL-sh} to relaunch
In case of the test script is to be relaunced under valgrind, or --tee
is requested, use the $BASH shell variable to locate the command
interpreter. The $SHELL variable is re-set by non-interactive shells
so in case the shell uses some other shell (e.g. zsh) for interactive
use these bash scripts continue to work.
David Bremner [Fri, 23 Sep 2016 09:33:19 +0000 (06:33 -0300)]
lib: add talloc reference from string map iterator to map
This is needed so that when the map is modified during traversal, and
thus unlinked by the database code, the map is not disposed of until the
iterator is done with it.
Mark Walters [Mon, 19 Sep 2016 09:39:49 +0000 (10:39 +0100)]
emacs: tree: make jump close message pane
j is in the global notmuch keymap bound to notmuch jump. In tree-mode
it makes sense to close the message pane first (otherwise the new
search runs in the small top pane of tree-mode).
David Bremner [Tue, 13 Sep 2016 02:24:43 +0000 (23:24 -0300)]
test/emacs: add broken test for message replying to msg to self
This is a strange corner case where the removing of the user's address
from the To: header does the wrong thing. If we think it is
worth (eventually) fixing, this test can serve as a reminder.