Commit graph

5880 commits

Author SHA1 Message Date
Peter Wang
6784d5bc60 doc: fix references to search.exclude_tags
The documentation incorrectly referred to a configuration item
"search.tag_exclude" in some places, instead of "search.exclude_tags".
2019-01-27 08:18:38 -04:00
Tomi Ollila
5e44372373 configure: check that the version of emacs we may have is at least 24
This also effectively drops support to Emacs version 23, which was
deprecated in version 0.23.2 (2016-11-20) and did not entirely work
any more.
2019-01-25 21:15:32 -04:00
rhn
fac155815c docs: Use correct call to notmuch_query_search_threads in usage example
Amended by db: simplify (subjectively) the example.
2019-01-25 20:51:00 -04:00
rhn
b350c688e1 test: Check for replies obeying lifetime guarantees
The test attempts to check that a message coming from a thread outlives its messages list and gets destroyed together with the thread.
2019-01-25 20:37:26 -04:00
rhn
45639881b5 lib: Explicitly state when replies will be destroyed
Without an explicit guarantee, it's not clear how to use the reference.
2019-01-25 20:34:57 -04:00
David Bremner
e52535029b doc: make man pages depend on emacs docstrings
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-20 17:30:11 +09:00
David Bremner
fcf68eec31 doc/emacs: document notmuch-cycle-notmuch-buffers
For some reason I couldn't find this when I searched, so add it to the
manual.
2018-12-08 09:07:09 -04:00
David Bremner
3324544d42 doc/emacs: document notmuch-poll*
The current "documentation" for these variables consists of only the
variable names.
2018-12-08 09:05:25 -04:00
David Bremner
fd5f666476 doc/emacs: document notmuch-tagging-keys
Calling these "Global keys" is arguably a bit of a stretch, but they
do work in all notmuch modes except notmuch-hello.
2018-12-08 09:02:42 -04:00
David Bremner
1f6778d349 doc/emacs: document notmuch-message-headers*
More precisely, copy the docstrings into notmuch-emacs documentation pages.
2018-12-08 09:00:50 -04:00
David Bremner
241373cd3f doc/emacs: add documentation for stashing 'c X' bindings
This is the first of a series of changes requiring the extracted docstrings.
2018-12-08 08:56:17 -04:00
David Bremner
0601d2337e doc/emacs: require extracted docstrings for sphinx or info manual
We need to use the stamp file here in order not to depend on the order
the submakefiles are included.
2018-12-08 08:53:09 -04:00
David Bremner
0a9fc49b90 emacs: build docstring (rsti) files
These are intended to included in the sphinx manual for notmuch-emacs.
The stamp file makes it easier to depend on the docstrings from other
parts of the build
2018-12-08 08:49:31 -04:00
David Bremner
1ac110c12e emacs: initial version of rstdoc.el
This small library is intended to support batch extraction of Emacs
Lisp docstrings from source files. Clients will need to include (or
replace) rstdoc.rsti.
2018-12-08 08:45:48 -04:00
David Edmondson
576cff7654 reply: Include sender as recipient if they were the original recipient
When generating a reply message, if the user was the originator and
only recipient of the original message, include the user as a
recipient of the reply.
2018-12-07 08:03:50 -04:00
William Casarin
0d0e2869b9 emacs: filter tag completions by current query
When filtering by tags in notmuch-search-filter-by-tag, only return tags
related to the current query.

Before, it was returning all tags. There's no reason to refine the
current query with tags that don't exist in the current result set.

Signed-off-by: William Casarin <jb55@jb55.com>
2018-12-06 21:22:40 -04:00
Maxime Coste
baa4185c30 cli: notmuch show support for --include-html with --format=text 2018-11-24 09:12:30 -04:00
Maxime Coste
37e5bc00ae cli: notmuch show support for --body=false with --format=text 2018-11-24 09:11:42 -04:00
David Bremner
7f726c6e87 emacs: escape quote in docstring
This prevents emacs from turning it into a fancy, non-evaluable
docstring (and also makes it easier to deal with during extraction to
sphinx).
2018-10-21 10:30:51 -03:00
David Bremner
5e98bdc3be emacs: require notmuch-lib from notmuch-wash.el
This is needed so that notmuch-wash.el is loadable by itself; in
particular for the docstring processing.
2018-10-21 10:30:32 -03:00
Daniel Kahn Gillmor
daec80eeda Avoid spurious gcc warning in debugger.c
Without this patch, gcc 8.2.0-7 complains:

debugger.c: In function ‘debugger_is_active’:
debugger.c:40:24: warning: passing argument 2 to restrict-qualified parameter aliases with argument 1 [-Wrestrict]
     if (readlink (buf, buf, sizeof (buf)) != -1 &&
                   ~~~  ^~~

This is pretty silly, but it seems simplest to just avoid passing the
same buffer to readlink as both pathname and buf.
2018-10-21 10:25:07 -03:00
Daniel Kahn Gillmor
f5411574af index: explicitly follow GObject conventions
Use explicit labels for GTypeInfo member initializers, rather than
relying on comments and ordering.  This is both easier to read, and
harder to screw up.  This also makes it clear that we're mis-casting
GObject class initializers for gcc.

Without this patch, g++ 8.2.0-7 produces this warning:

CXX  -g -O2 lib/index.o
lib/index.cc: In function ‘GMimeFilter* notmuch_filter_discard_non_term_new(GMimeContentType*)’:
lib/index.cc:252:23: warning: cast between incompatible function types from ‘void (*)(NotmuchFilterDiscardNonTermClass*)’ {aka ‘void (*)(_NotmuchFilterDiscardNonTermClass*)’} to ‘GClassInitFunc’ {aka ‘void (*)(void*, void*)’} [-Wcast-function-type]
      (GClassInitFunc) notmuch_filter_discard_non_term_class_init,
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The definition of GClassInitFunc in
/usr/include/glib-2.0/gobject/gtype.h suggests that this function will
always be called with the class_data member of the GTypeInfo.  We set
that value to NULL in both GObject definitions in notmuch. So we mark
it as explicitly unused.

There is no functional change here, just code cleanup.
2018-10-21 10:21:26 -03:00
David Bremner
64bfe544fd notmuch release 0.28-2 for unstable (sid) [dgit]
[dgit distro=debian]
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCAAdFiEE3VS2dnyDRXKVCQCp8gKXHaSnniwFAlvBNPMACgkQ8gKXHaSn
 niy+nAwAjrOIC7Fb4FZa5U0pN1wfPsqASt4iP4mJqH94sCwbo2AuwxByg5n/Vc10
 VXmsEWGRetvZA3yEGGS6bo7utJli1k4EAN5WuFHXG9InLK1nj64AOdzcbnah3snc
 29F/RWSon69y//pwzUEF7G/pgu0MpQolsQUtVQ5H/zmil6nwwNNNNV8Z9fm3rbS2
 Qo2cbJTBgFbOkZ/5TZqkLySDwM28Nni53COeS4S/xUnoI0rcPu77zovrwK2TV/rz
 yiBQarMit3jm54/KhVWgwyQvq/9Nq3PqspwEV9NKWX/VKHInH8gOOdtVIZw2Xwga
 r+5XAy0n+E7IhFLIa1yyIUrKLJni+PRC0nAPfg4FJAypHNtPxmf2abBjgAOUtRT0
 8amEh03pdgVuUQi9nrm3wui1yBhtK9ZXZNnZhZ9EdRdeogSgcm7lkj5vnJLQBwGW
 UVTjwr5mBYqW0LWNTpTd5w/HwemeI1nqYSCX/tQwFpyrmi25xwa2Y8YlfaTUBSTA
 6pQ/cUS9
 =Q36H
 -----END PGP SIGNATURE-----

Merge tag 'debian/0.28-2'

notmuch release 0.28-2 for unstable (sid) [dgit]
[dgit distro=debian]
2018-10-12 21:01:06 -03:00
David Bremner
175f80c4c1 debian: override location of bash
Yes, a build chroot can have /usr/bin/bash, thanks to usrmerge, but we
can't depend on it existing in the user's system.
2018-10-12 20:54:30 -03:00
David Bremner
34e0782bf2 version: bump to 0.28 2018-10-12 20:18:14 -03:00
David Bremner
b956db3998 debian: changelog stanza for 0.28-1 2018-10-12 20:17:35 -03:00
David Bremner
92b33e251b NEWS: NEWS for 0.28
This is based on my subjective assessment of what is user/packager
facing and important from the output of 'git shortlog'
2018-10-12 20:15:22 -03:00
David Edmondson
329a8c7fce emacs: Update integration with third party packages.
`mm-inline-text-html-with-images' was removed from mm-decode.el in
2016 and replaced with `mm-html-inhibit-images'.

`gnus-select-frame-set-input-focus' was removed from gnus-util.el in
2016 and existed only for XEmacs compatibility.
2018-10-08 12:50:34 -03:00
Daniel Kahn Gillmor
311f530013 test: git should ignore message-id-parse
b31e44c678 introduced message-id-parse
as a new binary created by the test suite.  It shows up as something
additional to git, but git ought to know to ignore it.
2018-10-08 12:50:03 -03:00
David Bremner
4fe40e1ed2 debian: changelog for 0.28~rc0-1 2018-10-03 20:37:23 -03:00
David Bremner
75c51dd439 NEWS: start NEWS for 0.28
Just a stub for now.
2018-10-03 20:19:08 -03:00
David Bremner
a5da8cd088 version: bump to 0.28~rc0 2018-10-03 20:17:54 -03:00
David Bremner
b0ebb19d79 debian: update zsh completion installation
This ${prefix}/share/vendor-completion convention seems to be debian
specific, so leave the global default alone for now.
2018-10-02 21:05:49 -03:00
Vincent Breitmoser
07eac4af32 completion: more complete completion for zsh.
This adds completion files for zsh that cover most of notmuch's cli.

The files in completion/zsh are formatted so that they can be found by
zsh's completion system if put $fpath. They are also registered to the
notmuch-* pattern, so they can be called externally using _dispatch.

Update installation recipe and drop debian/notmuch.examples to avoid
breakage. This means zsh completion is not installed for debian, to be
fixed in a future commit.

Amended by db: use regexp searching for address completion. This seems
to be fast enough to work without a cache.
2018-10-02 21:04:26 -03:00
David Edmondson
e8cb6b2cd6 emacs: Call `notmuch-mua-send-hook' hooks when sending a message
Previously any hook functions attached to `notmuch-mua-send-hook' were
ignored.
2018-09-28 20:22:42 -03:00
David Edmondson
4e213fe9b4 test: Check that `notmuch-mua-send-hook' is called on sending a message 2018-09-28 20:22:33 -03:00
Vincent Breitmoser
5ae8ae13ba python: fix unchecked None access in get_property 2018-09-19 21:56:08 -03:00
David Bremner
2fd4e76006 debian: update notmuch-mutt packaging to use install target 2018-09-18 07:54:39 -03:00
David Bremner
ae45a0c19c debian: bump compat level to 11
The immediate motivation is to have dh_installman look in debian/tmp
2018-09-18 07:54:39 -03:00
David Bremner
84efbda925 contrib/notmuch-mutt: add install target
The main goal here is to be able to install the notmuch-mutt script
with an absolute shebang. I have tried to make the notmuch-mutt
Makefile use configure information from notmuch if available, but make
suitable guesses if not.
2018-09-18 07:54:33 -03:00
David Bremner
11d0edeac2 configure: absolute path of perl
This can be used to set shebang lines during install.
2018-09-18 07:34:33 -03:00
David Bremner
ef07e3f3bd build: install notmuch-emacs-mua with absolute shebang
Follow distro-centric rules to reduce the chance of surprising
behaviour due to PATH changes
2018-09-18 07:34:33 -03:00
David Bremner
aab395b2d4 configure: absolute path of bash
This can be used to set shebang lines during install.
2018-09-18 07:34:33 -03:00
David Bremner
c846e15ffe test: make regexp test conditional on field processors
Normally we'd mark it broken, but perversely missing regexp support
actually makes the test pass.
2018-09-14 08:54:20 -03:00
David Bremner
c6ba5522a5 test: mark thread subqueries broken without field processors
Currently these tests just fail when notmuch is built against Xapian
1.2.x
2018-09-14 08:54:09 -03:00
David Bremner
052b4d43c0 debian: add tar-ignore=.git
Unfortunately 514fb397c9 somewhat messed up the "debian-snapshot"
target, by including .git in the generated tarball.
2018-09-14 08:08:47 -03:00
David Bremner
8dcc38ce85 notmuch release 0.27-3 for unstable (sid) [dgit]
[dgit distro=debian]
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCAAdFiEE3VS2dnyDRXKVCQCp8gKXHaSnniwFAluVRuMACgkQ8gKXHaSn
 niyEWwv9GP8BvUPXKcZdjJyLtZVzIaSerolf1Fq20Tp4qjOsuydjbez96ZuD0rST
 9w0+zwhyhMIAM0IMgsOChiJYYdJf596M/8hyaIz9aVNefKPy59IVQb/uc7qcdkdI
 M3kP/So5ADxPth4x8zlgNtKY8hc0XW4CwO4auCJJW+DGGFc+EJDY8KgKBz/oBJuu
 YF5zxoOMAbEQN+sQ6TilC+a+0uPgmoKzhys77n9kfZi+lLSP5cjY+Mr6/jgLibQB
 e/B+c0dSRKAL1VNpqSVUSvnIfO3hoaiiDa/XII2UXoZbJmHmxNvs1TBmaLNuR7VW
 U7oylX6jYeBIEHFrnoz2HLdk+r4DpVdBc6H4P4/dDeUE0ts3JaH5iivtbrPFCQ7U
 aKwIkbwkw9FHkzXDVtIohC87iOPuSuzQV0+chlQoJjfYD9SLG6PZdc44zY9qPlUC
 vo198JSLvF7P0FLgUav3U8HGwljqqgAhUMg3lmiopGdmib8m5yhseR9PZwivFy70
 jHNMxE7G
 =J7II
 -----END PGP SIGNATURE-----

Merge tag 'debian/0.27-3'

notmuch release 0.27-3 for unstable (sid) [dgit]
[dgit distro=debian]
2018-09-09 13:46:04 -03:00
David Bremner
514fb397c9 debian: drop argument-less tar-ignore
This hangs up dgit. It's probably not useful for users of the source
package to have debian/.gitignore, but it should not hurt.
2018-09-09 13:06:00 -03:00
David Edmondson
4cd5a0a3d5 test: Absolute and relative directory paths. 2018-09-08 20:19:42 -03:00
David Edmondson
95a9c73c72 notmuch: Database paths without a leading / are relative to $HOME
If the database path specified in the configuration file does *not*
start with a /, presume that it is relative to $HOME and modify the
path used to open the database accordingly.
2018-09-08 20:19:24 -03:00