Commit graph

5866 commits

Author SHA1 Message Date
David Bremner
152b6cac5d 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.
2019-03-11 22:26:50 -03:00
Luis Ressel
9f7e851263 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.
2019-03-11 22:24:55 -03:00
Luis Ressel
a1e649276e 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.
2019-03-11 22:13:54 -03:00
David Bremner
9f68919ee7 Merge branch 'release' 2019-03-06 09:30:07 -04:00
David Bremner
35addc95ae travis: switch to xenial build env
In principle we'd like everything to work with ancient versions. In
practice someone needs drive that effort.
2019-03-06 09:29:30 -04:00
David Bremner
71eaa19350 Merge branch 'release'
Changes from 0.28.3
2019-03-06 08:53:26 -04:00
David Bremner
d124c0e416 Declare fast forward from 0.28.2-1
[dgit --overwrite]
2019-03-05 15:39:09 -04:00
David Bremner
69e047aeeb debian: changelog stanza for 0.28.3-1 2019-03-05 21:46:41 -04:00
David Bremner
e3dd209a33 NEWS for 0.28.3 2019-03-05 21:46:41 -04:00
David Bremner
1a4a1fe9c5 bump version to 0.28.3 2019-03-05 21:46:41 -04:00
David Bremner
dcf7fca2d9 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
2019-03-05 21:46:41 -04:00
David Bremner
e88297c072 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.
2019-03-05 21:46:41 -04:00
David Bremner
09595cf577 lib: Add known broken test for string_map binary search.
Because the string_map functions are not exported, we test via message
properties.
2019-03-05 21:46:41 -04:00
Vincent A
872bd134e3 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
2019-02-21 07:17:18 -04:00
Matt Armstrong
adde6dfaef 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.
2019-02-21 07:16:53 -04:00
David Bremner
c09aad4794 notmuch 0.28.2 release
-----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCAAdFiEE3VS2dnyDRXKVCQCp8gKXHaSnniwFAlxpUdkACgkQ8gKXHaSn
 nixjlAv+NZY5KFuC0jdI29AQrQKfWf45y/IJn3LKvOqWbTthSFxg/4ILRMVnWP62
 +MspiPL+BIFuEvNQNiYUQOJjCMQX+4/CkbBowCC8KXKOEKrgYOVAR3RS8JDxD1WH
 j5pjB1JQso9ZQkqeGr33LrRq18vVjv0VjixYHKOdSgrRUyP0FByi2UdMPJgnC9iK
 1yOK08jSSeMqU5zI092K1vHJNCUypw7YAXn96BReSqgFyHe7ri1N2HOhhtxS+L/5
 26ju3uKAiYntS+DxVyypFhz5aOCmto0A07KF8boyCB8QPf01WblXGnetHZaZx6SS
 bdE7YoJ/wHiw48L0JPLACDzZM6vYCWMBzUcEFm2/CDJsDf/u+SyRqVWo/kPQT1QG
 4hvWWXv2Jwc5YOid9zXhdEyQFdwYzFLuccKLdSPBq1ZriWITIkyFGF/2VZT1nysP
 AYOKGBLDr7bT3l6E/LVZbqvPwuelcgdtR9WJKaixS6GmlPIRkcB5wepbnVN0vIvq
 brUyul6Z
 =+mAW
 -----END PGP SIGNATURE-----

Merge tag '0.28.2'

notmuch 0.28.2 release
2019-02-17 17:08:12 -04:00
David Bremner
af0ff260cc bump version 2019-02-17 07:32:59 -04:00
David Bremner
d057824889 debian: changelog for 0.28.2-1 2019-02-17 07:32:00 -04:00
David Bremner
9e3f64d151 NEWS for 0.28.2 2019-02-17 07:32:00 -04:00
David Bremner
44862764d2 Record notmuch (0.28.2-1) in archive suite sid 2019-02-17 07:30:33 -04:00
David Bremner
c3a683299d 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]
2019-02-17 07:30:33 -04:00
David Bremner
f7130468d2 Import notmuch_0.28.2.orig.tar.gz
[dgit import orig notmuch_0.28.2.orig.tar.gz]
2019-02-17 07:30:33 -04:00
David Bremner
b1831332a6 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]
2019-02-17 07:30:33 -04:00
Jani Nikula
0888639489 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)
2019-02-16 09:03:56 -04:00
Jani Nikula
528e5ba2c8 python: fix documentation title underline
Fix documentation build sphinx warning:

filesystem.rst:18: WARNING: Title underline too short.
2019-02-16 09:02:55 -04:00
Jani Nikula
510dc8c837 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
2019-02-16 08:42:13 -04:00
David Bremner
3d0fd40eb0 Merge branch 'release' 2019-02-10 09:47:47 -04:00
Daniel Kahn Gillmor
3c752b855f 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>
2019-02-10 09:47:12 -04:00
David Bremner
87eb477ba5 notmuch 0.28.1 release
-----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCAAdFiEE3VS2dnyDRXKVCQCp8gKXHaSnniwFAlxUOSIACgkQ8gKXHaSn
 nizwvAv8DPoLLssPfwY1AJtc7+JQzAl5scpkjJbGYlzXWTkhD14Efnb0FzMFulRG
 fG4gpsqFA9iNJGT2uTKtYRvKayoMNQMk2eSk8IKyINIVO/jclNbsaSFhL7vqyzsm
 8l+A1UBQ2BsmUsv58ImoS/F65iF2ZBXu5OEEzqxzL+m+WBh9rNyuBaN4Arr64eVy
 f0V/CWYr9VmauuWg0UW3lZ2kwT2+eJDdw7/UwkdeaesuqypPrb+PyRbSDozr4yEj
 n+l0LsbP2iN2i8b0MBNS1vf9fSkUxhBmLzSoqJWbsEZFKwXLFTp5+TLyVxYDzKO5
 D5ug22DG4VFUOmvBaKkMdnavr8z0QZrfL1/z6998Ux+iYG/YrITsrAv02+BxXr5a
 MPmmhW+9x5AZBSP/qasvNCu/Zhczcu/DZ0oUe5qLXTY0yPsOWZRv/+iAWTxXbk+Q
 iS5wbmeZsF/WSH1l3vtK9PnD1wePqITQPK22bKCjSXhPxWOO6AxNcfpy3/lsZ2j2
 9NPLfpFl
 =G2Qd
 -----END PGP SIGNATURE-----

Merge tag '0.28.1'

notmuch 0.28.1 release
2019-02-01 08:35:20 -04:00
David Bremner
32fb3c420a bump copyright year 2019-02-01 08:08:13 -04:00
David Bremner
4e746cf8f6 update version to 0.28.1 2019-02-01 08:06:38 -04:00
David Bremner
630ee5fae4 changelog for 0.28.1-1 2019-02-01 08:05:42 -04:00
David Bremner
679a2313ed NEWS for bash related configuration change 2019-02-01 08:03:14 -04:00
David Bremner
80fc5d9dda 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.
2019-02-01 07:59:23 -04:00
David Bremner
a38853518e 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.
2019-02-01 07:59:12 -04:00
David Bremner
617b36f3d1 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
2019-01-30 07:15:59 -04:00
Peter Wang
6784d5bc60 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".
2019-01-27 08:18:38 -04:00
Tomi Ollila
5e44372373 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.
2019-01-25 21:15:32 -04:00
rhn
fac155815c docs: Use correct call to notmuch_query_search_threads in usage example
Amended by db: simplify (subjectively) the example.
2019-01-25 20:51:00 -04:00
rhn
b350c688e1 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.
2019-01-25 20:37:26 -04:00
rhn
45639881b5 lib: Explicitly state when replies will be destroyed
Without an explicit guarantee, it's not clear how to use the reference.
2019-01-25 20:34:57 -04:00
David Bremner
e52535029b 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.
2018-12-20 17:30:11 +09:00
David Bremner
fcf68eec31 doc/emacs: document notmuch-cycle-notmuch-buffers
For some reason I couldn't find this when I searched, so add it to the
manual.
2018-12-08 09:07:09 -04:00
David Bremner
3324544d42 doc/emacs: document notmuch-poll*
The current "documentation" for these variables consists of only the
variable names.
2018-12-08 09:05:25 -04:00
David Bremner
fd5f666476 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.
2018-12-08 09:02:42 -04:00
David Bremner
1f6778d349 doc/emacs: document notmuch-message-headers*
More precisely, copy the docstrings into notmuch-emacs documentation pages.
2018-12-08 09:00:50 -04:00
David Bremner
241373cd3f doc/emacs: add documentation for stashing 'c X' bindings
This is the first of a series of changes requiring the extracted docstrings.
2018-12-08 08:56:17 -04:00
David Bremner
0601d2337e 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.
2018-12-08 08:53:09 -04:00
David Bremner
0a9fc49b90 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
2018-12-08 08:49:31 -04:00
David Bremner
1ac110c12e 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.
2018-12-08 08:45:48 -04:00