Daniel Kahn Gillmor [Sat, 23 Mar 2019 12:35:44 +0000 (13:35 +0100)]
build: Rename GPG_FILE to DETACHED_SIG_FILE
This is just a semantic cleanup -- we have multiple files that are
OpenPGP signatures. And while we're probably making signatures with
GnuPG, they can be verified with any OpenPGP implementation, so "GPG_"
is arguably both not specific enough, and overly-specific.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Sat, 23 Mar 2019 12:35:43 +0000 (13:35 +0100)]
build: distribute signed sha256sums
Distribute clearsigned sha256sum file in addition to the detached
signature.
Verifies that use the sha256sum ensure that the thing signed includes
the name of the tarball. This defends the verifier by default against
a freeze, rollback, or project substitution attack.
A verifier can use something like the following (as expressed in
bash):
set -o pipefail
wget https://notmuchmail.org/releases/notmuch-$VERSION.tar.gz{,.sha256.asc}
gpgv --keyring ./notmuch-signers.pgp --output - notmuch-$VERSION.tar.gz.sha256.asc | sha256sum -c -
See id:87r2b8w956.fsf@fifthhorseman.net and other messages in that
thread for discussion.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Sat, 23 Mar 2019 12:35:42 +0000 (13:35 +0100)]
build: ensure that SHA256_FILE is built
The SHA256_FILE used to be built automatically because of the makefile
dependencies.
Since
b8a8dbed91d16299a8768646fb6f18181f31ec40, it isn't getting made
properly, so the release target would fail.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Sat, 23 Mar 2019 12:51:03 +0000 (13:51 +0100)]
doc: Clean up warnings when building notmuch-emacs docs
Without this change, we see this during the build:
sphinx-build -b html -d doc/_build/doctrees -q ./doc doc/_build/html
…/doc/notmuch-emacs.rst:67: WARNING: Unexpected indentation.
…/doc/notmuch-emacs.rst:165: WARNING: Unexpected indentation.
…/doc/notmuch-emacs.rst:306: WARNING: Unexpected indentation.
This source change doesn't seem to have any effect on the generated
HTML, at least.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
David Bremner [Tue, 19 Mar 2019 23:50:28 +0000 (20:50 -0300)]
doc/build: use $(MAKE) instead of make
This should silence some warnings about the jobserver, but also make
it easier to build the docs where GNU make is called something other
than make.
Based on a patch from aidecoe.
Luis Ressel [Tue, 26 Feb 2019 02:06:49 +0000 (03:06 +0100)]
Add a configure flag to disable rpaths
Better support build environments where our /sbin/ldconfig based
heuristic does not work (e.g. some musl libc based systems).
David Bremner [Wed, 13 Feb 2019 02:17:03 +0000 (22:17 -0400)]
build: sign tarball instead of sha256sum
Adam Majer pointed out in [1] the way were signing releases was
unusual. Neither Carl nor I could think of a good reason for
explicitely signing the checksum (internally of course that's what GPG
is going anyway).
[1] mid:
b3fd556d-c346-7af9-a7a2-
13b0f3235071@suse.de
David Bremner [Sat, 2 Mar 2019 20:26:06 +0000 (16:26 -0400)]
util: make remaining headers includable from C++
libnotmuch_util.a is supposed to be usable from the library and the
CLI, but much the library is compiled as C++. Add in appropriate
wrapping to prevent symbol mangling. These wrappers already existed in
string-util.h; it seems better to be consistent.
Luis Ressel [Mon, 11 Mar 2019 17:14:49 +0000 (18:14 +0100)]
Prepend regerror() messages with "regexp error: "
The exact error messages returned by regerror() aren't standardized;
relying on them isn't portable. Thus, add a a prefix to make clear that
the subsequent message is a regexp parsing error, and only look for this
prefix in the test suite, ignoring the rest of the message.
Luis Ressel [Mon, 11 Mar 2019 17:14:48 +0000 (18:14 +0100)]
test/T030-config: Separate stdout and stderr output
POSIX doesn't specify the flushing behaviour of the STDOUT stream, so
it's invalid to assume a particular order between the stdout and stderr
output. The current test breaks on musl due to this.
David Bremner [Wed, 6 Mar 2019 13:30:07 +0000 (09:30 -0400)]
Merge branch 'release'
David Bremner [Wed, 6 Mar 2019 13:18:32 +0000 (09:18 -0400)]
travis: switch to xenial build env
In principle we'd like everything to work with ancient versions. In
practice someone needs drive that effort.
David Bremner [Wed, 6 Mar 2019 12:53:26 +0000 (08:53 -0400)]
Merge branch 'release'
Changes from 0.28.3
David Bremner [Tue, 5 Mar 2019 19:39:09 +0000 (15:39 -0400)]
Declare fast forward from 0.28.2-1
[dgit --overwrite]
David Bremner [Tue, 5 Mar 2019 19:40:15 +0000 (15:40 -0400)]
debian: changelog stanza for 0.28.3-1
David Bremner [Tue, 5 Mar 2019 19:36:43 +0000 (15:36 -0400)]
NEWS for 0.28.3
David Bremner [Tue, 5 Mar 2019 19:30:52 +0000 (15:30 -0400)]
bump version to 0.28.3
David Bremner [Sun, 3 Mar 2019 03:30:59 +0000 (23:30 -0400)]
doc: sequentialize calls to sphinx-build
In certain conditions the parallel calls to sphinx-build could
collide, yielding a crash like
Exception occurred:
File "/usr/lib/python3/dist-packages/sphinx/environment.py", line 1261, in get_doctree
doctree = pickle.load(f)
EOFError: Ran out of input
David Bremner [Sat, 2 Mar 2019 18:10:51 +0000 (14:10 -0400)]
lib/string_map: fix return type of string_cmp
I can't figure out how checking the sign of a bool ever worked. The
following program demonstrates the problem (i.e. for me it prints 1).
#include <stdio.h>
#include <stdbool.h>
int main(int argc, char **argv) {
bool x;
x = -1;
printf("x = %d\n", x);
}
This seems to be mandated by the C99 standard 6.3.1.2.
David Bremner [Tue, 5 Mar 2019 18:56:29 +0000 (14:56 -0400)]
lib: Add known broken test for string_map binary search.
Because the string_map functions are not exported, we test via message
properties.
Vincent A [Sun, 27 Jan 2019 08:40:17 +0000 (09:40 +0100)]
python: fix get_property error when property doesn't exist
In Python bindings, Message.get_property fails with an AttributeError when trying to fetch a property that doesn't exist.
From
d712832ba982085975c27b23bb502af82e638b39 Mon Sep 17 00:00:00 2001
From: hydrargyrum <dev@indigo.re>
Date: Sun, 6 Jan 2019 16:08:55 +0100
Subject: [PATCH] python: fix get_property error when property doesn't exist
Matt Armstrong [Sat, 16 Feb 2019 20:27:30 +0000 (12:27 -0800)]
Emacs: bind "g" to 'notuch-refresh-this-buffer
Using "g" for refresh operations is a pretty common Emacs convention,
codified by `special-mode' in simple.el.
David Bremner [Sun, 17 Feb 2019 21:08:12 +0000 (17:08 -0400)]
Merge tag '0.28.2'
notmuch 0.28.2 release
David Bremner [Sun, 17 Feb 2019 11:32:59 +0000 (07:32 -0400)]
bump version
David Bremner [Sun, 17 Feb 2019 11:31:16 +0000 (07:31 -0400)]
debian: changelog for 0.28.2-1
David Bremner [Sun, 17 Feb 2019 11:28:15 +0000 (07:28 -0400)]
NEWS for 0.28.2
David Bremner [Sun, 17 Feb 2019 11:30:33 +0000 (07:30 -0400)]
Record notmuch (0.28.2-1) in archive suite sid
David Bremner [Sun, 17 Feb 2019 11:30:33 +0000 (07:30 -0400)]
notmuch (0.28.2-1) unstable; urgency=medium
* [notmuch-emacs] Invoke gpg from with --batch and --no-tty
[dgit import unpatched notmuch 0.28.2-1]
David Bremner [Sun, 17 Feb 2019 11:30:33 +0000 (07:30 -0400)]
Import notmuch_0.28.2.orig.tar.gz
[dgit import orig notmuch_0.28.2.orig.tar.gz]
David Bremner [Sun, 17 Feb 2019 11:30:33 +0000 (07:30 -0400)]
Import notmuch_0.28.2-1.debian.tar.xz
[dgit import tarball notmuch 0.28.2-1 notmuch_0.28.2-1.debian.tar.xz]
Jani Nikula [Mon, 11 Feb 2019 18:22:37 +0000 (20:22 +0200)]
python: fix threads.__str__ automethod documentation
Indent the directive properly to attach it to Threads autoclass
documentation.
Fixes:
WARNING: don't know which module to import for autodocumenting
'__str__' (try placing a "module" or "currentmodule" directive in the
document, or giving an explicit module name)
Jani Nikula [Mon, 11 Feb 2019 18:22:36 +0000 (20:22 +0200)]
python: fix documentation title underline
Fix documentation build sphinx warning:
filesystem.rst:18: WARNING: Title underline too short.
Jani Nikula [Mon, 11 Feb 2019 18:22:35 +0000 (20:22 +0200)]
python: fix documentation build with python 3.7
The simplistic mocking in conf.py falls short on python 3.7. Just use
unittest.mock instead.
Fixes:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/sphinx/config.py", line 368, in eval_config_file
execfile_(filename, namespace)
File "/usr/lib/python3/dist-packages/sphinx/util/pycompat.py", line 150, in execfile_
exec_(code, _globals)
File "/path/to/notmuch/bindings/python/docs/source/conf.py", line 39, in <module>
from notmuch import __VERSION__,__AUTHOR__
File "/path/to/notmuch/bindings/python/notmuch/__init__.py", line 54, in <module>
from .database import Database
File "/path/to/notmuch/bindings/python/notmuch/database.py", line 25, in <module>
from .globals import (
File "/path/to/notmuch/bindings/python/notmuch/globals.py", line 48, in <module>
class NotmuchDatabaseS(Structure):
TypeError: __mro_entries__ must return a tuple
David Bremner [Sun, 10 Feb 2019 13:47:47 +0000 (09:47 -0400)]
Merge branch 'release'
Daniel Kahn Gillmor [Sat, 9 Feb 2019 17:34:37 +0000 (12:34 -0500)]
emacs: Invoke gpg with --batch and --no-tty
When invoking gpg as a backgrounded tool, it's important to let gpg
know that it is backgrounded, to avoid spurious prompts or other
breakage.
In particular, https://bugs.debian.org/913614 was a regression in
GnuPG which causes problems when importing keys without a terminal,
but gpg expects one.
Ensuring that notmuch-emacs always invokes gpg as a background process
should avoid some of these unnecessary failure.
Thanks to Justus Winter for finding this problem.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
David Bremner [Fri, 1 Feb 2019 12:35:20 +0000 (08:35 -0400)]
Merge tag '0.28.1'
notmuch 0.28.1 release
David Bremner [Fri, 1 Feb 2019 12:08:13 +0000 (08:08 -0400)]
bump copyright year
David Bremner [Fri, 1 Feb 2019 12:06:38 +0000 (08:06 -0400)]
update version to 0.28.1
David Bremner [Fri, 1 Feb 2019 12:05:42 +0000 (08:05 -0400)]
changelog for 0.28.1-1
David Bremner [Fri, 1 Feb 2019 12:03:14 +0000 (08:03 -0400)]
NEWS for bash related configuration change
David Bremner [Thu, 17 Jan 2019 02:11:32 +0000 (22:11 -0400)]
Debian: use new variable to force bash location
This should no longer be needed on the official debian autobuilders,
but it might help others with merged /usr build environments.
David Bremner [Thu, 17 Jan 2019 02:11:31 +0000 (22:11 -0400)]
configure: don't use special variable BASH
bash, in it's wisdom, sets that variable when invoked as /bin/sh, but
then doesn't act as bash, at least not to the degree we need to run
scripts.
David Bremner [Wed, 30 Jan 2019 11:15:59 +0000 (07:15 -0400)]
emacs: use ".ps" suffix for PostScript temporary files.
Joerg Jaspert [1] reported problems with evince reading unsuffixed
temporary files in Debian.
[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=920856
Peter Wang [Sun, 27 Jan 2019 06:54:59 +0000 (17:54 +1100)]
doc: fix references to search.exclude_tags
The documentation incorrectly referred to a configuration item
"search.tag_exclude" in some places, instead of "search.exclude_tags".
Tomi Ollila [Wed, 19 Dec 2018 16:59:49 +0000 (18:59 +0200)]
configure: check that the version of emacs we may have is at least 24
This also effectively drops support to Emacs version 23, which was
deprecated in version 0.23.2 (2016-11-20) and did not entirely work
any more.
rhn [Mon, 17 Dec 2018 17:57:48 +0000 (17:57 +0000)]
docs: Use correct call to notmuch_query_search_threads in usage example
Amended by db: simplify (subjectively) the example.
rhn [Mon, 17 Dec 2018 17:57:47 +0000 (17:57 +0000)]
test: Check for replies obeying lifetime guarantees
The test attempts to check that a message coming from a thread outlives its messages list and gets destroyed together with the thread.
rhn [Mon, 17 Dec 2018 17:57:46 +0000 (17:57 +0000)]
lib: Explicitly state when replies will be destroyed
Without an explicit guarantee, it's not clear how to use the reference.
David Bremner [Thu, 20 Dec 2018 08:30:11 +0000 (17:30 +0900)]
doc: make man pages depend on emacs docstrings
This is nonsensical on the face of it, but is needed (for now) because
the notmuch-emacs page is unconditionally included in index.rst.
David Bremner [Thu, 14 Jun 2018 00:32:45 +0000 (21:32 -0300)]
doc/emacs: document notmuch-cycle-notmuch-buffers
For some reason I couldn't find this when I searched, so add it to the
manual.
David Bremner [Thu, 14 Jun 2018 00:32:44 +0000 (21:32 -0300)]
doc/emacs: document notmuch-poll*
The current "documentation" for these variables consists of only the
variable names.
David Bremner [Thu, 14 Jun 2018 00:32:43 +0000 (21:32 -0300)]
doc/emacs: document notmuch-tagging-keys
Calling these "Global keys" is arguably a bit of a stretch, but they
do work in all notmuch modes except notmuch-hello.
David Bremner [Thu, 14 Jun 2018 00:32:42 +0000 (21:32 -0300)]
doc/emacs: document notmuch-message-headers*
More precisely, copy the docstrings into notmuch-emacs documentation pages.
David Bremner [Thu, 14 Jun 2018 00:32:41 +0000 (21:32 -0300)]
doc/emacs: add documentation for stashing 'c X' bindings
This is the first of a series of changes requiring the extracted docstrings.
David Bremner [Thu, 14 Jun 2018 00:32:40 +0000 (21:32 -0300)]
doc/emacs: require extracted docstrings for sphinx or info manual
We need to use the stamp file here in order not to depend on the order
the submakefiles are included.
David Bremner [Thu, 14 Jun 2018 00:32:38 +0000 (21:32 -0300)]
emacs: build docstring (rsti) files
These are intended to included in the sphinx manual for notmuch-emacs.
The stamp file makes it easier to depend on the docstrings from other
parts of the build
David Bremner [Thu, 14 Jun 2018 00:32:35 +0000 (21:32 -0300)]
emacs: initial version of rstdoc.el
This small library is intended to support batch extraction of Emacs
Lisp docstrings from source files. Clients will need to include (or
replace) rstdoc.rsti.
David Edmondson [Mon, 1 Oct 2018 16:50:47 +0000 (17:50 +0100)]
reply: Include sender as recipient if they were the original recipient
When generating a reply message, if the user was the originator and
only recipient of the original message, include the user as a
recipient of the reply.
William Casarin [Mon, 8 Oct 2018 11:47:52 +0000 (04:47 -0700)]
emacs: filter tag completions by current query
When filtering by tags in notmuch-search-filter-by-tag, only return tags
related to the current query.
Before, it was returning all tags. There's no reason to refine the
current query with tags that don't exist in the current result set.
Signed-off-by: William Casarin <jb55@jb55.com>
Maxime Coste [Tue, 30 Oct 2018 23:54:32 +0000 (10:54 +1100)]
cli: notmuch show support for --include-html with --format=text
Maxime Coste [Tue, 30 Oct 2018 23:54:31 +0000 (10:54 +1100)]
cli: notmuch show support for --body=false with --format=text
David Bremner [Thu, 14 Jun 2018 00:32:37 +0000 (21:32 -0300)]
emacs: escape quote in docstring
This prevents emacs from turning it into a fancy, non-evaluable
docstring (and also makes it easier to deal with during extraction to
sphinx).
David Bremner [Thu, 14 Jun 2018 00:32:36 +0000 (21:32 -0300)]
emacs: require notmuch-lib from notmuch-wash.el
This is needed so that notmuch-wash.el is loadable by itself; in
particular for the docstring processing.
Daniel Kahn Gillmor [Sat, 6 Oct 2018 20:34:49 +0000 (15:34 -0500)]
Avoid spurious gcc warning in debugger.c
Without this patch, gcc 8.2.0-7 complains:
debugger.c: In function ‘debugger_is_active’:
debugger.c:40:24: warning: passing argument 2 to restrict-qualified parameter aliases with argument 1 [-Wrestrict]
if (readlink (buf, buf, sizeof (buf)) != -1 &&
~~~ ^~~
This is pretty silly, but it seems simplest to just avoid passing the
same buffer to readlink as both pathname and buf.
Daniel Kahn Gillmor [Sun, 7 Oct 2018 01:37:57 +0000 (21:37 -0400)]
index: explicitly follow GObject conventions
Use explicit labels for GTypeInfo member initializers, rather than
relying on comments and ordering. This is both easier to read, and
harder to screw up. This also makes it clear that we're mis-casting
GObject class initializers for gcc.
Without this patch, g++ 8.2.0-7 produces this warning:
CXX -g -O2 lib/index.o
lib/index.cc: In function ‘GMimeFilter* notmuch_filter_discard_non_term_new(GMimeContentType*)’:
lib/index.cc:252:23: warning: cast between incompatible function types from ‘void (*)(NotmuchFilterDiscardNonTermClass*)’ {aka ‘void (*)(_NotmuchFilterDiscardNonTermClass*)’} to ‘GClassInitFunc’ {aka ‘void (*)(void*, void*)’} [-Wcast-function-type]
(GClassInitFunc) notmuch_filter_discard_non_term_class_init,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The definition of GClassInitFunc in
/usr/include/glib-2.0/gobject/gtype.h suggests that this function will
always be called with the class_data member of the GTypeInfo. We set
that value to NULL in both GObject definitions in notmuch. So we mark
it as explicitly unused.
There is no functional change here, just code cleanup.
David Bremner [Sat, 13 Oct 2018 00:01:06 +0000 (21:01 -0300)]
Merge tag 'debian/0.28-2'
notmuch release 0.28-2 for unstable (sid) [dgit]
[dgit distro=debian]
David Bremner [Fri, 12 Oct 2018 23:51:45 +0000 (20:51 -0300)]
debian: override location of bash
Yes, a build chroot can have /usr/bin/bash, thanks to usrmerge, but we
can't depend on it existing in the user's system.
David Bremner [Fri, 12 Oct 2018 23:18:14 +0000 (20:18 -0300)]
version: bump to 0.28
David Bremner [Fri, 12 Oct 2018 23:17:06 +0000 (20:17 -0300)]
debian: changelog stanza for 0.28-1
David Bremner [Sat, 6 Oct 2018 02:02:30 +0000 (23:02 -0300)]
NEWS: NEWS for 0.28
This is based on my subjective assessment of what is user/packager
facing and important from the output of 'git shortlog'
David Edmondson [Thu, 4 Oct 2018 09:45:45 +0000 (10:45 +0100)]
emacs: Update integration with third party packages.
`mm-inline-text-html-with-images' was removed from mm-decode.el in
2016 and replaced with `mm-html-inhibit-images'.
`gnus-select-frame-set-input-focus' was removed from gnus-util.el in
2016 and existed only for XEmacs compatibility.
Daniel Kahn Gillmor [Sun, 7 Oct 2018 04:09:20 +0000 (00:09 -0400)]
test: git should ignore message-id-parse
b31e44c678bf3bfe81bcc5f159e627551f12700f introduced message-id-parse
as a new binary created by the test suite. It shows up as something
additional to git, but git ought to know to ignore it.
David Bremner [Wed, 3 Oct 2018 23:24:57 +0000 (20:24 -0300)]
debian: changelog for 0.28~rc0-1
David Bremner [Wed, 3 Oct 2018 23:19:08 +0000 (20:19 -0300)]
NEWS: start NEWS for 0.28
Just a stub for now.
David Bremner [Wed, 3 Oct 2018 23:17:46 +0000 (20:17 -0300)]
version: bump to 0.28~rc0
David Bremner [Tue, 18 Sep 2018 11:19:24 +0000 (13:19 +0200)]
debian: update zsh completion installation
This ${prefix}/share/vendor-completion convention seems to be debian
specific, so leave the global default alone for now.
Vincent Breitmoser [Tue, 18 Sep 2018 11:19:23 +0000 (13:19 +0200)]
completion: more complete completion for zsh.
This adds completion files for zsh that cover most of notmuch's cli.
The files in completion/zsh are formatted so that they can be found by
zsh's completion system if put $fpath. They are also registered to the
notmuch-* pattern, so they can be called externally using _dispatch.
Update installation recipe and drop debian/notmuch.examples to avoid
breakage. This means zsh completion is not installed for debian, to be
fixed in a future commit.
Amended by db: use regexp searching for address completion. This seems
to be fast enough to work without a cache.
David Edmondson [Tue, 25 Sep 2018 15:09:10 +0000 (16:09 +0100)]
emacs: Call `notmuch-mua-send-hook' hooks when sending a message
Previously any hook functions attached to `notmuch-mua-send-hook' were
ignored.
David Edmondson [Tue, 25 Sep 2018 15:09:09 +0000 (16:09 +0100)]
test: Check that `notmuch-mua-send-hook' is called on sending a message
Vincent Breitmoser [Mon, 17 Sep 2018 12:49:32 +0000 (14:49 +0200)]
python: fix unchecked None access in get_property
David Bremner [Sun, 16 Sep 2018 17:08:09 +0000 (14:08 -0300)]
debian: update notmuch-mutt packaging to use install target
David Bremner [Sun, 16 Sep 2018 17:08:08 +0000 (14:08 -0300)]
debian: bump compat level to 11
The immediate motivation is to have dh_installman look in debian/tmp
David Bremner [Sun, 16 Sep 2018 17:08:07 +0000 (14:08 -0300)]
contrib/notmuch-mutt: add install target
The main goal here is to be able to install the notmuch-mutt script
with an absolute shebang. I have tried to make the notmuch-mutt
Makefile use configure information from notmuch if available, but make
suitable guesses if not.
David Bremner [Sun, 16 Sep 2018 17:08:06 +0000 (14:08 -0300)]
configure: absolute path of perl
This can be used to set shebang lines during install.
David Bremner [Sun, 16 Sep 2018 17:08:05 +0000 (14:08 -0300)]
build: install notmuch-emacs-mua with absolute shebang
Follow distro-centric rules to reduce the chance of surprising
behaviour due to PATH changes
David Bremner [Sun, 16 Sep 2018 17:08:04 +0000 (14:08 -0300)]
configure: absolute path of bash
This can be used to set shebang lines during install.
David Bremner [Mon, 10 Sep 2018 01:36:17 +0000 (22:36 -0300)]
test: make regexp test conditional on field processors
Normally we'd mark it broken, but perversely missing regexp support
actually makes the test pass.
David Bremner [Mon, 10 Sep 2018 01:36:16 +0000 (22:36 -0300)]
test: mark thread subqueries broken without field processors
Currently these tests just fail when notmuch is built against Xapian
1.2.x
David Bremner [Fri, 14 Sep 2018 11:03:30 +0000 (08:03 -0300)]
debian: add tar-ignore=.git
Unfortunately
514fb397c9 somewhat messed up the "debian-snapshot"
target, by including .git in the generated tarball.
David Bremner [Sun, 9 Sep 2018 16:46:04 +0000 (13:46 -0300)]
Merge tag 'debian/0.27-3'
notmuch release 0.27-3 for unstable (sid) [dgit]
[dgit distro=debian]
David Bremner [Sun, 9 Sep 2018 16:06:00 +0000 (13:06 -0300)]
debian: drop argument-less tar-ignore
This hangs up dgit. It's probably not useful for users of the source
package to have debian/.gitignore, but it should not hurt.
David Edmondson [Sat, 8 Sep 2018 11:49:41 +0000 (12:49 +0100)]
test: Absolute and relative directory paths.
David Edmondson [Sat, 8 Sep 2018 11:49:40 +0000 (12:49 +0100)]
notmuch: Database paths without a leading / are relative to $HOME
If the database path specified in the configuration file does *not*
start with a /, presume that it is relative to $HOME and modify the
path used to open the database accordingly.
David Bremner [Sat, 8 Sep 2018 21:20:10 +0000 (18:20 -0300)]
Declare fast forward from 0.27-2
[dgit --overwrite]
David Bremner [Sat, 8 Sep 2018 19:15:10 +0000 (16:15 -0300)]
debian: add unversioned emacs, drop emacs23
In current Debian sid / testing, emacs25 is a transitional package,
and emacs-gtk, emacs-lucid, and emacs-nox are the real packages.
Emacs 23 is not available in emacs after oldoldstable.
David Bremner [Sat, 8 Sep 2018 19:07:05 +0000 (16:07 -0300)]
debian: update Vcs-Git URL
We should probably not git://, and it needs a branch to not confuse
e.g. vcswatch.
David Bremner [Thu, 30 Aug 2018 11:29:15 +0000 (08:29 -0300)]
lib: change parent strategy to use In-Reply-To if it looks sane
As reported by Sean Whitton, there are mailers (in particular the
Debian Bug Tracking System) that have sensible In-Reply-To headers,
but un-useful-for-notmuch References (in particular with the BTS, the
oldest reference is last). I looked at a sample of about 200K
messages, and only about 0.5% these had something other than a single
message-id in In-Reply-To. On this basis, if we see a single
message-id in In-Reply-To, consider that as authoritative.
David Bremner [Thu, 30 Aug 2018 11:29:14 +0000 (08:29 -0300)]
lib: add _notmuch_message_id_parse_strict
The idea is that if a message-id parses with this function, the MUA
generating it was probably sane, and in particular it's probably safe
to use the result as a parent from In-Reply-to.
David Bremner [Thu, 30 Aug 2018 11:29:13 +0000 (08:29 -0300)]
util/string-util: export skip_space
It's only few lines, but we already define the function, so make it
usable elsewhere
David Bremner [Thu, 30 Aug 2018 11:29:12 +0000 (08:29 -0300)]
test/thread-replies: mangle In-Reply-To's
In a future commit, we will start trusting In-Reply-To's when they
look sane (i.e. a single message-id). Modify these tests so they will
keep passing (i.e. keep choosing References) when that happens.