aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-12-03test: add known broken test for conflict with database parameterDavid Bremner
This is arguably user error: having configuration file with bad settings in it (and/or having a bad NOTMUCH_CONFIG environment variable). On the other hand returning a different path than was actually opened is definitely a bug.
2021-12-03test/libconfig: use 'export' for remaining sets of NOTMUCH_CONFIGDavid Bremner
It makes the tests easier to understand if we always use export for environment variables.
2021-12-03emacs: drop C-tab binding in hello mode, document <backtab>.David Bremner
The <backtab> binding has always been there, but the docs were apparently mistakenly changed to say <backspace> [1] Revert to <backtab> in the documentation. The commit also drops the C-<tab> binding, since it seems redundant and it interferes with tab-bar-mode. [1]: 703dec7754da477b5683867c88cb940b8553be91.
2021-12-03doc/python-cffi: import from built bindings, not installed moduleDavid Bremner
Previously the python-cffi bindings either failed to build, or built for the wrong module by using the installed module. The fix requires correction the module path, building the bindings before docs, and helping python find the built libnotmuch. Based on patch / discussion from Micheal Gruber [1] [1]: id:cover.1634808719.git.git@grubix.eu
2021-12-03rename built_with.sexpr_query to built_with.sexp_queriesDavid Bremner
It is confusing to use two different names (sexp vs sexpr) when compared with the command line option --query=sexp and (furthermore) singular vs plural when compared with the man page title.
2021-11-04Merge tag '0.34.1'David Bremner
notmuch 0.34.1 release
2021-11-03debian: refinalize changelogdebian/0.34.1-1archive/debian/0.34.1-10.34.1David Bremner
2021-11-03NEWS: finalize release dateDavid Bremner
2021-10-31debian: changelog for 0.34.1-1David Bremner
2021-10-31NEWS: start news for 0.34.1David Bremner
2021-10-31version: bump to 0.34.1David Bremner
2021-10-30emacs: improve notmuch-*-from-current-query docstringsDavid Bremner
Err on the side of providing better user documentation, rather than documentation for developers.
2021-10-30emacs: add minimal docstring for notmuch-unthreadedDavid Bremner
The missing docstring causes a blank in the notmuch-help display [1]. Since the function is a simple wrapper for notmuch-tree, it seems fair to forward the reader there for more detailed information. [1]: id:878sape5a9.fsf@disroot.org
2021-10-30lib/open: replace call to deprecated notmuch_database_open_verboseDavid Bremner
Essentially inline the existing shim definition of notmuch_database_open_verbose.
2021-10-30lib/compact: replace deprecated notmuch_database_open_verboseDavid Bremner
It should not be necesary to have any config information here, hence passing "" to n_d_open_with_config.
2021-10-30Merge branch 'release'David Bremner
2021-10-30lib/load_config: deallocate / NULL database on fatal errorDavid Bremner
This fixes a potential memory leak, and makes the behaviour of notmuch_database_load_config (somewhat) consistent with n_d_{open,create} with config.
2021-10-30lib/load_config: document expectations for db on error, add testsDavid Bremner
This is a bit different than n_d_{open,create}_with_config, since there are several non-zero status codes where we do want to return a non-NULL database structure.
2021-10-30lib/create: fix memory leak, ensure *database=NULL on errorDavid Bremner
This code previously relied on _finish_open to free the notmuch struct on errors (except for the case of database == NULL, which was a potential double free). When we removed those frees from _finish_open, we introduced a (small) memory leak. In this commit, fix the memory leak, and harmonize the on-error behaviour with n_d_open_with_config.
2021-10-30lib/create: document expectations for db on error, add testsDavid Bremner
It seems sensible to harmonize the behaviour with n_d_open_with_config. In this commit we just assert the desired behaviour.
2021-10-30lib/open: fix potential double-free, ensure *database=NULL on errorDavid Bremner
During refactoring for 0.32, the code that set notmuch=NULL on various errors was moved into _finish_open. This meant that the the code which relied on that to set *database to NULL on error was no longer correct. It also introduced a potential double free, since the notmuch struct was deallocated inside _finish_open (via n_d_destroy). In this commit we revert to "allocator frees", and leave any cleanup to the caller of _finish_open. This allows us to get back the behaviour of setting *database to NULL with a small change. Other callers of _finish_open will need free notmuch on errors.
2021-10-30test: add two known broken tests for missing config filesDavid Bremner
The documentation claims that the database will be set to NULL in this case, but it is currently not happening. Based on a reproducer [1] from Austin Ray. [1]: id:20211021190401.imirxau2ewke6e2m@athena
2021-10-30lib: document n_o_w_config can return NOTMUCH_STATUS_NO_CONFIGDavid Bremner
This should be treated as fatal by callers, since we didn't succeed in opening a Xapian database.
2021-10-27Merge branch 'release'David Bremner
2021-10-27NEWS: fix typo in 0.34 news.David Bremner
Thanks to jrm on IRC for finding the typo.
2021-10-27test/libconfig: use 'export' when restoring NOTMUCH_CONFIGDavid Bremner
This is required when NOTMUCH_CONFIG has been unset, and is harmless otherwise.
2021-10-25doc/sexp-queries: replace definition lists with block quotes.David Bremner
This document contains meaningful markup in the terms, which makeinfo complains about. Replace the use of definition lists with regular paragraphs containing quote blocks. This is accomplished by splitting the "term" from the definition with a blank line.
2021-10-25doc: remove explicit formatting of terms in definition listsDavid Bremner
Sphinx-doc already formats the terms appropriately for a given backend (bold in html and man). `makeinfo` complains noisily about formatting inside a @item if we add our own explicit formatting. This change may change the formatting in the info output. On the other hand, the existing use of quotes for bold is not that great anyway. In some places blank lines were removed to preserve the logical structure of a definition list.
2021-10-23CLI: move indexopts variable out of shared options blockDavid Bremner
This reduces the amount of global state. Furthermore, index options can be set (in principle) in several ways, not just in the one function for processing indexing command line options.
2021-10-23lib: make indexopts pointers opaqueDavid Bremner
There is no reason for anything outside the indexopts.c compilation unit to have access to structure members.
2021-10-23cli: remove enum names from typedefsJani Nikula
There are some enum typedefs with the enum name: typedef enum _name_t { ... } name_t; We don't need or use the enum names _name_t for anything, and not all of the enum typedefs have them. We have the typedefs specifically to use the typedef name. Use the anonymous enum in the typedefs: typedef enum { ... } name_t;
2021-10-23lib: remove enum names from typedefsJani Nikula
There are some enum typedefs with the enum name: typedef enum _name_t { ... } name_t; We don't need or use the enum names _name_t for anything, and not all of the enum typedefs have them. We have the typedefs specifically to use the typedef name. Use the anonymous enum in the typedefs: typedef enum { ... } name_t;
2021-10-23lib: fix commented out NOTMUCH_DEPRECATED()Jani Nikula
Remove the comment markers from the placeholder NOTMUCH_DEPRECATED(), added in commit e5f3c3ed5024 ("lib: add stub for notmuch_database_open_with_config").
2021-10-20NEWS: set datedebian/0.34-1archive/debian/0.34-10.34David Bremner
2021-10-20debian: changelog for 0.34David Bremner
2021-10-20add NEWS for remaining changesDavid Bremner
2021-10-20version: bump to 0.34David Bremner
2021-10-20NEWS: update sexp-query newsDavid Bremner
2021-10-19emacs: fix call to nonexistent notmuch--call-process-shell-commandDoug Woos
Looks like a find/replace error in e722b4f4
2021-10-15debian: add dependency on libsexp-devdebian/0.34_rc0-1archive/debian/0.34_rc0-10.34_rc0David Bremner
Enable the s-expression query parser in Debian.
2021-10-15debian: add changelog for 0.34~rc0David Bremner
2021-10-15INSTALL: document optional dependency on libsfsexpDavid Bremner
For now putting it in the apt-get line will cause complaints about missing packages for too many people.
2021-10-15NEWS: stub news for 0.34~rc0David Bremner
This is mostly to pacify the release checks. NEWS will be filled in during the release process.
2021-10-15lib: bump lib minor version to 5David Bremner
One new function (and an enum) was added to the API/ABI.
2021-10-15debian: add new function to symbols fileDavid Bremner
2021-10-15version: bump to 0.34~0David Bremner
Start release process for 0.34.
2021-10-12debian: install notmuch-sexp-queries man pageDavid Bremner
This was missed in the series that added the sexp-query parser and docs.
2021-10-10configure: whitespace cleanupDavid Bremner
In order to make it easier to keep the whitespace consistent in the configure script, use the same style defined in devel/STYLE for C/C++. Specifically, a line should begin with zero or more tabs followed by fewer than eight spaces. Presumably this will be no more difficult for people editing configure than for people editing the C and C++ code.
2021-10-10devel: script for checking a commit (series)David Bremner
'check-notmuch-commit' is an updated version of a script I have been using (although not always as consistently as I should) before sending patches to the list. Although it requires a bit more tooling, encouraging people to use check-notmuch-commit might reduce the number of round trips to the list for style nitpicks.
2021-10-09configure: check explicitely for python dev (include) filesDavid Bremner
As discussed at [1] we have received reports that the implicit check using cffi.FFI().verify() is not reliable in all environments. Since we already use pkg-config, and the python dev package should include a .pc file [2], add an extra check using pkg-config. On at least Debian, we have to know which version of python dev files with are looking for, so calculate that first. [1]: id:87im1g35ey.fsf@tethera.netid:87im1g35ey.fsf@tethera.net, [2]: checked on Debian and Fedora