aboutsummaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2022-06-17CLI/git: add safety checks for checkout and commitDavid Bremner
Commits or checkouts that modify a large fraction of the messages in the database should be relatively rare (and in some automated process, probably non-existent). For initial setup, where such operations are expected, the user can pass --force.
2022-06-17CLI/git: support configuration for repo location / prefixDavid Bremner
This is probably more convenient than always passing a command line argument. Use notmuch-config for consistency with other notmuch CLI tools. Now that there is something relevant in the config files, test the --config option.
2022-06-17CLI/git: change defaults for repo and prefixDavid Bremner
The previous defaults were not suitable for personal (i.e. not bugtracking for notmuch development) use. Provide two ways for the user to select nmbug compatible defaults; command line argument and checking the name of the script.
2022-06-17doc/notmuch-git: initial documentationDavid Bremner
This is mainly derived from the various help outputs from the script, with some massaging of markup and addition of links.
2022-06-16emacs: use message-dont-reply-to-names when composing repliesjao
notmuch-mua functions for replies now use the built-in customizable variable message-dont-reply-to-names with the same semantics as message-mode.
2022-06-13CLI: document handling of --config for external commandsDavid Bremner
Create a section of the notmuch(1) manpage to have some place to put this documentation.
2022-05-29doc/emacs: document a few notmuch-hello customizable variables.David Bremner
A user asked about the thousands separator on IRC, and I had to check the source.
2022-05-20emacs: document/defcustom notmuch-multipart/alternative-discouragedDavid Bremner
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-20doc: define and use semantic markup for configuration itemsDavid Bremner
This makes sure each configuration item is cross referenceable without extra markup, and also adds index entries.
2022-05-15doc/emacs: document notmuch-show-toggle-toggle-elide-non-matchingDavid Bremner
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-04-30doc/sexp-queries: be more consistent about ending example textDavid Bremner
Most, but not all of the the explanatory texts already end in '.'. This makes the remainder match.
2022-04-30doc/sexp-queries: fix exampleDavid Bremner
Update the explanatory text to match the query.
2022-04-30doc/sexp-queries: escape @ in non-verbatim textDavid Bremner
This prevents sphinx-doc from creating spurious mailto: links. Thanks to Jakub Wilk for telling me about the fix.
2022-04-15lib: add sexp: prefix to Xapian (infix) query parser.David Bremner
This is analogous to the "infix" prefix provided by the s-expression based query parser.
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-02-26emacs: Document undo binding.David Bremner
This messes up whitespace, which will require a global change to fix.
2022-02-26emacs: add notmuch-tag-undoDavid Bremner
Keybindings are deferred to a future commit.
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-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-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-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-25doc: document new option `show.extra_headers`David Bremner
Increase discoverability by cross referencing from the notmuch-show manual entry to the notmuch-config manual entry.
2022-01-23emacs: customizable names for search buffersjao
Customizable names for buffers presenting search results, via two custom variables (notmuch-search-buffer-name-format and notmuch-saved-search-buffer-name-format), defaulting to values currently used for plain searches and including too tree and unthreaded search buffers. Amended by db: spelling fix.
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-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.
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-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-04Merge branch 'release'David Bremner
2021-12-04python-cffi: switch to notmuch_database_{open,create}_with_configDavid Bremner
Since release 0.32, libnotmuch provides searching for database and configuration paths. This commit changes the python module notmuch2 to use those facilities. This fixes the bug reported in [1], along with a couple of the deprecation warnings in the python bindings. Database.default_path is deprecated, since it no longer faithfully reflects what libnotmuch is doing, and it is also no longer used in the bindings themselves. This commit choose the default of config=CONFIG.EMPTY (equivalent to passing "" to notmuch_database_open_with_config). This makes the change upward compatible API-wise (at least as far as the test suite verifies), but changing the default to CONFIG.SEARCH would probably be more convenient for bindings users. [1]: id:87h7d4wp6b.fsf@tethera.net
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-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-09-04doc/sexp-queries: update synopsis and descriptionDavid Bremner
I chose to go with a somewhat terse synopsis to try to keep the length of the page down.
2021-09-04lib/parse-sexp: apply macrosDavid Bremner
Macros implement lazy evaluation and lexical scope. The former is needed to make certain natural constructs work sensibly (e.g. (tag ,param)) but the latter is mainly future-proofing in case the DSL is is extended to allow local bindings. For technical background, see chapters 6 and 17 of [1] (or some other intermediate programming languages textbook). [1] http://cs.brown.edu/courses/cs173/2012/book/
2021-09-04CLI/config support saving s-expression queriesDavid Bremner
This commit does not enable using saved s-expression queries, only saving and retrieving them from the config file or the database. Use in queries will be enabled in a following commit.
2021-09-04lib/parse-sexp: handle saved queriesDavid Bremner
This provides functionality analogous to query: in the Xapian QueryParser based parser. Perhaps counterintuitively, the saved queries currently have to be in the original query syntax (i.e. not s-expressions).
2021-09-04lib/parse-sexp: parse user headersDavid Bremner
One subtle aspect is the replacement of _find_prefix with _notmuch_database_prefix, which understands user headers. Otherwise the code mainly consists of creating a fake prefix record (since the user prefixes are not in the prefix table) and error handling.
2021-09-04lib/parse-sexp: support infix subqueriesDavid Bremner
This is necessary so that programs can take infix syntax queries from a user and use the sexp query syntax to construct e.g. a refinement of that query.
2021-09-04lib/parse-sexp: expand queriesDavid Bremner
The code here is just gluing together _notmuch_query_expand with the existing sexp parser infrastructure.
2021-09-04lib/parse-sexp: support regular expressionsDavid Bremner
At least to the degree that the Xapian QueryParser based parser also supports them. Support short alias 'rx' as it seems to make more complex queries nicer to read.
2021-09-04lib/parse-sexp: add '*' as syntactic sugar for '(starts-with "")'David Bremner
Users that insist on using a literal '*' as a tag, can continue to do so by quoting it when searching.
2021-09-04lib/parse-sexp: 'starts-with' wildcard searchesDavid Bremner
The many tests potentially overkill, but they could catch typos in the prefixes table. As a simplifying assumption, for now we assume a single argument to the wildcard operator, as this matches the Xapian semantics. The name 'starts-with' is chosen to emphasize the supported case of wildcards in currrent (1.4.x) Xapian.