summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2022-02-15 20:53:12 -0400
committerDavid Bremner <david@tethera.net>2022-02-15 20:54:56 -0400
commitf1b2ab70c39cacb53c0b3c1d49358260a8d1818d (patch)
tree8b06d207475c256081a10ec5eb1fbd7c959610e0
parentcf342d7302544532a1f66fd7a1cc42df99fcd228 (diff)
parent7b5921877e748338359a25dae578771f768183af (diff)
Merge tag '0.35' into debian/bullseye-backportsdebian/0.35-1_bpo11+1archive/debian/0.35-1_bpo11+1
notmuch 0.35 release
-rw-r--r--.gitignore1
-rw-r--r--Makefile.global6
-rw-r--r--Makefile.local1
-rw-r--r--NEWS106
-rw-r--r--bindings/Makefile.local17
-rw-r--r--bindings/python-cffi/notmuch2/_build.py7
-rw-r--r--bindings/python-cffi/notmuch2/_database.py2
-rw-r--r--bindings/python-cffi/notmuch2/_message.py18
-rw-r--r--bindings/python-cffi/setup.py3
-rw-r--r--bindings/python-cffi/tests/test_config.py4
-rw-r--r--bindings/python-cffi/tests/test_database.py4
-rw-r--r--bindings/python-cffi/tests/test_message.py3
-rw-r--r--bindings/python-cffi/tests/test_tags.py15
-rw-r--r--bindings/python-cffi/tests/test_thread.py9
-rw-r--r--bindings/python-cffi/version.txt1
-rw-r--r--bindings/python/notmuch/version.py2
-rw-r--r--completion/notmuch-completion.bash6
-rw-r--r--completion/zsh/_notmuch8
-rwxr-xr-xconfigure40
-rw-r--r--debian/changelog31
-rw-r--r--debian/control18
-rw-r--r--debian/elpa-notmuch.elpa2
-rw-r--r--debian/notmuch-doc.install1
-rwxr-xr-xdebian/rules4
-rw-r--r--devel/schemata4
-rw-r--r--doc/Makefile.local24
-rw-r--r--doc/conf.py2
-rw-r--r--doc/man1/notmuch-address.rst14
-rw-r--r--doc/man1/notmuch-config.rst48
-rw-r--r--doc/man1/notmuch-count.rst6
-rw-r--r--doc/man1/notmuch-dump.rst10
-rw-r--r--doc/man1/notmuch-insert.rst4
-rw-r--r--doc/man1/notmuch-reply.rst12
-rw-r--r--doc/man1/notmuch-restore.rst12
-rw-r--r--doc/man1/notmuch-search.rst18
-rw-r--r--doc/man1/notmuch-show.rst17
-rw-r--r--doc/man5/notmuch-hooks.rst6
-rw-r--r--doc/man7/notmuch-properties.rst8
-rw-r--r--doc/man7/notmuch-sexp-queries.rst44
-rw-r--r--doc/notmuch-emacs.rst15
-rw-r--r--emacs/Makefile.local2
-rw-r--r--emacs/coolj.el2
-rw-r--r--emacs/notmuch-hello.el28
-rw-r--r--emacs/notmuch-logo.svg27
-rw-r--r--emacs/notmuch-maildir-fcc.el8
-rw-r--r--emacs/notmuch-show.el16
-rw-r--r--emacs/notmuch-tag.el20
-rw-r--r--emacs/notmuch-tree.el17
-rw-r--r--emacs/notmuch.el72
-rw-r--r--lib/built-with.c2
-rw-r--r--lib/config.cc23
-rw-r--r--lib/database-private.h15
-rw-r--r--lib/database.cc14
-rw-r--r--lib/indexopts.c4
-rw-r--r--lib/notmuch-private.h8
-rw-r--r--lib/notmuch.h17
-rw-r--r--lib/open.cc63
-rw-r--r--lib/parse-sexp.cc97
-rw-r--r--lib/parse-time-vrp.cc51
-rw-r--r--lib/prefix.cc4
-rw-r--r--lib/regexp-fields.cc10
-rw-r--r--notmuch-client.h9
-rw-r--r--notmuch-config.c9
-rw-r--r--notmuch-insert.c6
-rw-r--r--notmuch-new.c12
-rw-r--r--notmuch-reindex.c5
-rw-r--r--notmuch-show.c27
-rw-r--r--notmuch.c13
-rw-r--r--sprinter-json.c5
-rw-r--r--sprinter-sexp.c5
-rw-r--r--sprinter-text.c9
-rw-r--r--sprinter.h13
-rwxr-xr-xtest/T030-config.sh31
-rwxr-xr-xtest/T040-setup.sh7
-rwxr-xr-xtest/T050-new.sh57
-rwxr-xr-xtest/T051-new-renames.sh40
-rwxr-xr-xtest/T055-path-config.sh11
-rwxr-xr-xtest/T060-count.sh27
-rwxr-xr-xtest/T070-insert.sh12
-rwxr-xr-xtest/T081-sexpr-search.sh184
-rwxr-xr-xtest/T100-search-by-folder.sh24
-rwxr-xr-xtest/T160-json.sh42
-rwxr-xr-xtest/T170-sexp.sh14
-rwxr-xr-xtest/T310-emacs.sh27
-rwxr-xr-xtest/T350-crypto.sh19
-rwxr-xr-xtest/T370-search-folder-coherence.sh4
-rwxr-xr-xtest/T392-python-cffi-notmuch.sh48
-rwxr-xr-xtest/T440-emacs-hello.sh10
-rwxr-xr-xtest/T450-emacs-show.sh4
-rwxr-xr-xtest/T562-lib-database.sh8
-rwxr-xr-xtest/T563-lib-directory.sh8
-rwxr-xr-xtest/T564-lib-query.sh4
-rwxr-xr-xtest/T566-lib-message.sh3
-rwxr-xr-xtest/T568-lib-thread.sh3
-rwxr-xr-xtest/T590-libconfig.sh72
-rwxr-xr-xtest/T595-reopen.sh2
-rwxr-xr-xtest/T610-message-property.sh4
-rwxr-xr-xtest/T620-lock.sh3
-rwxr-xr-xtest/T640-database-modified.sh5
-rwxr-xr-xtest/T750-gzip.sh14
-rwxr-xr-xtest/T800-asan.sh39
-rw-r--r--test/emacs.expected-output/notmuch-hello-all-tags11
-rw-r--r--test/notmuch-test.h33
-rw-r--r--test/setup.expected-output/config-with-comments4
-rw-r--r--test/symbol-test.cc6
-rw-r--r--test/test-lib-emacs.sh5
-rw-r--r--test/test-lib.sh20
-rw-r--r--util/hex-escape.h2
-rw-r--r--util/string-util.c10
-rw-r--r--version.txt2
110 files changed, 1580 insertions, 405 deletions
diff --git a/.gitignore b/.gitignore
index 3edd1768..f846ebec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,5 +16,6 @@
/sh.config
/sphinx.config
/version.stamp
+/bindings/python-cffi/_notmuch_config.py
TAGS
tags
diff --git a/Makefile.global b/Makefile.global
index fe79121d..7a7a3c6d 100644
--- a/Makefile.global
+++ b/Makefile.global
@@ -50,9 +50,9 @@ DETACHED_SIG_FILE=$(TAR_FILE).asc
PV_FILE=bindings/python/notmuch/version.py
# Smash together user's values with our extra values
-FINAL_CFLAGS = -DNOTMUCH_VERSION=$(VERSION) $(CPPFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(extra_cflags) $(CONFIGURE_CFLAGS)
-FINAL_CXXFLAGS = $(CPPFLAGS) $(CXXFLAGS) $(WARN_CXXFLAGS) $(extra_cflags) $(extra_cxxflags) $(CONFIGURE_CXXFLAGS)
-FINAL_NOTMUCH_LDFLAGS = $(LDFLAGS) -Lutil -lnotmuch_util -Llib -lnotmuch
+FINAL_CFLAGS = -DNOTMUCH_VERSION=$(VERSION) $(WARN_CFLAGS) $(extra_cflags) $(CPPFLAGS) $(CONFIGURE_CFLAGS) $(CFLAGS)
+FINAL_CXXFLAGS = $(WARN_CXXFLAGS) $(extra_cflags) $(extra_cxxflags) $(CPPFLAGS) $(CONFIGURE_CXXFLAGS) $(CXXFLAGS)
+FINAL_NOTMUCH_LDFLAGS = -Lutil -lnotmuch_util -Llib -lnotmuch $(LDFLAGS)
ifeq ($(LIBDIR_IN_LDCONFIG),0)
FINAL_NOTMUCH_LDFLAGS += $(RPATH_LDFLAGS)
endif
diff --git a/Makefile.local b/Makefile.local
index e12b94cd..10fb9908 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -54,7 +54,6 @@ update-versions:
sed -i -e "s/^__VERSION__[[:blank:]]*=.*$$/__VERSION__ = \'${VERSION}\'/" \
-e "s/^SOVERSION[[:blank:]]*=.*$$/SOVERSION = \'${LIBNOTMUCH_VERSION_MAJOR}\'/" \
${PV_FILE}
- cp version.txt bindings/python-cffi
# We invoke make recursively only to force ordering of our phony
# targets in the case of parallel invocation of make (-j).
diff --git a/NEWS b/NEWS
index 27e43156..c6ce2eea 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,109 @@
+Notmuch 0.35 (2022-02-06)
+=========================
+
+Library
+-------
+
+Implement the `date` and `lastmod` fields in the S-expression parser.
+
+Ignore trailing `/` for pathnames in both query parsers.
+
+Rename configuration option `built_with.sexpr_query` to
+`built_with.sexp_queries`.
+
+Do not assume a default mail root in split (e.g. XDG) configurations.
+
+Fix some small memory leaks in `notmuch_database_open_with_config`.
+
+CLI
+---
+
+Improve handling of leading/trailing punctation and space for
+configuration lists.
+
+Only ignore `.notmuch` at the top level in `notmuch new`.
+
+Optionally show extra headers in `notmuch show`. See
+`show.extra_headers` in notmuch-config(1).
+
+Emacs
+-----
+
+Drop `C-TAB` binding in hello mode, document `backtab`.
+
+Fix visual glitch in search mode by running `notmuch-search-hook`
+lazily.
+
+Don't add space to completion candidates, improves compatibility with
+third party completion frameworks.
+
+Make citation formating more robust against whitespace.
+
+Use `--excludes=false` when generating the 'All tags' section.
+
+Use cached copy of message body for `Fcc`, avoiding variant bodies for
+signed and/or encrypted messages.
+
+Add notmuch-logo.svg and use it in notmuch-hello view, replacing
+the .png version.
+
+Make header line in show buffers optional.
+
+Add customizable names for search buffers.
+
+Build
+-----
+
+Fix out-of-tree build for `python-cffi` bindings.
+
+Rearrange position of {C,CXX,CPP,LD}FLAGS, prevent some clashes with
+installed version of notmuch.
+
+Ignore more configure options.
+
+Test Suite
+----------
+
+Replace some uses of `gdb` in the test suite with `LD_PRELOAD` based
+shims.
+
+Use `--with-colons` for gpgsm, fix compatibility with newer gnupg.
+
+Python bindings
+---------------
+
+Add `matched` property to message objects.
+
+Users are reminded that the old python bindings in bindings/python are
+deprecated; this will probably be the last major release that ships
+them.
+
+Completion
+----------
+
+Use `database.mail_root` for path completion in bash/zsh.
+
+Notmuch 0.34.3 (2022-01-09)
+===========================
+
+Library
+-------
+
+Do not crash when presented with a .notmuch directory without a
+xapian/ subdirectory.
+
+Python Bindings (notmuch2)
+--------------------------
+
+Database constructor now searches for configuration by default. Pass
+`config=Database.CONFIG.EMPTY` to disable.
+
+The `Message.replies()` method now returns OwnedMessage objects, to
+prevent certain memory de-allocation errors.
+
+Fix for importing `notmuch2` module when building bindings
+documentation.
+
Notmuch 0.34.2 (2021-12-09)
===========================
diff --git a/bindings/Makefile.local b/bindings/Makefile.local
index 3672e69f..7b10af08 100644
--- a/bindings/Makefile.local
+++ b/bindings/Makefile.local
@@ -3,21 +3,26 @@
dir := bindings
# force the shared library to be built
-ruby-bindings: lib/$(LINKER_NAME)
+ruby-bindings: $(dir)/ruby.stamp
+
+$(dir)/ruby.stamp: lib/$(LINKER_NAME)
ifeq ($(HAVE_RUBY_DEV),1)
cd $(dir)/ruby && \
EXTRA_LDFLAGS="$(NO_UNDEFINED_LDFLAGS)" \
LIBNOTMUCH="../../lib/$(LINKER_NAME)" \
NOTMUCH_SRCDIR='$(NOTMUCH_SRCDIR)' \
$(RUBY) extconf.rb --vendor
- $(MAKE) -C $(dir)/ruby CFLAGS="$(CFLAGS) -pipe -fno-plt -fPIC"
+ $(MAKE) -C $(dir)/ruby CFLAGS="$(CFLAGS) -pipe -fno-plt -fPIC" && touch $@
endif
-python-cffi-bindings: lib/$(LINKER_NAME)
+python-cffi-bindings: $(dir)/python-cffi.stamp
+
+$(dir)/python-cffi.stamp: lib/$(LINKER_NAME)
ifeq ($(HAVE_PYTHON3_CFFI),1)
cd $(dir)/python-cffi && \
${PYTHON} setup.py build --build-lib build/stage && \
- mkdir -p build/stage/tests && cp tests/*.py build/stage/tests
+ mkdir -p build/stage/tests && cp tests/*.py build/stage/tests && \
+ touch ../python-cffi.stamp
endif
CLEAN += $(patsubst %,$(dir)/ruby/%, \
@@ -26,6 +31,6 @@ CLEAN += $(patsubst %,$(dir)/ruby/%, \
init.o message.o messages.o mkmf.log notmuch.so query.o \
status.o tags.o thread.o threads.o)
-CLEAN += bindings/ruby/.vendorarchdir.time
+CLEAN += bindings/ruby/.vendorarchdir.time $(dir)/ruby.stamp
-CLEAN += bindings/python-cffi/build
+CLEAN += bindings/python-cffi/build $(dir)/python-cffi.stamp
diff --git a/bindings/python-cffi/notmuch2/_build.py b/bindings/python-cffi/notmuch2/_build.py