aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-20emacs: use --exclude=false when checking for empty searchesDavid Bremner
In particular tags that only occur on otherwise excluded messages do not show up in "All tags" without this change. The reported numbers _do_ take excludes into account, so it is possible that searches (e.g. the aformentioned tags) will show up with a count of zero.
2022-01-20test/emacs: add known broken test for hidden tagsDavid Bremner
Gregor Zattler observed that tags could be unintentionally hidden in the "All tags" view, and Tomi Ollia worked out [2] that the issue was tags that only occured on excluded messages. This test reproduces that bug. [1]: id:87wox1vovj.fsf@len.workgroup [2]: id:m28t9faaim.fsf@guru.guru-group.fi
2022-01-18CLI: print extra headers only for non-repliesDavid Bremner
If in the future we decide to output extra headers for replies, this should be controlled by a separate configuration option.
2022-01-18test/emacs: known broken test for reply with extra headers set.David Bremner
Although it makes sense for the extra headers to be added to the copy of the message headers included in the sexp/json, it is a bit surprising for them to show in the new message constructed for the reply, especially when, as here, they are always missing/empty.
2022-01-18CLI: print extra headers in structured outputDavid Bremner
This is based on a patch from Johan Parin [1], which is in turn responding to a bug report / feature requiest from Jan Malkhovski. The update to the structured output documented in schemata is intended to be upward compatible, so the format version stays the same [1]: id:20191116162723.18343-1-johan.parin@gmail.com [2]: id:87h8sdemnr.fsf@oxij.org
2022-01-18lib/config: add known config key "show.extra_headers"David Bremner
Used in a following commit to enable including extra headers beyond the default in structured output.
2022-01-18CLI: stash pointer to database in sprinter structsDavid Bremner
We already use an allocated (and presumably open) database as a talloc context. Keeping the pointer in the allocated struct will allow us to e.g. interrogate the configuration in a sprinter function without threading the database all the way through the various levels of function.
2022-01-16test: fix deprecation warning in symbol-testDavid Bremner
Reduce the amount of noise in the build log.
2022-01-16cli/new: only ignore .notmuch at top levelDavid Bremner
Since the bug was first reported in [1], notmuch has gained the ability to have the database located outside the mail root, hence this this change differs slightly from Jani's proposed solution [2] in not using notmuch_database_get_path, but rather the already retrieved mail_root. [1]: id:87mwhifu9a.fsf@trouble.defaultvalue.org [2]: id:87ios5v59p.fsf@nikula.org
2022-01-16test: add known broken test for ignoring non-toplevel .notmuchDavid Bremner
In [1] Rob observed that notmuch new ignored directories called .notmuch everywhere in the tree, where they should only (and now, with split configs, at most) be ignored at the top level. Add a test to demonstrate the problem. [1]: id:87mwhifu9a.fsf@trouble.defaultvalue.org
2022-01-15lib/open: no default mail root in split configurationsDavid Bremner
If we know the configuration is split, but there is no mail root defined, this indicates a (lack of) configuration error. Currently this can only arise in XDG configurations.
2022-01-15lib/config: make sure the config map exists when loading defaultsDavid Bremner
We should not rely on one of the other "_notmuch_config_load_*" functions being called before this one.
2022-01-15lib/open: use notmuch->params to track split statusDavid Bremner
Persisting this status will allow us to use the information in other compilation units, in particular when setting configuration defaults.
2022-01-15lib/open: use db struct as talloc ctx for choose_database_pathDavid Bremner
The extra talloc struct "local" was left over from before the notmuch struct was allocated earlier. Having the notmuch struct available in this function will allow more flexibility to track the configuration variations (e.g. split vs. non-split).
2022-01-15test/libconfig: add two tests for the config = "" caseDavid Bremner
If notmuch_database_open_with_config finds a database, but that database is not in a legacy, non-split configuration, then it currently incorrectly deduces the mail root and returns SUCCESS. Add to two tests to demonstrate this bug.
2022-01-15test/libconfig: save and restore config fileDavid Bremner
Currently the config file is unusable for further tests requiring a valid database path.
2022-01-14emacs/notmuch-tag.el: add xmlns attribute to svg iconsLdBeth
emacs-mac that compiled with OS X system API for image display support cannot correctly render svg without xmlns parameter [1]. [1]: id:tencent_127AA231767438AC66FEE4DDB4BBF51DF909@qq.com
2022-01-12Merge remote-tracking branch 'origin/release'David Bremner
2022-01-12test/gpgsm: use --with-colons when calculating fingerprint.David Bremner
As stressed by the gpg documentation, the non-'with-colons' output format is subject to change, and indeed it did in 2.3.x (x<=3). This should make the the test suite more robust against such changes.
2022-01-11configure: Ignore more options that Fedora spec macros expectMichael J Gruber
Signed-off-by: Michael J Gruber <git@grubix.eu>
2022-01-10emacs: make header line in notmuch-show buffers optionaljao
New notmuch-show-header-line customizable boolean to allow inhibiting a header line in notmuch-show-mode buffers (for instance, because one prefers to just include Subject in notmuch-message-headers).
2022-01-09Merge tag '0.34.3'David Bremner
notmuch 0.34.3 release
2022-01-09doc: add 2022 to copyright years.debian/0.34.3-1archive/debian/0.34.3-10.34.3David Bremner
2022-01-09version: bump to 0.34.3David Bremner
2022-01-09debian: changelog for 0.34.3-1David Bremner
2022-01-09NEWS: add NEWS for 0.34.3David Bremner
2022-01-09bindings/python-cffi: search for config by defaultDavid Bremner
The previous (pre-0.34.2) constructor searched for a config file but only if the database path was not specified, and only to retrieve database.path. Neither of the available options (CONFIG.SEARCH or CONFIG.NONE) matches this semantics exactly, but CONFIG.SEARCH causes less breakage for people who relied on the old behaviour to set their database.path [1]. Since it also seems like the friendlier option in the long run, this commit switches to CONFIG.SEARCH as default. This requires a certain amount of updating the pytest tests, but most users will actually have a config file, unlike the test environment. [1]: id:87fsqijx7u.fsf@metapensiero.it
2022-01-09Merge branch 'release'David Bremner
2022-01-08python-cffi: returned OwnedMessage objects from Message.repliesDavid Bremner
If we return regular Message objects, python will try to destroy them, and the underlying notmuch object, causing e.g. the crash [1]. [1]: id:87sfu6utxg.fsf@tethera.net
2022-01-08test: add known broken tests for recursive traversal of replies.David Bremner
This reproduces the bug reported at [1]. The second test hints at the solution, making reply return OwnedMessage objects. [1]: id:87sfu6utxg.fsf@tethera.net
2022-01-03completion: use mail_root for path completion in bash/zshCédric Hannotier
Since mail store and database directory can be different, path and folder completions must use the directory given by database.mail_root, not by database.path.
2022-01-03doc: mail store is given by database.mail_rootCédric Hannotier
The mail store directory is given by database.mail_root, which can be different from database.path. However, notmuch-insert documentation was still referencing the latter as the provider of the maildir directory instead of the former.
2022-01-01bindings/python-cffi: add matched property to message objectsDavid Bremner
Existing users of the legacy python bindings use message.get_flags(Message.FLAG.MATCH) to determine which messages in a thread matched. Since the bindings don't provide get_flags anymore, they should provide a property analogous to the existing "excluded" property.
2021-12-31build: move {C,CXX}FLAGS to the end of FINAL_{C,CXX}FLAGSDavid Bremner
In addition to avoiding problems with user specified include paths picking up an installed version of notmuch.h, this should also enable users to override more options (in particular they could override warning options since the last one takes effect). [1]: id:7851CAB5-4556-4931-A0A2-37003E56C927@ryandesign.com
2021-12-31build: move CPPFLAGS after source directory includes.David Bremner
In [1] Ryan Schmidt reported a problem on macports [2] with notmuch finding an existing installed version of notmuch.h during the build. This is a partial fix; the user might also specify -I in CFLAGS. [1]: id:7851CAB5-4556-4931-A0A2-37003E56C927@ryandesign.com [2]: The problem does not arise when notmuch.h is installed into a "system" include path that the compiler searches by default.
2021-12-31build: move LDFLAGS after notmuch libraries.David Bremner
In [1] Ryan Schmidt reported a problem on macports [2] with notmuch finding an existing installed version of libnotmuch during the build when the user specified LDFLAGS including the libnotmuch install directory. This change should prevent that. LDFLAGS also occurs in FINAL_LIBNOTMUCH_LDFLAGS. The only built library linked to that is util/libtnotmuch_util.a, and that passed as explicit (relative) path, and is thus not affected by -L. [1]: id:7851CAB5-4556-4931-A0A2-37003E56C927@ryandesign.com [2]: The problem does not arise when libnotmuch is installed into a "system" library path that the compiler/linker searches by default.
2021-12-29emacs: update coolj-line-prefix-regexp to make space optionalDavid Bremner
Jani reported that lines prefixed with '>' (as opposed to '> ') are not highlighted properly [1]. David E responded with a updated regex [2]. This change implements David E's suggestion. [1]: id:87a8b5pcky.fsf@nikula.org [2]: id:m2pok1e3gv.fsf@dme.org
2021-12-29Merge branch 'release'David Bremner
2021-12-29configure: calculate NOTMUCH_BUILDDIR, write to Makefile.configDavid Bremner
This will correct the current use of an undefined variable when setting LD_LIBRARY_PATH in doc/Makefile.local It is tempting to try to replace the use of test/export-dirs.sh, but this is not as simple as it looks, as NOTMUCH_BUILDDIR is used to locate sh.config, so probably cannot also sensibly be used to define it.
2021-12-29lib/open: do not consider .notmuch alone as an existing database.David Bremner
It makes perfect sense for users to want to pre-create .notmuch, e.g. to install hooks, so we should handle the case of a .notmuch directory without an actual xapian database more gracefully.
2021-12-29test/new: add known broken test for missing xapian directory.David Bremner
`notmuch new' should go ahead and create the xapian database if it is missing, even in the case where the parent .notmuch (or equivalent) directory exists.
2021-12-26test: test folder renamesDavid Bremner
In [1] Mark Walters reported a problem with messages being removed from the database when the parent directory was renamed. Jani Nikula proposed [2] these tests but observed This test is not suitable for merging since it's not deterministic. After applying Jani's patch [3], the tests now pass deterministically, and could usefully act as regression tests. [1]: id:87siray6th.fsf@qmul.ac.uk [2]: id:1393191650-28333-1-git-send-email-jani@nikula.org [3]: id:1441445731-4362-2-git-send-email-jani@nikula.org
2021-12-25doc: add dep. on stamp file for rebuilding gzipped man pages.David Bremner
In [1] Daniel observed that the gzipped man pages were only being rebuild every second time when building with `make -j4'. This may be caused by a race condition between sphinx-build rebuilding the roff files and the recipe to gzip them. This commit sequentializes these two steps by making the stamp file a prerequisite for (all of) the gzip files. [1]: id:87tveotn1g.fsf@fifthhorseman.net
2021-12-23test: remove directory names from paths in exceptionsDavid Bremner
These cause failures when building out of tree.
2021-12-23emacs: add notmuch-logo.svg and use it in emacs mua on graphic displaysTomi Ollila
emacs/notmuch-logo.svg is handcrafted scalable vector graphics version of the notmuch logo. Emacs on graphic displays render this image four times in size compared to the emacs/notmuch-logo.png, and the image is much sharper. The rendered image size, 100x100 pixels, fits reasonably well with text shown in various font sizes. Scaling the image -- if desired -- may come in the future. For now this is improvement on how the logo looked in notmuch-hello window.
2021-12-23doc: introduce stamp file for info buildDavid Bremner
This partially fixes (i.e. just for sphinx) the problem reported by Daniel in id:87r29wwgq2.fsf@fifthhorseman.net.
2021-12-23doc: replace phony target with variableDavid Bremner
Depending on a phony target seems like a good way to always trigger a recipe.
2021-12-12emacs/tree: fix docstrings for author facesKyle Meyer
The docstrings for notmuch-tree-match-author-face and notmuch-tree-no-match-author-face incorrectly match the docstring of notmuch-tree-match-date-face.
2021-12-11configure: have bash_absolute and perl_absolute always definedTomi Ollila
Since set -u is used, without bash or perl, configure would fail. This has gone unnoticed as (almost) everyone always had both bash and perl installed (and in $PATH). Thanks to FreeBSD ports this bug became visible; this change is verbatim copy of `patch-configure` in FreeBSD ports tree.
2021-12-10Merge tag 'debian/0.34.2-1'David Bremner
notmuch release 0.34.2-1 for unstable (sid) [dgit] [dgit distro=debian no-split --quilt=linear]