Commit graph

7315 commits

Author SHA1 Message Date
David Bremner
6810881705 lib: fix uninitialized field in message objects.
Initially reported by Eliza Vasquez [1] (via valgrind).

[1]: id:87o7zxj086.fsf@eliza.
2022-05-26 08:09:32 -03:00
David Bremner
fd46fc1977 emacs: document/defcustom notmuch-multipart/alternative-discouraged
This variable is important for people who want to change the default
behaviour when displaying multipart/alternative messages.  Previously
it was undocumented.  Add a defcustom to help users and copy some
documentation from the wiki. The usual machinery of re-using
docstrings is a bit tricky to use here because it mangles the example
lisp code, and the link to the info node should not be in e.g. the
html page.

Add a simple test to make sure the switch from defvar to defcustom did
not break something obvious.
2022-05-20 22:40:32 -03:00
David Bremner
306b7028d2 doc: define and use semantic markup for configuration items
This makes sure each configuration item is cross referenceable without
extra markup, and also adds index entries.
2022-05-20 22:40:32 -03:00
David Bremner
90a7c1af36 emacs/reply: restrict what mime types are inlined by default
Apply the previously factored-out function used by notmuch-show.
2022-05-16 07:12:47 -03:00
David Bremner
817e53f4db emacs: factor out calculation of mm-inline-override-types
The intended use case of this new function is to make reply behaviour
track that of show with respect to attachments.

Also fix the glob (which worked by fluke) into the documented regexp.
2022-05-16 07:12:28 -03:00
David Bremner
e663231681 test: add known broken test for inlining in emacs/reply
The same mitigation already applied for show should also be applied
for reply
2022-05-16 07:11:18 -03:00
David Bremner
21b2d7dd4b test/emacs: add regression test for display of tar attachments
These should continue to display as buttons by default, even as we
update the handling for reply.
2022-05-16 07:11:04 -03:00
David Bremner
b884d7e2f5 test: start corpus for attachments
Initially these are to test the emacs frontend.
2022-05-16 07:10:12 -03:00
David Bremner
d8492f7540 doc/emacs: document notmuch-show-toggle-toggle-elide-non-matching
Recently there was a question on the mailing list about the existence
of this function, so let us try to make it more discoverable.
2022-05-15 18:50:32 -03:00
David Bremner
37492858b6 doc/sexp-queries: be more consistent about ending example text
Most, but not all of the the explanatory texts already end in
'.'. This makes the remainder match.
2022-04-30 14:22:51 -03:00
David Bremner
5e90c847d7 doc/sexp-queries: fix example
Update the explanatory text to match the query.
2022-04-30 14:13:03 -03:00
David Bremner
b2eb0547e1 doc/sexp-queries: escape @ in non-verbatim text
This prevents sphinx-doc from creating spurious mailto: links. Thanks
to Jakub Wilk for telling me about the fix.
2022-04-30 13:46:51 -03:00
David Bremner
e3ad0087f3 Merge branch 'release' 2022-04-25 09:07:45 -03:00
David Bremner
a9b5f8959a debian: changelog for 0.36-1 2022-04-25 08:48:07 -03:00
David Bremner
09418c0105 NEWS: set release date 2022-04-25 08:47:07 -03:00
David Bremner
f93a2c7383 version: bump to 0.36 2022-04-25 08:45:12 -03:00
David Bremner
2c61fff4ec Merge branch 'release' 2022-04-22 09:30:51 -03:00
David Bremner
1b0956a0b1 NEWS: user visible changes for 0.36 2022-04-22 09:27:48 -03:00
David Bremner
dc67785f89 NEWS: fix location for notmuch-web
It actually lives under 'devel/', not 'contrib/`.
2022-04-22 09:24:46 -03:00
Michael J Gruber
0d0cc2a547 configure: avoid warning with -Wall
7228fe68 ("configure: restructure gmime cert validity checker code",
2022-04-09) restructured generated C code to repurpose it later on. This
put usage of `validity` within an `#if`, resulting in an "unused
warning" if that `#if` is not executed.

Put the variable declariation inside the same if branch and, thus,  quel
the warning.

Signed-off-by: Michael J Gruber <git@grubix.eu>
2022-04-19 17:11:46 -03:00
David Bremner
7dd6dacb10 debian: changelog for 0.36~rc1-1 2022-04-16 08:38:04 -03:00
David Bremner
8f9dbff49e version: bump to new release candidate 2022-04-16 08:26:27 -03:00
Michael J Gruber
785f9d656d fix build without sfsexp
a1d139de ("lib: add sexp: prefix to Xapian (infix) query parser.",
2022-04-09) introduced sfsexp infix queries. This requires the infix
preprocessor to be built in in a way which does not require sfsexp when
notmuch is built without it.

Make the preprocessor throw a Xapian error in this case (and fix the
build).

Signed-off-by: Michael J Gruber <git@grubix.eu>
2022-04-15 14:17:31 -03:00
David Bremner
78aaef9a0b release: automate upload of pre-release tarballs
The tarballs were requested by some distro-packagers, and this
automation will hopefully reduce the number of errors from the current
manual process.
2022-04-15 09:23:58 -03:00
David Bremner
83f4e5babb release: save more release files to releases/
The main change is to move the signatures to releases/ when invoking
the pre-release target; also stash the debian symlink for the release
target.
2022-04-15 09:11:28 -03:00
David Bremner
ec547289be NEWS: add header for 0.36 2022-04-15 08:47:37 -03:00
David Bremner
54f73ad4f7 debian: changelog for 0.36~rc0-1 2022-04-15 08:45:28 -03:00
David Bremner
d87d780ef0 version: bump to 0.36~rc0 2022-04-15 08:42:22 -03:00
David Bremner
a1d139de4d lib: add sexp: prefix to Xapian (infix) query parser.
This is analogous to the "infix" prefix provided by the s-expression
based query parser.
2022-04-15 08:25:46 -03:00
David Bremner
fc3bb11808 test/sexp: add test for and of stemmed terms.
Previously only singled stemmed terms were tested.
2022-04-15 08:25:19 -03:00
David Bremner
97f16b2651 configure: clean up new test source and binary files.
The previous source was renamed and a new binary generated in
commit 8723e707c1.
2022-04-13 08:23:54 -03:00
David Bremner
b3e208aa14 debian: don't skip test smime.4
The test is fixed now.
2022-04-13 08:15:10 -03:00
David Bremner
8723e707c1 test/smime: fix signature verification test with newer gmime.
The extra machinery to check for the actual output format is justified
by the possibility that distros may patch this newer output format
into older versions of gmime.

Amended-by: Michael J Gruber <git@grubix.eu>
Signed-off-by: Michael J Gruber <git@grubix.eu>
Amended-again-by: db
2022-04-13 07:55:22 -03:00
David Bremner
7228fe688c configure: restructure gmime cert validity checker code
The goal is to generalize this to also check the output format of
g_mime_certificate_get_email.
2022-04-13 07:45:06 -03:00
David Bremner
79dc8a54f1 Merge branch 'release' 2022-04-07 17:48:16 -05:00
David Bremner
b21994901d debian: upload 0.35-2 ; disable failing test
We should fix this flaky test upstream, but for now, fix the build.
2022-03-28 11:58:22 -06:00
David Bremner
04b43dc455 test: unset XDG_DATA_HOME and MAILDIR for tests.
The some of the tests (and the library functions they exercise) that
rely on XDG_CONFIG_HOME also check XDG_DATA_HOME and MAILDIR.
2022-03-25 13:08:59 -06:00
David Bremner
8ed6a172b3 lib: do not phrase parse prefixed bracketed subexpressions
Since Xapian does not preserve quotes when passing the subquery to a
field processor, we have to make a guess as to what the user
intended. Here the added assumption is that a string surrounded by
parens is not intended to be a phrase.
2022-03-19 07:27:29 -03:00
David Bremner
c9ed87f39f test: known broken tests for bracketed terms in subject
The heuristics in the field processor currently incorrectly trigger
phrase parsing.
2022-03-19 07:27:00 -03:00
David Bremner
7167b7556c emacs: whitespace cleanup for keybindings
Changing the width of a column requires rewriting all the rows.
2022-02-26 08:00:43 -04:00
David Bremner
928c204240 emacs: Document undo binding.
This messes up whitespace, which will require a global change to fix.
2022-02-26 08:00:28 -04:00
David Bremner
19cf3910a5 emacs: redirect undo to notmuch-tag-undo
The double remap is a bit ugly, but it seems better than adding
another layer of keymaps for those modes where notmuch-tag-undo makes
sense.
2022-02-26 08:00:11 -04:00
David Bremner
cc2c3a383d emacs: add notmuch-tag-undo
Keybindings are deferred to a future commit.
2022-02-26 07:58:14 -04:00
David Bremner
9b2a548189 emacs/tag: keep tag history
This buffer local list will be used to provide an undo facility for
tagging operations. Keeping history can be disabled with the new
OMIT-HIST option.
2022-02-26 07:57:58 -04:00
David Bremner
d298af9e9d emacs: remove non-batch code path from function notmuch-tag
It is no slower (according to T06-emacs) to use batch for everything,
and it simplifies the code.
2022-02-25 08:39:05 -04:00
David Bremner
a70c93515b perf-test: emacs tagging
Time tag operations, to see if it is worthwhile keeping both the
batch and the non-batch calls to notmuch tag.
2022-02-25 08:38:21 -04:00
David Bremner
b21fa0e433 perf-test: allow running test_emacs from performance test suite.
test_require_external prereq has to move to test-lib-common.sh, and
the new shell functions print_emacs_header and time_emacs are provided.

The somewhat indirect way of printing the output is to avoid the extra
"" present on string values from emacsclient.
2022-02-25 08:38:03 -04:00
David Bremner
c4c6045058 test/emacs: split out tagging related tests
T310-emacs is one of the largest and longest running sets of
tests. Splitting out the tagging operations will help maintainability
as well as potentially improve the parallel running time of the test
suite. Some slowdown in running the tests sequentially may result
since there is repeated setup.
2022-02-25 08:37:50 -04:00
David Bremner
371fa28ced test: split variable settings to their own file
This allows sharing more variable settings between the (correctness)
tests and the performance-tests. Unfortunately it seems a bit tricky
to move settings to test-lib-common.sh, as that is sourced late in
test-lib.sh, and moving it earlier breaks things.
2022-02-25 08:37:14 -04:00
David Bremner
92b6b991b0 doc/emacs: add minimal documentation for notmuch-unthreaded mode.
If nothing else it means the mode is discoverable by browsing the
documentation, and also provides a target for links when enumerating
modes.
2022-02-25 08:36:51 -04:00