aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-03-14WIP: enable new extended wildcard support in Xapian 2.0feature/wildcardDavid Bremner
As can be seen from the included tests, this currently only works for fields without other field processors (in particular regex supporting fields seem to break it).
2026-03-13configure: check for Xapian extended wildcard supportDavid Bremner
Xapian 2.0 supports extended wildcard queries in the query parser. To quote the NEWS file: WILDCARD_PATTERN_MULTI (which supports `*` wildcards anywhere in the term, not just at the end as previously), WILDCARD_PATTERN_SINGLE (which supports `?` wildcards matching a single character), and WILDCARD_PATTERN_GLOB which enables both of these. This commit does not add any functionality, just detects if this support is there in Xapian.
2026-03-07cli/git-remote: add libnotmuch shared library as dependencyDavid Bremner
In [1], Anton mentioned encountering a race condition in the build system, and suggested this fix. [1]: id:177149756401.20239.4570498044656906075@lain.khirnov.net
2026-03-06test: add user-configurable TEST_READELF variableLucio Sauer
This allows tests to pass on systems where the readelf executable is prefixed with a target triple. Signed-off-by: Lucio Sauer <watermanpaint@posteo.net>
2026-02-22emacs: Fix warnings on emacs@31.1Al Haji-Ali
Use `when-let*' instead of `when-let'. Use quoted `font-lock-warning-face' instead of obsolete variable.
2026-02-17doc/git-remote: install manpage in DebianDavid Bremner
This innocuous looking omission actually breaks the Debian packaging due to 'dh_missing'.
2026-02-17doc/git-remote: fix typoDavid Bremner
In [1], Michael pointed out we should s/proved/provided/. [1]: id:CAA19uiQvyg_fF4z+92D6Zhn_DOx+VC8thct7MioxCsEZ78CYVg@mail.gmail.com
2026-02-16doc: initial documentation for git-remote-notmuchDavid Bremner
While it is not intended to be invoked directly, the user still needs to know how to use it via git commands.
2026-02-16debian: install git-remote-notmuchDavid Bremner
2026-02-16cli/git-remote: add check for missing messagesDavid Bremner
In cases where a given 'export' both adds and deletes messages, we may not know what messages are actually missing until the end of processing. We thus do single pass of all remaining message-ids, and report any that are still missing at the end of the "export" operation.
2026-02-16cli/git-remote: handle message deletionsDavid Bremner
There are two main possibilities. One is explicit delete ('D' command in the stream from git fast-export) and one is files disappearing between commits. It is less clear the latter can happen in well formed sequence of commits, but it could result e.g. from manual changes to the repo.
2026-02-16cli/git-remote: add export commandDavid Bremner
Two (sub)features are stubbed out in this initial implementation: deleting messages (as opposed to tags), and missing messages. There are two corresponding tests marked as broken in T860-git-remote.sh. A third test passes with the stub, which is maybe not ideal, but at least it acts as a regression test.
2026-02-16cli/git-remote: add import commandDavid Bremner
The output in default.import is based on a modified version of Felipe's git-remote-nm with Blake2 hashing replaced by SHA1 (for portability). This enable fetch/pull/clone, so test that as well.
2026-02-16cli: start remote helper for git.David Bremner
This is closely based on git-remote-nm (in ruby) by Felipe Contreras. Initially just implement the commands 'capabilities' and 'list'. This isn't enough to do anything useful but we can run some simple unit tests. Testing of URL passing will be done after clone (import command) support is added.
2026-02-16util: refactor sync_dir and mkdir_recursiveDavid Bremner
Moving these functions to libnotmuch_util will allow re-use from either multiple CLI compilation units or from the library. To avoid future surprises, replace printing to stderr with the usual status string mechanism.
2026-02-16lib/config: add config keys for git-remote-notmuch.David Bremner
The precise function will be explained in a future update to notmuch-config(1).
2026-02-16Document that indexing does not sync flagsHugo Osvaldo Barrera
This quirk is somewhat unexpected, since flags won't be updated as expected, but subsequence calls to notmuch-new(1) won't update the index, giving an impression of it being stale.
2026-02-16configure: support PKG_CONFIG from envNicolas PARLANT
pkg-config could be prefixed in some env. Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
2026-02-08indexopts: avoid a memleak in the error pathAnton Khirnov
2026-01-31Merge tag '0.40'David Bremner
notmuch 0.40 release
2026-01-31version: 0.40~rc1 -> 0.400.40releaseDavid Bremner
2026-01-31debian: changelog stanza for 0.40David Bremner
2026-01-31NEWS: escape function namesDavid Bremner
Avoid spurious underlining in markdown output.
2026-01-31NEWS: set release date for 0.40David Bremner
2026-01-31NEWS: expand GnuPG related NEWS itemDavid Bremner
Basically transcribe a bit more of the corresponding commit message.
2026-01-25bindings/python-cffi: do not use an unbound variableAnton Khirnov
This seems to have been copied accidentally from another part of the file.
2026-01-25test/emacs: Add tests for `message-cite-reply-position'Kristoffer Balintona
`message-cite-reply-position' affects the position of the email body and signature relative to the email citation in email replies. Test each of the three possible values of `message-cite-reply-position'. If `message-cite-reply-position' is 'traditional or 'below, place the email signature below the citation. If `message-cite-reply-position' is 'above, place the email signature above the citation (as in Gmail-style email replies).
2026-01-25emacs: Have email reply positions respect relevant message.el optionsKristoffer Balintona
Previously, when composing email replies with `notmuch-mua-new-mail', the email signature would always be placed below the email citation. However, there are two message.el user options that affect the position of the signature and email body: `message-cite-reply-position` and `message-cite-style-gmail'. Previously, neither of these user options were respected. Respect these user options. If `message-cite-reply-position' is 'traditional or 'below, place the email signature below the citation (the previous behavior is retained). If `message-cite-reply-position' is 'above, place the email signature above the citation (like in Gmail-style email replies). `message-cite-style-gmail' may specify a value for `message-cite-reply-position'. If it does, that value takes precedence over `message-cite-reply-position'.
2026-01-25emacs: fix `notmuch-*-filter-by-tag' query stringsKristoffer Balintona
`notmuch-tree-filter-by-tag' and `notmuch-search-filter-by-tag' are described, in their docstrings, as matching all the messages in the current view that are ALSO tagged by a given tag. However, since the current view's search query was not logically grouped together (with parentheses), the actual behavior was different for sufficiently complex search queries. Fix this by grouping the current view's search query in parentheses first.
2026-01-24Commit Debian 3.0 (quilt) metadataDavid Bremner
[dgit (14.4) quilt-fixup]
2026-01-24debian: changelog for 0.40~rc1-10.40_rc1David Bremner
2026-01-24version: bump to 0.40~rc1David Bremner
2026-01-24doc/emacs: correct documentation of n-show-forward-messageDavid Bremner
Commit 3af10307d started a subsection on message level actions, but the author (yours truly) mistook their customized behaviour for the default.
2026-01-22NEWS: initial news for 0.40David Bremner
2026-01-18debian: upload 0.40~rc0-2debian/0.40_rc0-2archive/debian/0.40_rc0-2David Bremner
Workaround for apparent toolchain regression on armhf.
2026-01-17Commit Debian 3.0 (quilt) metadatadebian/0.40_rc0-1archive/debian/0.40_rc0-1David Bremner
[dgit (14.2) quilt-fixup]
2026-01-17debian: update symbols file for new functionsDavid Bremner
2026-01-17lib: bump minor versionDavid Bremner
This reflects the addition of a new API functions, notmuch_{messages,threads}_status
2026-01-17debian: remove kfreebsd-any from control fileDavid Bremner
Since the arch no longer exists, it is no longer helpful to exclude it.
2026-01-17NEWS: add header for new release0.40_rc0David Bremner
2026-01-17debian: add changelog stanza for pre-releaseDavid Bremner
2026-01-17doc/python: bump copyright yearDavid Bremner
2026-01-17version: bump to 0.40~rc0David Bremner
2026-01-16test/cli: Add reproducer for the spurious warning about uuid.David Bremner
As reported by "lh" on IRC.
2026-01-15emacs/hello: fix one case of passing hide-excludedDavid Bremner
In the search box (and recent searches), notmuch-search-hide-excluded was not being passed to notmuch-search. This means that excluded messages were always shown in the results. Fix this by passing the extra argument.
2026-01-15test/emacs: known broken test for excludes and notmuch-helloDavid Bremner
One of the places notmuch-search is called did not get the new 'hide-excluded' argument.
2026-01-15One of the places notmuch-search is called did not get the newDavid Bremner
'hide-excluded' argument.
2026-01-15lib: move call to _n_m_invalidate_metadataDavid Bremner
It is wrong most of the time in _notmuch_message_remove_terms, but that function is too low level to know how to call _n_m_invalidate_metadata with the right argument, at least not without more extensive changes. This change merely makes the current behaviour more obvious, since the other calls cannot have relied on metadata being invalidated.
2026-01-14emacs: Generate and install autoloadsPengji Zhang
Previously when installed with 'make install', autoloads in sources were not scraped. So users still had to load the full library beforehand in order to use Notmuch. Now we generate and install such a file for 'make install-emacs'. With this change, users can replace in their Emacs configuration: (require 'notmuch) with a much cheaper: (require 'notmuch-autoloads) but are still able to use 'M-x notmuch'. Note that this new file is not included in the 'make elpa' package, so it does not break for those users, who have already been enjoying autoloads generated by 'package.el'. Besides, this should not break packaging for most distros. Even if they have generated and maintained such a file using their package managers, Emacs does not choke on an existing output file when scraping autoloads. Re: thread starting at id:87o75yl4u5.fsf@pengjiz.com Amended-By: db; add comment about autoload-excludes
2026-01-12emacs: Set `sentence-end-double-space` in .dir-locals.elKristoffer Balintona
Throughout the project's files, contributors have implicitly been ending their sentences with a period and a single space. Set `sentence-end-double-space` accordingly.