Steven Allen [Fri, 13 Jan 2017 17:51:02 +0000 (09:51 -0800)]
docs: fix notmuch_message_properties_value documentation
It returns the value, not the key.
David Bremner [Mon, 9 Jan 2017 10:47:30 +0000 (06:47 -0400)]
Merge tag '0.23.5'
notmuch 0.23.5 release
Jani Nikula [Sun, 8 Jan 2017 17:09:45 +0000 (19:09 +0200)]
configure: remove leftover byte order test cleanup
Removing the removal of byteorder configure test files was overlooked
in commit
5a957c3f33e6 ("build & util: drop byte order configure check
and endian util header"). Finish the job.
David Bremner [Mon, 9 Jan 2017 10:25:01 +0000 (06:25 -0400)]
NEWS,debian: set date for release
Jani Nikula [Fri, 6 Jan 2017 21:29:28 +0000 (23:29 +0200)]
build & util: drop byte order configure check and endian util header
With the removal of the embedded libsha1, we lost the first and last
user of the platform byte order checks. Remove them from configure,
and remove the endian util header.
Jani Nikula [Fri, 6 Jan 2017 21:29:27 +0000 (23:29 +0200)]
lib: use glib for sha1 digests instead of embedding libsha1
We already depend on glib both directly and indirectly (via gmime). We
might as well make use of its facilities. Drop the embedded libsha1
and use glib for sha1 digests.
Tomi Ollila [Sat, 7 Jan 2017 09:47:27 +0000 (11:47 +0200)]
test: allow user to choose which gdb to run tests with
The variable used for selecting gdb is TEST_GDB, consistent with
TEST_CC and TEST_EMACS{,CLIENT}.
David Bremner [Sun, 8 Jan 2017 12:42:26 +0000 (08:42 -0400)]
Merge branch 'release'
These are the (tentative) changes for 0.23.5
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
Jani Nikula [Sat, 17 Dec 2016 11:05:40 +0000 (13:05 +0200)]
lib: fix the todo comment placement on NOTMUCH_STATUS_XAPIAN_EXCEPTION
The todo comment got separated from the status it's related to at
commit
3f32fd8a1c06 ("Add missing comment for
NOTMUCH_STATUS_READONLY_DATABASE."). Later, commit
b65ca8e0ba5e ("lib:
modify notmuch.h for automatic document generation") moved it, but to
the wrong place. Fix the location.
Jani Nikula [Sat, 17 Dec 2016 16:20:27 +0000 (18:20 +0200)]
cli/config: rename name to key in _config_set_list
The other getters and setters speak of key, follow suit. No functional
changes.
Jani Nikula [Sat, 17 Dec 2016 16:20:26 +0000 (18:20 +0200)]
cli/config: allocate config using talloc_zero
Do not initialize each field separately. It's more robust to allocate
the config with zero initialization, and only set the non-zero
defaults individually.
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 [Wed, 28 Dec 2016 23:41:20 +0000 (08:41 +0900)]
Merge branch 'release'
merge 0.23.4 release
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
Ioan-Adrian Ratiu [Sat, 10 Dec 2016 19:54:07 +0000 (21:54 +0200)]
notmuch-config: replace config reading function
Config files are currently read using glib's g_key_file_load_from_file
function which is very inconvenient because it's limited by design to read
only from "regular data files" in a filesystem. Because of this limitation
notmuch can't read configs from pipes, fifos, sockets, stdin, etc. Not even
"notmuch --config=/dev/stdin" works:
Error reading configuration file /dev/stdin: Not a regular file
So replace g_key_file_load_from_file with g_key_file_load_from_data which
gives us much more freedom to read configs from multiple sources.
This also helps the more security sensitive users: If someone has private
information in the config file, it can be encrypted on disk, then decrypted
in RAM and passed through a pipe directly to notmuch without the use of
intermediate plain text files.
Signed-off-by: Ioan-Adrian Ratiu <adi@adirat.com>
Jani Nikula [Sat, 10 Dec 2016 19:54:06 +0000 (21:54 +0200)]
cli: abstract config file reading to a separate function
Simplify and fix the coding style while at it.
David Bremner [Thu, 15 Dec 2016 12:57:10 +0000 (21:57 +0900)]
Merge branch 'release'
Add back in no-display parameter by hand.
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 [Wed, 7 Dec 2016 11:28:46 +0000 (07:28 -0400)]
Merge branch 'release'
Merge changes for notmuch-insert error handling, debian bugfix release
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.
Jani Nikula [Sun, 27 Nov 2016 09:59:34 +0000 (11:59 +0200)]
test: check the handling of files vanishing between scandir and indexing
Add a file for scandir to find, but use gdb to remove it before it
gets indexed.
David Bremner [Sun, 27 Nov 2016 12:04:38 +0000 (08:04 -0400)]
test: clean up corpora.email
When we renamed corpus to corpora, we missed a spot.
David Bremner [Thu, 1 Dec 2016 12:57:48 +0000 (08:57 -0400)]
Merge branch 'release'
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.
Jani Nikula [Sat, 26 Nov 2016 09:43:49 +0000 (11:43 +0200)]
build: update the desktop database after installing the desktop file
This makes the option to choose Notmuch as mailto: handler show up in
the desktop environment settings. Ignore errors.
Jani Nikula [Sat, 26 Nov 2016 09:37:17 +0000 (11:37 +0200)]
build: install notmuch-emacs-mua.desktop file with emacs
There is really no need to have a separate install target for the
desktop file. Just install the desktop file with emacs, with a
configure option to opt out.
Tomi Ollila [Sat, 26 Nov 2016 22:25:57 +0000 (00:25 +0200)]
doc: whitespace cleanup
In most part, our .rst documents are indented with 8 spaces instead
of tabs. Bring the rest of the lines to the same format.
Also, on one (supposedly empty) line, trailing spaces were removed.
David Bremner [Sun, 27 Nov 2016 12:09:17 +0000 (08:09 -0400)]
Merge tag '0.23.3'
notmuch 0.23.3 release
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:43:31 +0000 (08:43 -0400)]
Merge branch 'release'
Add Jani's fix for notmuch-new
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
Jani Nikula [Mon, 21 Nov 2016 21:13:38 +0000 (23:13 +0200)]
notmuch.desktop: move under emacs as notmuch-emacs-mua.desktop
The notmuch.desktop file is part of notmuch-emacs. Move it under
emacs, and rename as notmuch-emacs-mua.desktop to reflect this.
Jani Nikula [Mon, 21 Nov 2016 21:13:37 +0000 (23:13 +0200)]
build: install notmuch-emacs-mua with notmuch-emacs
notmuch-emacs-mua is good enough to be installed with notmuch-emacs.
Jani Nikula [Mon, 21 Nov 2016 21:13:36 +0000 (23:13 +0200)]
notmuch-emacs-mua: add --hello parameter
If the --hello parameter is given, display the notmuch hello buffer
instead of the message composition buffer if no message composition
parameters are given.
Signed-off-by: Jani Nikula <jani@nikula.org>
Jani Nikula [Mon, 21 Nov 2016 21:13:35 +0000 (23:13 +0200)]
emacs: move notmuch-emacs-mua under emacs
While the notmuch-emacs-mua script is a sort of cli command, it is
really a part of notmuch-emacs. Move it under the emacs directory.
Jani Nikula [Mon, 21 Nov 2016 21:13:34 +0000 (23:13 +0200)]
man: advertize notmuch-emacs-mua as notmuch emacs-mua subcommand
With subcommand handling for external commands we can now hide the
implementation detail of emacs-mua being a separate notmuch-emacs-mua
script.
David Bremner [Sat, 19 Nov 2016 17:44:29 +0000 (13:44 -0400)]
build/emacs: add target to create elpa package
This package can be created without emacs, but will only be usable in
versions of emacs supporting package.el
David Bremner [Sat, 19 Nov 2016 17:44:28 +0000 (13:44 -0400)]
build: Move variable definitions to Makefile.global
I noticed when trying to use VERSION (and derived variables) in a
subdirectory that the top level Makefile.local needed to be included
first. But according to
c10085c77b407d9ea704f8b4f9e0a805f63e72cb it
actually needs to be last. To break this conflict, move the variables
definitions into a new Makefile.global.
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 01:21:16 +0000 (21:21 -0400)]
Merge branch 'release'
Initial set of changes for 0.23.3
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:50:10 +0000 (08:50 -0400)]
Merge tag '0.23.2'
notmuch 0.23.2 release
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
Jani Nikula [Sat, 5 Nov 2016 20:18:18 +0000 (22:18 +0200)]
build: only install known man pages
Install man pages based on $(MAN_GZIP_FILES), which directly
corresponds to the man page source rst files. This way we can filter
the man pages to be installed as needed.
Jani Nikula [Sat, 5 Nov 2016 20:18:17 +0000 (22:18 +0200)]
build: generate man page list from source files, not conf.py
Use $(wildcard ...) to generate the list of man pages based on the rst
source files present in the man page directories, instead of reading
conf.py. This has three main benefits:
1) This makes the man page build slightly less complicated and easier
to understand. At least there are fewer moving parts.
2) This makes the build fail if we add a man page rst file, but fail
to add it to conf.py.
3) We can use Sphinx constructs in conf.py that are not available when
importing the file into a normal python program such as
mkdocdeps.py.
Jani Nikula [Sat, 5 Nov 2016 20:18:16 +0000 (22:18 +0200)]
build: do not touch roff files after sphinx-build
If Sphinx fails to create any of the roff files, having touch create
them hides the errors until someone realizes, possibly much later,
that the resulting files are empty. (Note that gzip doesn't fail on
empty input files.) Sphinx will change the timestamps of any files it
has written anyway.
Jani Nikula [Sat, 5 Nov 2016 20:18:15 +0000 (22:18 +0200)]
doc: fix references in notmuch-emacs.rst
Fix make sphinx-texinfo warnings:
WARNING: undefined label: notmuch-jump (if the link has no caption the
label must precede a section header)
WARNING: undefined label: notmuch-saved-searches (if the link has no
caption the label must precede a section header)
Jani Nikula [Sat, 5 Nov 2016 20:18:14 +0000 (22:18 +0200)]
doc/conf.py: include command name in texinfo document title
Seems to make more sense than to have the same title for everything.
Jani Nikula [Sat, 5 Nov 2016 20:18:13 +0000 (22:18 +0200)]
doc/conf.py: reindent, whitespace clean man page, texinfo lists
No functional changes.
Jani Nikula [Sat, 5 Nov 2016 20:18:12 +0000 (22:18 +0200)]
doc/conf.py: abstract notmuch authors
Don't repeat the same stuff so much. We probably don't want to track
individual authors for man/texinfo pages anyway.
No user visible changes.
Jani Nikula [Sat, 5 Nov 2016 20:18:11 +0000 (22:18 +0200)]
doc/conf.py: generate texinfo_documents list from man_pages list
No need to repeat mostly the same information twice in conf.py. We
probably want to have a corresponding texinfo document for all the man
pages. Python list comprehension to the rescue. (The reverse is not
true; we have a texinfo document for notmuch-emacs we don't want as a
man page.)
There should be no user visible changes.
Jani Nikula [Sat, 5 Nov 2016 20:18:10 +0000 (22:18 +0200)]
doc/conf.py: add notmuch-emacs-mua to texinfo documents
This was overlooked when adding the man page.
David Bremner [Thu, 17 Nov 2016 12:25:08 +0000 (08:25 -0400)]
Merge branch 'release'
Updates for 0.23.2
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.
David Bremner [Wed, 5 Oct 2016 11:34:34 +0000 (08:34 -0300)]
lib: optionally silence Xapian deprecation warnings
This is not ideal, but the new API is not available in Xapian 1.2.x, and
it seems to soon to depend on Xapian >= 1.4
Mark Walters [Mon, 14 Nov 2016 13:49:28 +0000 (13:49 +0000)]
Test: fix draft test for emacs23
emacs24 and emacs23 have different secure tag defaults: in particular,
mml-secure-message-sign only signs the part on emacs23 but the whole
message on emacs24. This difference makes one of the draft tests fail
(which causes a cascade of later failures) on emacs23. It seems that
travis uses emacs23 so it is useful to fix this.
We do this by forcing the whole message to be signed in either case --
the code snippet is extracted from mml-secure-message-sign on emacs24.
David Bremner [Sun, 13 Nov 2016 14:08:50 +0000 (14:08 +0000)]
emacs: resume messages
Provide functionality to resume editing a message previously saved with
notmuch-draft-save, including decoding the X-Notmuch-Emacs-Secure
header.
Resume gets the raw file from notmuch and using the emacs function
mime-to-mml reconstructs the message (including attachments).
'e' is bound to resume a draft from show or tree mode.
David Bremner [Sun, 13 Nov 2016 14:08:49 +0000 (14:08 +0000)]
emacs: check drafts for encryption tags before saving
In general the user may not want to save plaintext copies of messages
that they are sending encrypted, so give them a chance to abort.
Mark Walters [Sun, 13 Nov 2016 14:08:48 +0000 (14:08 +0000)]
emacs: postpone a message
This provides initial support for postponing in the emacs frontend;
resuming will follow in a later commit. On saving/postponing it uses
notmuch insert to put the message in the notmuch database
Current bindings are C-x C-s to save a draft, C-c C-p to postpone a
draft (save and exit compose buffer).
Previous drafts get tagged deleted on subsequent saves, or on the
message being sent.
Each draft gets its own message-id, and we use the namespace
draft-.... for draft message ids (so, at least for most people, drafts
are easily distinguisable).
Mark Walters [Sun, 13 Nov 2016 14:08:47 +0000 (14:08 +0000)]
emacs: tree: remove binding for pressing button in message pane
We want to use "e" for editting postponed messages in show, and in
tree view, so remove the binding for the function which does
(In message pane) Activate BUTTON or button at point
David Bremner [Sun, 13 Nov 2016 12:52:17 +0000 (08:52 -0400)]
emacs: rename notmuch-address-completion-hook to notmuch-address-post-completion-functions
Apparently it is a (not completely adhered to) emacs convention [1] that
only hooks that don't take arguments end in 'hook'
[1]: https://www.gnu.org/software/emacs/manual/html_node/elisp/Hooks.html
Jani Nikula [Wed, 2 Nov 2016 18:46:47 +0000 (20:46 +0200)]
completion: complete mimetype: search prefix
Use /etc/mime.types if available, parsed using a sed one-liner, and
fall back to a handful of common types otherwise.
David Bremner [Fri, 4 Nov 2016 01:02:43 +0000 (22:02 -0300)]
emacs: add notmuch-address-post-completion-hook
This hook can be used to update the message based on the results of
address completion. For example using message-templ or gnus-alias to set
the From address based on the To address just completed.
The post-completion command is added to the notmuch-company backend to
ensure that the hook is also called company completion is started
without going through notmuch-address-expand-name. See the docstring of
`company-backends' for more information.
Mark Walters [Wed, 21 Sep 2016 15:49:19 +0000 (16:49 +0100)]
emacs: tree: use message pane decryption state for replies
This makes replying to a message in tree view, use the decrypted state
from the message pane if it is open. Previously it just used the
global decryption state from notmuch-crypto-process-mime.
In particular if notmuch-crypto-process-mime is nil, and the user
views the messages (which doesn't decrypt), toggles decryption in the
message pane, and then replies, the reply will be decrypted.
Mark Walters [Wed, 21 Sep 2016 15:49:18 +0000 (16:49 +0100)]
emacs: tree: allow the user to decrypt the message pane
This makes $ in the tree pane toggle decryption in the message
pane. Without this the user can only decrypt the message pane by
switching to it, or by setting decryption on globally by setting
notmuch-crypto-process-mime to t.
Jani Nikula [Sat, 22 Oct 2016 11:22:49 +0000 (14:22 +0300)]
notmuch-emacs-mua: add support for mailto: URL handling
Add support for composing an email in the Notmuch Emacs UI using a
mailto: URL. The mailto: URL mode is mutually exclusive with
specifying other message modifying parameters and positional
arguments.
Matt Armstrong [Fri, 28 Oct 2016 22:31:42 +0000 (15:31 -0700)]
emacs: make faces readable on dark backgrounds.
The notmuch-tag-flagged, notmuch-search-flagged-face and
notmuch-crypto-part-header faces defaulted to "blue", which is nearly
unreadable when a dark background is in use. This is addressed by using
"LightBlue1" for dark backgrounds.
As a side effect, these faces are now no-op definitions for grayscale or
mono displays.
Jani Nikula [Sat, 22 Oct 2016 12:50:05 +0000 (15:50 +0300)]
cli: try to run external notmuch- prefixed commands as subcommands
If the given subcommand is not known to notmuch, try to execute
external notmuch-<subcommand> instead. This allows users to have their
own notmuch related tools be run via the notmuch command, not unlike
git does. Also notmuch-emacs-mua will be executable via 'notmuch
emacs-mua'.
By design, this does not allow notmuch's own subcommands to be
overriden using external commands.
Mark Walters [Sun, 16 Oct 2016 16:12:23 +0000 (17:12 +0100)]
emacs: make notmuch-search-tag tag the region when called non-interactively.
The normal tag commands in search mode tag the all threads meeting the
region when called interactively. This makes them do the same when
called non-interactively. This is a change in the api.
David Bremner [Wed, 26 Oct 2016 00:57:23 +0000 (21:57 -0300)]
Merge branch 'release'
merge interesting buffers bugfix from release
David Bremner [Wed, 5 Oct 2016 11:34:33 +0000 (08:34 -0300)]
lib: replace deprecated xapian call 'flush()' with 'commit()'
This will make notmuch incompatible with Xapian before 1.1.0, which is
more than 6 years old this point.
Tomi Ollila [Sun, 9 Oct 2016 20:36:07 +0000 (23:36 +0300)]
test/test-lib.sh: execute basename(1)s lazier in test_expect_equal_file ()
Moved the 2 basename(1) executions to the test failure branch in
test_expect_equal_file ().
The output of basename(1) executions in function test_expect_equal_file ()
are only used when tests fails -- when all tests pass these 2 basename(1)
executions are no longer done at all.
Mark Walters [Sat, 15 Oct 2016 18:25:19 +0000 (19:25 +0100)]
emacs: tree: make tag updates show in the message pane
This makes tag changes appear in the message pane as well as in the
tree window.
Note that the message pane is reloaded each time a message is viewed
so the tags shown in the message pane can still be different from
those in the tree window. Usually this will just be that the tag
change is still shown as a change (strikethough underline etc) in the
tree window, and are shown after the change in the message
pane. However, if something else updates the database then the tags
shown can be genuinely different.