Commit graph

4534 commits

Author SHA1 Message Date
David Bremner
6b440a0adf lib: add public accessor for database from query
This is to make it easier for clients of the library to update to the
new error code returning versions of notmuch_query_search_messages
2015-08-04 09:11:34 +02:00
David Bremner
4fed7047b2 lib: deprecate notmuch_query_search_{threads, messages}
The CLI (and bindings) code should really be updated to use the new
status-code-returning versions. Here are some warnings to prod us (and
other clients) to do so.
2015-08-04 09:11:25 +02:00
David Bremner
7e2d0ef105 lib: define NOTMUCH_DEPRECATED macro, document its use.
This has been tested with gcc and clang.
2015-08-04 09:11:17 +02:00
Austin Clements
e6ad3a5dd4 lib: Only sync modified message documents
Previously, we updated the database copy of a message on every call to
_notmuch_message_sync, even if nothing had changed.  In particular,
this always happens on a thaw, so a freeze/thaw pair with no
modifications between still caused a database update.

We only modify message documents in a handful of places, so keep track
of whether the document has been modified and only sync it when
necessary.  This will be particularly important when we add message
revision tracking.
2015-08-04 08:54:46 +02:00
David Bremner
2eb558fd9b configure: support --without-ruby
Apparently some ruby installs are broken in ways that prevent the ruby
bindings from building.
2015-07-30 08:16:29 +02:00
David Bremner
a57b3d4303 configure: support --with-docs=no
Since we promise --with-foo=no is equivalent to --without-foo
2015-07-30 08:08:31 +02:00
David Bremner
a63b5db873 configure: alphabetize --without help
Now that the "without" options seem to be multiplying, try to make it
easier for people to find the one they want.
2015-07-30 08:00:55 +02:00
David Bremner
b4e0c8320a configure: fix typo in comment
Some lazy person, probably me, forgot to press shift.
2015-07-30 07:57:04 +02:00
David Bremner
653190bf2a cli: enable notmuch --help command
This functionality seems to have been undocumented, if it ever
existed. Document it now.
2015-07-30 07:45:26 +02:00
David Bremner
83e9df98a0 doc: whitespace cleanup for notmuch.rst
replace leading spaces with tabs
2015-07-30 07:45:26 +02:00
David Bremner
882ccb7e49 build: add "set -eu" to version script generation
It turns out that on certain systems like FreeBSD, c++filt is not
installed by default. It's basically OK if we fail the build in that
case, but what's really not OK is for the build to continue and
generate bad binaries.
2015-07-28 21:34:01 +02:00
David Bremner
1fef811fd7 configure: whitespace cleanup
This is the result of running M-x whitespace-cleanup in emacs.  In
particular this replaces some spaces at the beginning of lines with
tabs.
2015-07-28 15:29:38 +02:00
Mikhail
edb485e0b9 configure: add --without-docs switch
Previously documentation was build automatically if sphinx/doxygen
executable were found. The switch is used to unconditionally disable
sphinx/doxygen detection and therefor, building of documentation
(including man pages).
2015-07-27 22:34:38 +02:00
David Bremner
82d8d0b062 replace hardcoded "python" with configured python command
Thanks to FreeBSD port maintainer Mikhail for report and the original
the original patch.

This is the right thing (TM) and also apparently fixes the build on
FreeBSD.
2015-07-10 18:13:28 +02:00
Daniel Schoepe
3b348ab1e1 Fix documentation for notmuch--tag-hook functions
The second argument to notmuch-tag is now called tag-changes, but the
documentation for notmuch-before-tag-hook and notmuch-after-tag-hook
still used the old argument name `tags'. This resulted in broken hooks
when following the documentation.
2015-06-30 21:37:25 +02:00
David Bremner
8cca886b10 notmuch 0.20.2 release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQGcBAABCAAGBQJVjqAqAAoJEPIClx2kp54sTLYL/iemBYQ2TELiIt8WQiFITKm8
 CZdAXUKR75C+Qmh462lRnilbGVzLrYC9opYXUfFH4IUu/1jf4iKYQmd37Qn+cSAG
 p3/SjFbh6FX0FIqxYegjKFByZju47OtAp+BbPMWyOOEXDASOjwmxMAnm5yzm9At/
 xnKV+5nxmN8KqVDvtF/TBtHM9wZ+ASt9yc4ncKgnAaxyWfWeaSTm0EKwTgHwKcKb
 JZy8XvE9J022Y2r7AWUHjdIyaX5/9cQXtVQg8w238Gp/5FazBN+4yu0Py73nN+pB
 nb0M9IzHHHolbQd89RYOVyqsZ/uka6gl60wduW5ILGYgG2So9qRcHMLJIHKDigF8
 e7j5yGDV6JS6Ub/jMiqKVOPpQv1G7euGqeA9PmQI1UvHEiEoy2kEbPdoyuuKJVbM
 QxG56SsTy85Irj/o1PeW0+ScxP1y6sQA5E1/YB1BRcgW1uwA2XkiZ+JC1IcqRFvZ
 ktJxZOIxYqhhYuXTbzd8KL75cvg1cwKVmmgFMunHcg==
 =m+4D
 -----END PGP SIGNATURE-----

Merge tag '0.20.2'

notmuch 0.20.2 release

Conflicts:
	NEWS
2015-06-27 15:29:52 +02:00
David Bremner
c66e0d4bc2 version: update to 0.20.2
As usual, bump python version at same time.
2015-06-27 15:05:31 +02:00
David Bremner
1c036cca99 debian: update changelog for 20.2-1
Actual changes are documented in the bug.
2015-06-27 15:04:16 +02:00
David Bremner
a732e8e1a2 NEWS for 0.20.2
Just the one bug fix
2015-06-27 14:47:38 +02:00
Mark Walters
5e37568841 emacs: tree: mark read change
The mark read code for tree mode did not get updated in the recent
changes. This updates it to match. Since the user can customize the
mark read logic we just call the show logic in the message pane.
2015-06-23 22:17:53 +02:00
David Bremner
d9567dd5b5 test: add initial ruby tests
This is pretty much a line by line translation of the existing python
tests, with two new tests for the count API.
2015-06-14 18:00:52 +02:00
David Bremner
233b5528cd build/ruby: use notmuch configure script values for shared lib
This is supposed to help build on systems like MacOS with different
conventions for naming shared libraries. We have already computed the
relevant names, so doing it again in ruby seems like a bad idea.
2015-06-14 08:23:55 +02:00
David Bremner
53035dafe0 lib, ruby: make use of -Wl,--no-undefined configurable
In particular this is supposed to help build on systems (presumably
using a non-gnu ld) where this flag is not available.
2015-06-13 17:52:48 +02:00
Mark Walters
4e79903449 emacs search: stash query
Add keybinding c q to stash the current query in search mode.
2015-06-13 08:16:56 +02:00
David Bremner
d038b93209 build: integrate building ruby bindings into notmuch build process
Because ruby generates a Makefile, we have to use recursive make.
Because mkmf.rb hardcodes the name Makefile, put our Makefile{.local}
in the parent directory.
2015-06-12 09:12:28 +02:00
David Bremner
32fd74b7aa lib: reject relative paths in n_d_{create,open}_verbose
There are many places in the notmuch code where the path is assumed to be absolute. If someone (TM) wants a project, one could remove these assumptions. In the mean time, prevent users from shooting themselves in the foot.

Update test suite mark tests for this error as no longer broken, and
also convert some tests that used relative paths for nonexistent
directories.
2015-06-12 07:34:50 +02:00
David Bremner
b59ad1a9cc lib: add NOTMUCH_STATUS_PATH_ERROR
The difference with FILE_ERROR is that this is for things that are
wrong with the path before looking at the disk.

Add some 3 tests; two broken as a reminder to actually use this new
code.
2015-06-12 07:34:47 +02:00
Tomi Ollila
a5a21bbe78 release-checks: check that git working directory is clean
Before release check that there are no uncommitted changes and
that there are no files in working directory that possibly should
have been added to the repository.

Amended by db: remove --ignored, since that seems like too much
trouble.
2015-06-09 19:33:22 +02:00
David Bremner
783a559968 test: redirect man output to /dev/null
In the case the these tests fail, they generate a bunch of output;
this output is not very interesting because it is just the successful
output of a man page. It does however make it hard to see what tests are actually failing, even with NOTMUCH_TEST_QUIET
2015-06-08 16:42:26 +02:00
David Bremner
98b6638a7a configure: add ability to force python version via environment
This is makes it a bit easier to run our test suite under alternative
python versions.
2015-06-08 16:42:01 +02:00
David Bremner
ee1f573204 test: make python tests compatible with python3
Making the test suite actually run them with python3 is left for
future work.
2015-06-08 16:41:53 +02:00
David Bremner
9f57b7e8c5 doc: add minimal note about shared options.
The example is a bit silly, but notmuch subcommand --help is actually
not equivalent to "notmuch --help subcommand".
2015-06-05 18:51:15 +02:00
David Bremner
243d7e30dc Merge branch 'release'
20.1 plus NEWS fixup
2015-06-02 06:37:59 +02:00
David Bremner
0291ec71b6 NEWS: missing NEWS for 20.1
Embarrassingly, these were not included in the actual 20.1 release
2015-06-02 06:34:48 +02:00
David Bremner
d22df9503b debian: change stanza for 0.20.1 2015-06-01 22:00:11 +02:00
David Bremner
dc840338b2 version: bump to 20.1 2015-06-01 21:47:35 +02:00
David Bremner
447ad6b498 cli: add standard option processing to config, help and setup
In particular this fixes a recently encountered bug where the
"--config" argument to "notmuch setup" is silently ignored, which the
unpleasant consequence of overwriting the users config file.
2015-06-01 07:32:54 +02:00
David Bremner
0018a8d787 cli: define shared options, use for --help and --version
Unfortunately it seems trickier to support --config globally

The non-trivial changes are in notmuch.c; most of the other changes
consists of blindly inserting two lines into every subcommand.
2015-06-01 07:32:54 +02:00
David Bremner
0706e0e3e2 cli: refactor notmuch_help_command
Create a new private entry point _help_for so that we can call help
without simulating a command line invokation to set up the arguments.
2015-06-01 07:32:54 +02:00
David Bremner
1d4321ffa5 cli: ignore config argument of notmuch_help_command
We call it with NULL at one point anyway, so it needs to work with
NULL. Since the only place we use talloc is right before exec, there
is no harm in always using NULL.
2015-06-01 07:32:54 +02:00
J. Lewis Muir
d08af93c65 cli: change "setup" to "set up" where used as a verb
The word "setup" is a noun, not a verb.  Change occurrences of "setup"
where used as a verb to "set up".
2015-05-31 19:14:42 +02:00
Charles Celerier
1896ad9714 emacs: Added "is:<tag>" style completion to notmuch-read-query.
The notmuch-search-terms man page states that "tag:<tag>" is equivalent
to "is:<tag>". Completion for "is:<tag>" style searches is now supported
in the Emacs interface.

Amended by David Bremner: combine lexical-let and let into
lexical-let*
2015-05-31 19:07:02 +02:00
David Bremner
5df1b1bb81 test: remove redundant 'file' command from gdb scripts.
Quoting Debian bug 787341

   It failed to build on arm64: the last ten tests in T070-insert
   failed.

   What's happening here is that GDB is segfaulting in response to
   the
   "file" command. GDB on arm64 can be a bit buggy.

   However, the "file" command is redundant here as GDB has already
   got
   the file from the --args on the command line.
2015-05-31 18:56:10 +02:00
David Bremner
b271763152 notmuch 0.20 release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQGcBAABCAAGBQJVataHAAoJEPIClx2kp54sshUL/RHYmmGgUxZdGiP0hnmUj+LB
 a4U4Anx4/23iW8nAwcNuSn0S7U9SKV9i1hIoBgFsuLM1sCL7AAHd6VFjRrsJN5Pi
 zcwPGK4PGgZS5LnhOVG4KCRJPTgCMqmTUozhwbhmvhMJtWwykPHn1PqLCnt4ARAh
 ASu9fkbXyuD64RM1sc9XvKCXsUUdFQX6K0zO8raR4ySJFO2w4j7adCD7UC5ViqJz
 sFENdfLDOpBL3F5G5JabukMsjjvxl0AnWz1tA+tdvLh4zbI8YlFR852L40R/M2qa
 ToVNIXwFYvpv3fC/CB5xdx4lALobRYDifK+gJ3Co9VvS/KAxSfK4JLOKIkRqc5dy
 ptuJvwgKpsE0mjBScfkj+Y/ygM1zSJENgPMpcuTWOmHXFAalss1cL9skCDYAsM9B
 qD/9Rl+pWmzTtlxb98czNcouu0JUMaI/hH/lawddck6n1ylaWia8OFHZnYNhB5xV
 mp9mjiG/8D2VtdztLpQTtPxts2APjn+v6TgivmkDhQ==
 =7ZNV
 -----END PGP SIGNATURE-----

Merge tag '0.20'

notmuch 0.20 release
2015-05-31 12:06:40 +02:00
David Bremner
be8e796fd5 NEWS: bump date 2015-05-31 11:26:41 +02:00
David Bremner
042b3cdd36 debian: changelog stanza for 0.20-1 2015-05-31 11:22:34 +02:00
David Bremner
4bc7fba31b version: bump to 0.20 2015-05-31 11:13:56 +02:00
David Bremner
dc951683c3 drop mention of notmuch-emacs-mua 2015-05-31 11:12:13 +02:00
David Bremner
11de429824 notmuch 0.20~rc2 release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQGcBAABCAAGBQJVYM/TAAoJEPIClx2kp54swJoMAJN9KiVObvYUqF/1uRjfYNUD
 mcHm9l+j2AaU7moAsoWqVjYLEn3Kb2ARx4PdkzpWDsf9SnI3YYQC6KEngomyI2HP
 32Brb7D1wwYjjPF/VZ7pdr36ZdbWfwiyEm9LwqGq2HKRqoEk0MtZm4a3ibrHAqzc
 9G0Mlq9n6M7U7tmw6wNYofXweCA8wK3t0YAzKxRjqNjoCriWYES1g+tcptKLlxWE
 yQL/5Szb2g/huq39qy7PfGE8K5vZyCKH9amLnbHEdZ4SHc4WoddLanpx8JvjaPFg
 ZuMgnG6tiosSzpQAz2IsLEgkmi7WVoZyJYaLH8uDzTpl2rDDkbX7OuCnq79GmYMU
 WzMqdTVi4NCzwVA+B7qUp4dI8NElcfcfdaoS953+nvqAjH50ZdPjfvqE72Tu1ewk
 UJLHRCoCW5eH/O71G+xRnKDuT0dA+4GtabMufvxMlPPL8ulBouh/F5tjCT9NmH2N
 gu/v1pWJkzxiaKWsZYvhA8rPj26TMYVa8EMiU2JG0w==
 =QPzY
 -----END PGP SIGNATURE-----

Merge tag '0.20_rc2'

notmuch 0.20~rc2 release
2015-05-23 21:27:41 +02:00
David Bremner
3d81f496a0 debian: changelog stanza for 0.20~rc2-1 2015-05-23 21:05:25 +02:00