aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-04-07Merge branch 'release'David Bremner
2022-03-28debian: upload 0.35-2 ; disable failing testdebian/0.35-2archive/debian/0.35-2David Bremner
We should fix this flaky test upstream, but for now, fix the build.
2022-03-25test: unset XDG_DATA_HOME and MAILDIR for tests.David Bremner
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-19lib: do not phrase parse prefixed bracketed subexpressionsDavid Bremner
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-19test: known broken tests for bracketed terms in subjectDavid Bremner
The heuristics in the field processor currently incorrectly trigger phrase parsing.
2022-02-26emacs: whitespace cleanup for keybindingsDavid Bremner
Changing the width of a column requires rewriting all the rows.
2022-02-26emacs: Document undo binding.David Bremner
This messes up whitespace, which will require a global change to fix.
2022-02-26emacs: redirect undo to notmuch-tag-undoDavid Bremner
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-26emacs: add notmuch-tag-undoDavid Bremner
Keybindings are deferred to a future commit.
2022-02-26emacs/tag: keep tag historyDavid Bremner
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-25emacs: remove non-batch code path from function notmuch-tagDavid Bremner
It is no slower (according to T06-emacs) to use batch for everything, and it simplifies the code.
2022-02-25perf-test: emacs taggingDavid Bremner
Time tag operations, to see if it is worthwhile keeping both the batch and the non-batch calls to notmuch tag.
2022-02-25perf-test: allow running test_emacs from performance test suite.David Bremner
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-25test/emacs: split out tagging related testsDavid Bremner
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-25test: split variable settings to their own fileDavid Bremner
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-25doc/emacs: add minimal documentation for notmuch-unthreaded mode.David Bremner
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-25devel/notmuch-web: single user web front end using python-cffiDavid Bremner
Originally contributed by Brian Sniffen [1]. Quite a few unpublished fixes from Daniel Kahn Gilmour. We've been running it a few years now as the "official" archive of the notmuch mailing list. There also a few fixes from myself and Austin Ray. Finally I converted it to the new python bindings. This commit squashes the several years of development history and moves it under devel, in recognition of the now established role it plays in the project infrastructure. [1]: id:87tvyvp4f2.fsf@istari.evenmere.org
2022-02-21removed use of 'echo -n' (and echo -n -e ...)Tomi Ollila
In most cases used printf %s ... instead. echo -n > file lines to create empty / truncate files were changed to : > file lines, like done in in test-lib-emacs.sh And one echo -n " " replaced with use of sed "s/^/ /" in next line.
2022-02-20doc: use hyperlinks for config options in notmuch-insert(1)David Bremner
The tradeoff is no bold/italic in the man pages to get actual hyperlinks in the html output.
2022-02-20doc: add configuration section to notmuch-insert(1)David Bremner
This is partially redudant given some existing cross references, but it is useful to have all of the config keys listed in one place, to help keep track of them if nothing else.
2022-02-20doc: add configuration section to notmuch-new(1)David Bremner
Increase discoverability.
2022-02-20doc: alphabetize options in notmuch-config(1)David Bremner
Originally (I think) these were in the order generated by notmuch setup. As the number of options grows, and several are not in the initial setup generated file, the original order becomes less useful for users. This commit alphabetizes the keys to help users search. There is only one content change, an added cross-reference from user.other_email to user.primary_email.
2022-02-19CLI/insert: escape envelope fromDavid Bremner
The idea is to do as little parsing and modification of the delivered message as possible. Luckily the position of the "envelope header" lets us escape it by replacing the first 5 characters of the stream with a regular header name (with ':').
2022-02-19CLI/insert: split copy_fdDavid Bremner
This helps maintainability and enables code-reuse of our home-brewed buffered-write code. This commit is mostly code movement.
2022-02-19test: add known broken test for insert with mbox as inputDavid Bremner
It seems reasonable that notmuch should try to avoid delivering messages in formats it cannot index.
2022-02-19test: start new corpus of test messages for indexing codeDavid Bremner
This particular message is not recognized by notmuch as mail, but is fine according to e.g. mutt. The trigger for this bad behaviour seems to be a second "From " ocurring at the beginning of the line but inside an attachment.
2022-02-16python-cffi: use config_pairs API in ConfigIteratorDavid Bremner
This returns all of the config keys with non-empty values, not just those that happen to be stored in the database.
2022-02-16test: known broken test for list(db.config) in python-cffi bindingsDavid Bremner
As of notmuch 0.34.2 [1], the python-cffi bindings make available the configuration from both a config file and the database when accessing Database.config like a dictionary. It is therefore confusing that the iterator operations only work on the configuration information stored in the database. [1]: d7f95724132bf658fd151630185899737e2ed829
2022-02-16emacs: escape quote in notmuch-search-result-format docstringDavid Bremner
Prevent Emacs' mangling of quotes, which breaks the code sample.
2022-02-12emacs: remove png logoDavid Bremner
Reduce chance of downstream packagers packing the wrong file.
2022-02-11doc: make post-hook description more preciseinwit
Add the word "any" to the description of post-new hook description in order to clarify that it is always run, even if there are no new messages.
2022-02-06gitignore: add bindings/python-cffi/_notmuch_config.py0.35David Bremner
This is generated by configure and should not be committed.
2022-02-06version: bump to 0.35David Bremner
2022-02-06NEWS: set release date for 0.35David Bremner
2022-02-06debian: start changelog for 0.35David Bremner
2022-02-05NEWS: remaining items for 0.35 releaseDavid Bremner
These are my best guesses based on git commit messages.
2022-01-31NEWS: emacs/notmuch-logo.svg is there in 0.35Tomi Ollila
2022-01-31NEWS: my changes for 0.35David Bremner
2022-01-29debian: changelog for 0.35~rc0-2debian/0.35_rc0-2archive/debian/0.35_rc0-2David Bremner
2022-01-29debian: add missing install file for notmuch-docdebian/0.35_rc0-1archive/debian/0.35_rc0-1David Bremner
This was missed from commit 11f03c87a205ffa99ff5e7b301b03bf996a8d562
2022-01-29NEWS: add stub for 0.350.35_rc0David Bremner
2022-01-29debian: add changelog for 0.34~rc0-1David Bremner
2022-01-29lib: bump minor version to 6.David Bremner
One new status value and one configuration value added.
2022-01-29version: bump to 0.35~rc0David Bremner
Start release process for 0.35
2022-01-29debian: package HTML docsDavid Bremner
This is particularly useful for the docs for the notmuch2 python bindings, which are otherwise not packaged.
2022-01-29doc: replace :math: for subscripts in notmuch-sexp-queries(7)David Bremner
Sphinx pulls in mathjax to do :math:, which complicates viewing the html version offline. The direct :sub: is supported directly in html.
2022-01-27lib: strip trailing '/' from pathnames (sexp queries).David Bremner
This changes makes the sexp query parser consistent with the infix one in ignoring trailing '/'. Here we do a bit better and ignore any number of trailing '/'.
2022-01-27test: add multiple path, folder sexp query testsDavid Bremner
This is mainly to make sure we get trailing / removal correct. Also add regression test for path: in the infix parser matching the existing one for folder:.
2022-01-27lib: drop trailing slash for path and folder searches (infix)David Bremner
This resolves an old bug reported by David Edmondson in 2014. The fix is only needed for the "boolean" case, as probabilistic / phrase searching already ignores punctuation. This fix is only for the infix (xapian provided) query parser. [1]: id:cunoasuolcv.fsf@gargravarr.hh.sledj.net
2022-01-27test/sexp: tests for path, folder, including trailing '/' (sexp)David Bremner
This duplicates the bug reported in [1], as well as adding some simple regression tests for 'path' and 'folder' searches which were previously missing for sexp syntax. [1]: id:cunoasuolcv.fsf@gargravarr.hh.sledj.net