summaryrefslogtreecommitdiffstats
path: root/doc
AgeCommit message (Collapse)Author
2020-10-30Rename version to version.txtRalph Seichter
Building Notmuch on macOS is known to cause problems because the Notmuch distribution archive contains two files named "version". These names clash with the <version> header as defined in C++20. Therefore, the existing naming will likely become a problem on other platforms as well, once compilers adopt the new standard. Signed-off-by: Ralph Seichter <github@seichter.de> Amended-by: db s/keyword/header/ in commit message.
2020-08-09emacs: Use makefile-gmake-mode in Makefile*sJonas Bernoulli
Use `makefile-gmake-mode' instead of `makefile-mode' because the former also highlights ifdef et al. while the latter does not. "./Makefile.global" and one "Makefile.local" failed to specify any major mode at all but doing so is necessary because Emacs does not automatically figure out that these are Makefiles (of any flavor).
2020-07-15doc: add new python bindings to main documentation tree.David Bremner
A separate conf.py and doc directory (or will be needed if someone wants to build the bindings docs separately from notmuch.
2020-07-15doc: replace use of environment variables with a generated configDavid Bremner
It is getting unwieldy to pass configuration options on the sphinx-build command line, and I anticipate further use of conditionals. As far as I could tell, execing a string is the idiomatic way to emulate include in Python.
2020-07-11doc: make gzipped man pages reproducibleJonas Witschel
gzip includes the name of the uncompressed file and its modification timestamp into the compressed archive. The latter makes it hard to reproduce the generated files bit for bit at a later time, so omit this information from the archive using the "--no-name" option. This is a reproducibility best practice, see https://wiki.debian.org/ReproducibleBuilds/TimestampsInGzipHeaders
2020-06-06doc: field processor support now always included, adjust manual pagesTomi Ollila
The features that require field processor support, are now just documented w/o mentioning **Xapian Field Processors**' is needed for those. Replaced "compact" and "field_processor" with "retry_lock" in build_with config option, as it is currently the only one that is optionally excluded. The former 2 are now documented as features always included. Dropped one 'we' "passive" in notmuch-search-terms.rst. It was the only one, and inconsistent with rest of the documentation in that file. Dropped message about conditional open-ended ranges support, as those are now always supported.
2020-06-01bump date in documentationDavid Bremner
2020-06-01doc: fix for out-of-tree builds of notmuch-emacs docsDavid Bremner
The sphinx-doc include directive does not have the ability to include files from the build tree, so we replace the include with reading the files in conf.py. The non-trivial downside of this is that the emacs docstrings are now defined for every rst source file. They are namespaced with docstring::, so hopefully there will not be any surprises. One thing that is noticable is a small (absolute) time penalty in running sphinx-doc.
2020-05-08notmuch(1): clarify documentation about --option/value separatorsDaniel Kahn Gillmor
id:CA+Tk8fzRiqxWpd=r8=DRvEewNZXUZgD7MKyRLB1A=R-LxxGEZw@mail.gmail.com started a thread of discussion that showed that the cli's current idiosyncrasies around dealing with boolean options were not understandable. This attempts to improve the documentation at least (actual changes to the API might be better, but have not reached consensus). Note that no one in the discussion thread identified any other (non-boolean) command-line options that cannot use space as a separator. If such an option is identified (or introduced in the future), it should be added explicitly to this part of the manual. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-04-01doc: Drop obsolete MSCGEN_PATH, PERL_PATH from doxygen configurationDaniel Kahn Gillmor
Since doxygen 1.8.16, MSCGEN_PATH and PERL_PATH are obsolete: MSCGEN_PATH: https://github.com/doxygen/doxygen/commit/873e0ccfbe43ef98d4858beb08eef37631ae3cf6 PERL_PATH: https://github.com/doxygen/doxygen/commit/6d1535c38fe6bdaa2a00fff0e7e43774a740a4ce I don't think that the notmuch builds ever depended on them in the first place, and including them in the default config yields the following two warnings: ``` doxygen ./doc/doxygen.cfg warning: Tag 'PERL_PATH' at line 267 of file './doc/doxygen.cfg' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" warning: Tag 'MSCGEN_PATH' at line 272 of file './doc/doxygen.cfg' has become obsolete. To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u" ``` Remove them to avoid the warnings. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-02-19Drop deprecated/unused crypto.gpg_pathDaniel Kahn Gillmor
crypto.gpg_path was only used when we built against gmime versions before 3.0. Since we now depend on gmime 3.0.3 or later, it is meaningless. The removal of the field from the _notmuch_config struct would be an ABI change if that struct were externally exposed, but it is not, so it's safe to unilaterally remove it. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-01-16doc: clean up manpage description of "notmuch-config list" outputDaniel Kahn Gillmor
The escaping in the description of the output of "notmuch-config list" appears to have been inherited from some previous attempts at documentation. It leaked out in the actual generated manpage documentation, where it looks like this: list Every configuration item is printed to stdout, each on a separate line of the form: *section*.\ *item*\ =\ *value* This simplification cleans up the overescaping. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-09-15index: repair "Mixed Up" messages before indexing.Daniel Kahn Gillmor
When encountering a message that has been mangled in the "mixed up" way by an intermediate MTA, notmuch should instead repair it and index the repaired form. When it does this, it also associates the index.repaired=mixedup property with the message. If a problem is found with this repair process, or an improved repair process is proposed later, this should make it easy for people to reindex the relevant message. The property will also hopefully make it easier to diagnose this particular problem in the future. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-09-01index: avoid indexing legacy-display partsDaniel Kahn Gillmor
When we notice a legacy-display part during indexing, it makes more sense to avoid indexing it as part of the message body. Given that the protected subject will already be indexed, there is no need to index this part at all, so we skip over it. If this happens during indexing, we set a property on the message: index.repaired=skip-protected-headers-legacy-display Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-09-01repair: set up codebase for repair functionalityDaniel Kahn Gillmor
This adds no functionality directly, but is a useful starting point for adding new repair functionality. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-06-12build: drop variable HAVE_EMACS. use WITH_EMACS insteadDavid Bremner
The extra flexibility of having both HAVE_EMACS (for yes, there is an emacs we can use) and WITH_EMACS (the user wants emacs support) lead to confusion and bugs. We now just force WITH_EMACS to 0 if no suitable emacs is detected.
2019-06-10doc: Don't install emacs docs when they are not builtDavid Bremner
In 40b025 we stopped building the notmuch-emacs documentation if HAVE_EMACS=0 (i.e. no emacs was detected by configure). Unfortunately we continued to try to install the (non-existent) documentation, which causes build/install failures. As a bonus, we also avoid installing the documentation if the user configures --without-emacs. Thanks to Ralph Seichter for reporting the problem, and testing previous versions of this fix.
2019-06-10doc: don't build notmuch-emacs.info for configure --without-emacsDavid Bremner
Since the docstrings are not built in the case of --without-emacs, even if emacs is detected, don't let sphinx build the emacs docs. This avoids a large number of error messages due to missing includes. It's actually a bit surprising sphinx doesn't generate an error for the missing include files.
2019-06-03doc: use separate doctrees for distinct buildersDavid Bremner
It seems our previous attempt with order-only targets was not sufficient to avoid problems with sphinx-builds doctree cache [0]. Looking around at other people's approaches [1], using separate doctrees was suggested. I guess there might be a slight loss of efficiency, but it seems more robust. [0]: build failures were first noticed in Debian experimental, but I was able to duplicate it in my usual build environment about 1 in 8 builds. [1]: in particular https://salsa.debian.org/mpd-team/mpc/commit/9e3fc1657d043d75755993846c93f7700b97f907
2019-05-25doc: document user header indexing.David Bremner
It's a bit odd that the primary documentation is in notmuch-config, but it is consistent with the "query:" prefix.
2019-04-24doc: exclude notmuch-emacs.rst if emacs is not present.David Bremner
This will still generate a warning about an excluded document in the toctree, but it cuts down on the noise quite a lot.
2019-04-24doc: use stamp file for html docsDavid Bremner
These are less time consuming than the texi docs to rebuild (because the texi rebuild triggers info rebuild), but still take noticable time.
2019-04-24doc: use stamp file to control rebuilding texiDavid Bremner
Apparently the sphinx-doc texinfo builder is not smart enough to only rebuild those files where the source has changed.
2019-04-17lib: add 'body:' field, stop indexing headers twice.David Bremner
The new `body:` field (in Xapian terms) or prefix (in slightly sloppier notmuch) terms allows matching terms that occur only in the body. Unprefixed query terms should continue to match anywhere (header or body) in the message. This follows a suggestion of Olly Betts to use the facility (since Xapian 1.0.4) to add the same field with multiple prefixes. The double indexing of previous versions is thus replaced with a query time expension of unprefixed query terms to the various prefixed equivalent. Reindexing will be needed for 'body:' searches to work correctly; otherwise they will also match messages where the term occur in headers (demonstrated by the new tests in T530-upgrade.sh)
2019-03-31doc: document notmuch new --verboseMichal Sojka
2019-03-27doc: Clean up warnings when building notmuch-emacs docsDaniel Kahn Gillmor
Without this change, we see this during the build: sphinx-build -b html -d doc/_build/doctrees -q ./doc doc/_build/html …/doc/notmuch-emacs.rst:67: WARNING: Unexpected indentation. …/doc/notmuch-emacs.rst:165: WARNING: Unexpected indentation. …/doc/notmuch-emacs.rst:306: WARNING: Unexpected indentation. This source change doesn't seem to have any effect on the generated HTML, at least. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-03-19doc/build: use $(MAKE) instead of makeDavid Bremner
This should silence some warnings about the jobserver, but also make it easier to build the docs where GNU make is called something other than make. Based on a patch from aidecoe.
2019-03-06Merge branch 'release'David Bremner
Changes from 0.28.3
2019-03-05doc: sequentialize calls to sphinx-buildDavid Bremner
In certain conditions the parallel calls to sphinx-build could collide, yielding a crash like Exception occurred: File "/usr/lib/python3/dist-packages/sphinx/environment.py", line 1261, in get_doctree doctree = pickle.load(f) EOFError: Ran out of input
2019-02-21Emacs: bind "g" to 'notuch-refresh-this-bufferMatt Armstrong
Using "g" for refresh operations is a pretty common Emacs convention, codified by `special-mode' in simple.el.
2019-02-01Merge tag '0.28.1'David Bremner
notmuch 0.28.1 release
2019-02-01bump copyright yeardebian/0.28.1-1archive/debian/0.28.1-10.28.1David Bremner
2019-01-27doc: fix references to search.exclude_tagsPeter Wang
The documentation incorrectly referred to a configuration item "search.tag_exclude" in some places, instead of "search.exclude_tags".
2018-12-20doc: make man pages depend on emacs docstringsDavid Bremner
This is nonsensical on the face of it, but is needed (for now) because the notmuch-emacs page is unconditionally included in index.rst.
2018-12-08doc/emacs: document notmuch-cycle-notmuch-buffersDavid Bremner
For some reason I couldn't find this when I searched, so add it to the manual.
2018-12-08doc/emacs: document notmuch-poll*David Bremner
The current "documentation" for these variables consists of only the variable names.
2018-12-08doc/emacs: document notmuch-tagging-keysDavid Bremner
Calling these "Global keys" is arguably a bit of a stretch, but they do work in all notmuch modes except notmuch-hello.
2018-12-08doc/emacs: document notmuch-message-headers*David Bremner
More precisely, copy the docstrings into notmuch-emacs documentation pages.
2018-12-08doc/emacs: add documentation for stashing 'c X' bindingsDavid Bremner
This is the first of a series of changes requiring the extracted docstrings.
2018-12-08doc/emacs: require extracted docstrings for sphinx or info manualDavid Bremner
We need to use the stamp file here in order not to depend on the order the submakefiles are included.
2018-11-24cli: notmuch show support for --include-html with --format=textMaxime Coste
2018-11-24cli: notmuch show support for --body=false with --format=textMaxime Coste
2018-06-24doc: clean up manpagesDaniel Kahn Gillmor
Many of the manpages didn't treat literal text as literal text. I've tried to normalize some of the restructured text to make it a bit more regular. several of the synopsis lines are still untouched by this cleanup, but i'm not sure what the right way to represent those is in .rst, actually. In particular find that if i rebuild the manpages, sometimes i end up with some of the synopsis lines showing – (U+2013 EN DASH) where they should have -- (2 × U+002D HYPHEN-MINUS) in the generated nroff output, though i have not tracked down the source of this error yet.
2018-05-26docs: add initial documentation for notmuch-tag-jumpDavid Bremner
This is mainly to improve discoverability. It seems that doing variable cross-references is not easy without using some sphinx extension/customization.
2018-05-26doc: initial documentation for notmuch-tree modeDavid Bremner
2018-05-26doc: initial documentation for notmuch-show-modeDavid Bremner
This is pretty minimal, but will hopefully inspire others to contribute more complete documentation. If nothing else, it points out '?'.
2018-05-26doc: install build and install info pagesDavid Bremner
All of the man pages are installed as info pages, plus the (unfinished) notmuch-emacs manual
2018-05-26cli/show: enable --decrypt=stashDaniel Kahn Gillmor
Add fancy new feature, which makes "notmuch show" capable of actually indexing messages that it just decrypted. This enables a workflow where messages can come in in the background and be indexed using "--decrypt=auto". But when showing an encrypted message for the first time, it gets automatically indexed. This is something of a departure for "notmuch show" -- in particular, because it requires read/write access to the database. However, this might be a common use case -- people get mail delivered and indexed in the background, but only want access to their secret key to happen when they're directly interacting with notmuch itself. In such a scenario, they couldn't search newly-delivered, encrypted messages, but they could search for them once they've read them. Documentation of this new feature also uses a table form, similar to that found in the description of index.decrypt in notmuch-config(1). A notmuch UI that wants to facilitate this workflow while also offering an interactive search interface might instead make use of these additional commands while the user is at the console: Count received encrypted messages (if > 0, there are some things we haven't yet tried to index, and therefore can't yet search): notmuch count tag:encrypted and \ not property:index.decryption=success and \ not property:index.decryption=failure Reindex those messages: notmuch reindex --try-decrypt=true tag:encrypted and \ not property:index.decryption=success and \ not property:index.decryption=failure
2018-05-22doc: document notmuch new --full-scanDavid Bremner
2018-05-09doc: fix notmuch-search exampleDavid Bremner
For some reason the searched tag did not match the displayed results.