3 years agoMerge branch 'release'
David Bremner [Thu, 17 Aug 2017 00:44:43 +0000 (21:44 -0300)]
Merge branch 'release'

merge in debian-only changes

3 years agocli/new: improve error reporting
David Bremner [Sat, 15 Jul 2017 02:01:26 +0000 (23:01 -0300)]
cli/new: improve error reporting

Recently a user reported a crash in notmuch new, but because of
missing error reporting, all they could say was "A Xapian exception
occured". This commit adds the extra information available about
the error message in the exception.

3 years agodebian: start changelog for next debian upload
David Bremner [Thu, 17 Aug 2017 00:38:26 +0000 (21:38 -0300)]
debian: start changelog for next debian upload

3 years agodo not use bullets in debian/NEWS
Daniel Kahn Gillmor [Thu, 20 Jul 2017 06:28:52 +0000 (08:28 +0200)]
do not use bullets in debian/NEWS

see lintian's debian-news-entry-uses-asterisk for justification

3 years agoremove obsolete lintian-override (see
Daniel Kahn Gillmor [Fri, 28 Jul 2017 18:45:05 +0000 (14:45 -0400)]
remove obsolete lintian-override (see

3 years agoMerge tag 'debian/0.25-6'
David Bremner [Tue, 15 Aug 2017 11:38:10 +0000 (08:38 -0300)]
Merge tag 'debian/0.25-6'

uploaded to unstable

3 years agodebian: actually stop shipping 50notmuch.el debian/0.25-6
David Bremner [Tue, 15 Aug 2017 10:52:47 +0000 (07:52 -0300)]
debian: actually stop shipping 50notmuch.el

3 years agoMerge tag 'debian/0.25-5'
David Bremner [Thu, 10 Aug 2017 11:08:49 +0000 (07:08 -0400)]
Merge tag 'debian/0.25-5'

uploaded to unstable

3 years agodebian upload 0.25-5 debian/0.25-5
David Bremner [Thu, 10 Aug 2017 10:44:07 +0000 (06:44 -0400)]
debian upload 0.25-5

fix typo in -4

3 years agotest: add broken tests for maildir syncing
David Bremner [Fri, 4 Aug 2017 21:38:45 +0000 (17:38 -0400)]
test: add broken tests for maildir syncing

Users should be able to specify synced tags in new.tags

3 years agoMerge tag 'debian/0.25-4'
David Bremner [Fri, 4 Aug 2017 22:43:33 +0000 (18:43 -0400)]
Merge tag 'debian/0.25-4'

uploaded to unstable

3 years agodebian: upload 0.25-4 debian/0.25-4
David Bremner [Fri, 4 Aug 2017 22:15:09 +0000 (18:15 -0400)]
debian: upload 0.25-4

replace notmuch-emacs with elpa-emacs as a recommend

3 years agoMerge tag 'debian/0.25-3'
David Bremner [Thu, 3 Aug 2017 14:59:32 +0000 (10:59 -0400)]
Merge tag 'debian/0.25-3'

uploaded to unstable

3 years agodebian: changelog stanza for 0.25-3 debian/0.25-3
David Bremner [Thu, 3 Aug 2017 13:26:34 +0000 (09:26 -0400)]
debian: changelog stanza for 0.25-3

3 years agodebian: add maintainer scripts to remove old startup file
David Bremner [Thu, 3 Aug 2017 13:20:37 +0000 (09:20 -0400)]
debian: add maintainer scripts to remove old startup file

We do it for notmuch and notmuch-emacs because the history is a bit
unclear. It seems to be safe to call when that conffile is not owned
by a given package

3 years agoadd "notmuch reindex" subcommand
Daniel Kahn Gillmor [Sun, 4 Jun 2017 12:32:35 +0000 (09:32 -0300)]
add "notmuch reindex" subcommand

This new subcommand takes a set of search terms, and re-indexes the
list of matching messages.

3 years agolib: add notmuch_message_reindex
Daniel Kahn Gillmor [Sun, 4 Jun 2017 12:32:34 +0000 (09:32 -0300)]
lib: add notmuch_message_reindex

This new function asks the database to reindex a given message.
The parameter `indexopts` is currently ignored, but is intended to
provide an extensible API to support e.g. changing the encryption or
filtering status (e.g. whether and how certain non-plaintext parts are

3 years agolib: add _notmuch_message_remove_indexed_terms
David Bremner [Sun, 4 Jun 2017 12:32:33 +0000 (09:32 -0300)]
lib: add _notmuch_message_remove_indexed_terms

Testing will be provided via use in notmuch_message_reindex

3 years agocli/search: print total number of files matched in summary output.
David Bremner [Sun, 4 Jun 2017 12:32:32 +0000 (09:32 -0300)]
cli/search: print total number of files matched in summary output.

The structured output formats already have all of the filenames. This
is an easy bit of UI change to make the multiple files visible.

3 years agolib: add notmuch_thread_get_total_files
David Bremner [Sun, 4 Jun 2017 12:32:31 +0000 (09:32 -0300)]
lib: add notmuch_thread_get_total_files

This is relatively inexpensive in terms of run time and implementation
cost as we are already traversing the list of messages in a thread.

3 years agolib: add notmuch_message_count_files
David Bremner [Sun, 4 Jun 2017 12:32:30 +0000 (09:32 -0300)]
lib: add notmuch_message_count_files

This operation is relatively inexpensive, as the needed metadata is
already computed by our lazy metadata fetching. The goal is to support
better UI for messages with multipile files.

3 years agolib: index message files with duplicate message-ids
David Bremner [Sun, 4 Jun 2017 12:32:29 +0000 (09:32 -0300)]
lib: index message files with duplicate message-ids

The corresponding xapian document just gets more terms added to it,
but this doesn't seem to break anything. Values on the other hand get
overwritten, which is a bit annoying, but arguably it is not worse to
take the values (from, subject, date) from the last file indexed
rather than the first.

3 years agotest: add known broken tests for duplicate message id
David Bremner [Sun, 4 Jun 2017 12:32:28 +0000 (09:32 -0300)]
test: add known broken tests for duplicate message id

There are many other problems that could be tested, but these ones we
have some hope of fixing because it doesn't require UI changes, just
indexing changes.

3 years agolib: refactor notmuch_database_add_message header parsing
David Bremner [Sun, 4 Jun 2017 12:32:27 +0000 (09:32 -0300)]
lib: refactor notmuch_database_add_message header parsing

This function is large and hard to understand and modify. Start to
break it down into meaningful pieces.

3 years agolib: factor out message-id parsing to separate file.
David Bremner [Sun, 4 Jun 2017 12:32:26 +0000 (09:32 -0300)]
lib: factor out message-id parsing to separate file.

This is really pure C string parsing, and doesn't need to be mixed in
with the Xapian/C++ layer. Although not strictly necessary, it also
makes it a bit more natural to call _parse_message_id from multiple
compilation units.

3 years agolib/n_d_add_message: refactor test for new/ghost messages
David Bremner [Sun, 4 Jun 2017 12:32:25 +0000 (09:32 -0300)]
lib/n_d_add_message: refactor test for new/ghost messages

The switch is easier to understand than the side effects in the if
test. It also potentially allows us more flexibility in breaking up
this function into smaller pieces, since passing private_status around
is icky.

3 years agolib: isolate n_d_add_message and helper functions into own file
David Bremner [Sun, 4 Jun 2017 12:32:24 +0000 (09:32 -0300)]
lib: isolate n_d_add_message and helper functions into own file

'' is becoming a monster, and it's hard to follow what the
various static functions are used for. It turns out that about 1/3 of
this file notmuch_database_add_message and helper functions not used
by any other function. This commit isolates this code into it's own

Some side effects of this refactoring:

- find_doc_ids becomes the non-static (but still private)
- a few instances of 'string' have 'std::' prepended, avoiding the
  need for 'using namespace std;' in the new file.

3 years agoMerge tag 'debian/0.25-2'
David Bremner [Sat, 29 Jul 2017 11:52:28 +0000 (07:52 -0400)]
Merge tag 'debian/0.25-2'

uploaded to unstable

3 years agodebian: update gmime dependencies debian/0.25-2
David Bremner [Wed, 26 Jul 2017 14:51:59 +0000 (10:51 -0400)]
debian: update gmime dependencies

- build against gmime 3.0 by preference
- drop gmime-2.4-dev, no longer supported upstream

3 years agoMerge tag 'debian/0.25-1'
David Bremner [Wed, 26 Jul 2017 14:02:16 +0000 (10:02 -0400)]
Merge tag 'debian/0.25-1'

notmuch Debian 0.25-1 upload (same as 0.25)

3 years agodebian: add changelog entry for 0.25 0.25 debian/0.25-1
David Bremner [Tue, 25 Jul 2017 11:30:24 +0000 (07:30 -0400)]
debian: add changelog entry for 0.25

3 years agoNEWS: set date
David Bremner [Tue, 25 Jul 2017 11:24:11 +0000 (07:24 -0400)]
NEWS: set date

3 years agoversion: bump to 0.25
David Bremner [Tue, 25 Jul 2017 11:21:29 +0000 (07:21 -0400)]
version: bump to 0.25

3 years agoNEWS: formatting fixups
David Bremner [Tue, 25 Jul 2017 11:16:20 +0000 (07:16 -0400)]
NEWS: formatting fixups

These are from Tomi, split from the previous commit

3 years agoNEWS for release 0.25: Emacs: support for stashing message timestamp
Tomi Ollila [Sun, 23 Jul 2017 19:38:14 +0000 (22:38 +0300)]
NEWS for release 0.25: Emacs: support for stashing message timestamp

3 years agoemacs: Add commentary for MELPA users
David Bremner [Tue, 11 Jul 2017 11:19:37 +0000 (08:19 -0300)]
emacs: Add commentary for MELPA users

We have a steady trickle of people using notmuch-emacs from melpa with
distro packages of notmuch, and then being confused when it doesn't
work. Try to warn people what a foot-gun this is; this commentary
should be copied to the melpa web site.

3 years agodebian: changelog for 0.25~rc1-2 debian/0.25_rc1-2
David Bremner [Tue, 18 Jul 2017 22:48:12 +0000 (19:48 -0300)]
debian: changelog for 0.25~rc1-2

3 years agodebian: finalize changelog for 0.25~rc1-1 0.25_rc1 debian/0.25_rc1-1
David Bremner [Tue, 18 Jul 2017 10:06:04 +0000 (07:06 -0300)]
debian: finalize changelog for 0.25~rc1-1

3 years agoversion: bump to 0.25~rc1
David Bremner [Tue, 18 Jul 2017 10:04:29 +0000 (07:04 -0300)]
version: bump to 0.25~rc1

3 years agodebian: allow emacs25 as a build depend
David Bremner [Mon, 17 Jul 2017 15:06:12 +0000 (12:06 -0300)]
debian: allow emacs25 as a build depend

It's a bit crazy to require emacs 24 installed just to build, when it
isn't required to run.

3 years agoemacs: convert remaining format-versions from 3 to 4
David Bremner [Mon, 17 Jul 2017 15:06:11 +0000 (12:06 -0300)]
emacs: convert remaining format-versions from 3 to 4

This is needed for consistent beheviour between notmuch built against
gmime-2.6 and gmime-3.0 w.r.t. error reporting.

3 years agofix the generated documentation output
Daniel Kahn Gillmor [Mon, 17 Jul 2017 22:16:05 +0000 (00:16 +0200)]
fix the generated documentation output

3 years agoFix orthography
Daniel Kahn Gillmor [Mon, 17 Jul 2017 22:16:02 +0000 (00:16 +0200)]
Fix orthography

3 years agouse modern debian/copyright
Daniel Kahn Gillmor [Mon, 17 Jul 2017 22:16:06 +0000 (00:16 +0200)]
use modern debian/copyright

3 years agoavoid false lintian warning about "iff"
Daniel Kahn Gillmor [Mon, 17 Jul 2017 22:16:04 +0000 (00:16 +0200)]
avoid false lintian warning about "iff"

3 years agoresolve lintian tag debhelper-but-no-misc-depends notmuch-emacs
Daniel Kahn Gillmor [Mon, 17 Jul 2017 22:16:03 +0000 (00:16 +0200)]
resolve lintian tag debhelper-but-no-misc-depends notmuch-emacs

This is likely not strictly necessary given that notmuch-emacs is a
transitional package.  But having a simple consistency until we
eventually remove the transitional notmuch-emacs package seems ok too,
and fewer arbitrary lintian warnings will make real lintian warnings
more visible.

3 years agofix Python capitalization
Daniel Kahn Gillmor [Mon, 17 Jul 2017 22:16:01 +0000 (00:16 +0200)]
fix Python capitalization

3 years agoexplicitly mark notmuch-emacs as transitional
Daniel Kahn Gillmor [Mon, 17 Jul 2017 22:16:00 +0000 (00:16 +0200)]
explicitly mark notmuch-emacs as transitional

3 years agoBump standards version to 4.0.0 (no changes needed)
Daniel Kahn Gillmor [Mon, 17 Jul 2017 22:15:59 +0000 (00:15 +0200)]
Bump standards version to 4.0.0 (no changes needed)

Some things that might be interesting (and are acceptable and
supported under 4.0.0, though not required) are:

 * supporting DEB_BUILD_OPTIONS tag nodoc wihle tagging build-deps (we
   could put python-sphinx into <!nodoc>, for example)

 * splitting out Build-Depends-Arch from Build-Depends

3 years agoDrop duplicate Section header for notmuch-vim
Daniel Kahn Gillmor [Mon, 17 Jul 2017 22:15:58 +0000 (00:15 +0200)]
Drop duplicate Section header for notmuch-vim

Resolves lintian binary-control-field-duplicates-source

3 years agoNEWS: drop redundant mention of dump fix
David Bremner [Tue, 18 Jul 2017 09:36:31 +0000 (06:36 -0300)]
NEWS: drop redundant mention of dump fix

This actually happened in 0.24.x.

3 years agoMerge tag 'debian/0.25_rc0-2'
David Bremner [Mon, 17 Jul 2017 12:20:10 +0000 (09:20 -0300)]
Merge tag 'debian/0.25_rc0-2'

merge 32 bit compilation fix

3 years agodebian: changelog stanza for 0.25~rc0-2 debian/0.25_rc0-2
David Bremner [Mon, 17 Jul 2017 11:50:08 +0000 (08:50 -0300)]
debian: changelog stanza for 0.25~rc0-2

3 years agoutil: make g_mime_utils_header_decode_date_unix match prototype
David Bremner [Mon, 17 Jul 2017 11:47:18 +0000 (08:47 -0300)]
util: make g_mime_utils_header_decode_date_unix match prototype

The problem shows up on 32 bit architectures where sizeof(time_t) !=
sizeof(gint64).  Upcasting the 32 bit time_t to a 64 bit integer
should hopefully be safe.

3 years agoNEWS: Initial writeup for my contributions to 0.25
David Bremner [Mon, 17 Jul 2017 01:43:11 +0000 (22:43 -0300)]
NEWS: Initial writeup for my contributions to 0.25

3 years agoMerge tag '0.25_rc0'
David Bremner [Sun, 16 Jul 2017 12:08:39 +0000 (09:08 -0300)]
Merge tag '0.25_rc0'

notmuch 0.25~rc0 release

3 years agodebian: note two closed bugs in changelog 0.25_rc0 debian/0.25_rc0-1
David Bremner [Sun, 16 Jul 2017 11:49:06 +0000 (08:49 -0300)]
debian: note two closed bugs in changelog

3 years agodebian: don't create obsolete bash completion dir
David Bremner [Sun, 16 Jul 2017 11:45:55 +0000 (08:45 -0300)]
debian: don't create obsolete bash completion dir

3 years agodebian: set distribution to experimental, finalize changelog
David Bremner [Sun, 16 Jul 2017 11:20:15 +0000 (08:20 -0300)]
debian: set distribution to experimental, finalize changelog

3 years agodebian: add more c++ gunk to symbols file
David Bremner [Sun, 16 Jul 2017 11:18:19 +0000 (08:18 -0300)]
debian: add more c++ gunk to symbols file

3 years agodebian: bump changelog version, mention SONAME bump
David Bremner [Sun, 16 Jul 2017 11:08:18 +0000 (08:08 -0300)]
debian: bump changelog version, mention SONAME bump

3 years agoNEWS: start entry for 0.25
David Bremner [Sun, 16 Jul 2017 11:02:51 +0000 (08:02 -0300)]
NEWS: start entry for 0.25

3 years agoversion: bump version to 0.25~rc0
David Bremner [Sun, 16 Jul 2017 11:01:42 +0000 (08:01 -0300)]
version: bump version to 0.25~rc0

3 years agocrypto: clean up unused definitions in gmime 3.0
David Bremner [Sat, 15 Jul 2017 23:01:46 +0000 (01:01 +0200)]
crypto: clean up unused definitions in gmime 3.0

based on the same patch from dkg as the previous commit.

3 years agocrypto: Avoid explicit handling of GMimeCryptoContext in gmime 3
David Bremner [Sat, 15 Jul 2017 23:01:45 +0000 (01:01 +0200)]
crypto: Avoid explicit handling of GMimeCryptoContext in gmime 3

gmime 3.0 knows how to select the correct GMimeCryptoContext
automatically, so a bunch of the code in notmuch can be dropped in
that case.

The #ifdef removal of the crypto stuff is better than #define aliasing
in gmime-extra.h for this stuff.  When built against gmime 3.0:

    * it reduces compiled code, and
    * it avoids initializing unused gpgme contexts

(based on a patch from dkg)

3 years agocli/crypto: eliminated compiler warnings about unused arguments
David Bremner [Sat, 15 Jul 2017 23:01:44 +0000 (01:01 +0200)]
cli/crypto: eliminated compiler warnings about unused arguments

These are due to (excessively?) fancy macro definitions in gmime-extra.h

3 years agocli/crypto: treat failure to create a crypto context as fatal.
David Bremner [Sat, 15 Jul 2017 23:01:43 +0000 (01:01 +0200)]
cli/crypto: treat failure to create a crypto context as fatal.

Silently ignoring signed/encrypted parts seems like the wrong idea,
and it also complicates future gmime-3.0 compatibility changes.

3 years agoemacs: change default for notmuch-crypto-process-mime to t
David Bremner [Wed, 12 Jul 2017 10:48:18 +0000 (07:48 -0300)]
emacs: change default for notmuch-crypto-process-mime to t

There are some cases like remote usage where this might cause
problems, but those users can easily customize the variable. The
inconvenience seems to be outweighed by the security benefit for most

3 years agoNEWS: a few formatting updates for 0.24 news items (wiki compatibility)
Tomi Ollila [Thu, 13 Jul 2017 17:35:34 +0000 (20:35 +0300)]
NEWS: a few formatting updates for 0.24 news items (wiki compatibility)

- removed 7 trailing dots -- to make those lines subsection headers

- converted some (mime type) text to monospace

- removed one extra space

3 years agoclean up use of constants in g_mime_multipart_ wrappers
Daniel Kahn Gillmor [Fri, 14 Jul 2017 13:12:01 +0000 (15:12 +0200)]
clean up use of constants in g_mime_multipart_ wrappers

When compiling as C code (instead of C++) against gmime 3.0, gcc gives
errors like the following:

    error: invalid conversion from ‘int’ to ‘GMimeDecryptFlags’ [-fpermissive]

so use explicit *_NONE values instead.

3 years agoconfig: deprecate/drop crypto.gpg_path under gmime 2.6/3.0
Daniel Kahn Gillmor [Fri, 14 Jul 2017 13:12:00 +0000 (15:12 +0200)]
config: deprecate/drop crypto.gpg_path under gmime 2.6/3.0

gmime 3.0 no longer offers a means to set the path for gpg.

Users can set $PATH anyway if they want to pick a
differently-installed gpg (e.g. /usr/local/bin/gpg), so this isn't
much of a reduction in functionality.

The one main difference is for people who have tried to use "gpg2" to
make use of gpg 2.1, but that isn't usefully co-installable anyway.

3 years agoAdd additional munged reply-to tests
Daniel Kahn Gillmor [Fri, 14 Jul 2017 20:14:23 +0000 (22:14 +0200)]
Add additional munged reply-to tests

The reply-to munging code might behave differently whether there's an
exact match on the strings or not, or whether the string is a raw
addr-spec instead of an name-addr.  These tests cover those variations
(i also had to tweak json output further below when this new test was

3 years agoEnsure that "notmuch reply" succeeds during testing.
Daniel Kahn Gillmor [Fri, 14 Jul 2017 20:14:22 +0000 (22:14 +0200)]
Ensure that "notmuch reply" succeeds during testing.

In some (bad!) cases, "notmuch reply" might fail, or might even
segfault.  If this happens, it indicates a bug, and the test suite
should notice it.

3 years agocli: wrap getting uid
David Bremner [Sat, 3 Jun 2017 00:19:04 +0000 (21:19 -0300)]
cli: wrap getting uid

Apparently it moved from "name" to "key_id" in gmime-3.0

3 years agocli: make keyid from fingerprint in gmime 3.0
David Bremner [Fri, 2 Jun 2017 23:57:01 +0000 (20:57 -0300)]
cli: make keyid from fingerprint in gmime 3.0

The "key_id" field seems to used for userid in gmime-3.0, while the
keyid is dropped in the fingerprint field if the full fingerprint is
not available.

3 years agolib: paper over allocation difference
David Bremner [Sat, 20 May 2017 12:05:22 +0000 (09:05 -0300)]
lib: paper over allocation difference

In gmime 3.0 this function is "transfer none", so no deallocation is
needed (or permitted)

3 years agolib: add version of _n_m_f_get_combinded_header for gmime 3.0
David Bremner [Wed, 17 May 2017 10:40:09 +0000 (07:40 -0300)]
lib: add version of _n_m_f_get_combinded_header for gmime 3.0

The iterator is gone, so we need a new loop structure.

3 years agolib: refactor _notmuch_messsage_file_get_combined_header
David Bremner [Wed, 17 May 2017 10:18:55 +0000 (07:18 -0300)]
lib: refactor _notmuch_messsage_file_get_combined_header

We need to rewrite the loop for gmime-3.0; move the loop body to its
own function to avoid code duplication.  Keep the common exit via
"goto DONE" to make this pure code movement.  It's important to note
that the existing exit path only deallocates the iterator.

3 years agolib: wrap use of g_mime_utils_header_decode_date
David Bremner [Wed, 17 May 2017 01:59:54 +0000 (22:59 -0300)]
lib: wrap use of g_mime_utils_header_decode_date

This changes return type in gmime 3.0

3 years agocli: hide rename of GMimeCertificateTrust
David Bremner [Sun, 14 May 2017 17:51:38 +0000 (14:51 -0300)]
cli: hide rename of GMimeCertificateTrust

Both the enum and the values are renamed in GMime 3.0.

3 years agocli: generalize use of GMIME_SIGNATURE_{ERROR,STATUS} to gmime-3
David Bremner [Sun, 14 May 2017 17:49:31 +0000 (14:49 -0300)]
cli: generalize use of GMIME_SIGNATURE_{ERROR,STATUS} to gmime-3

The ERROR enum is merged into to the STATUS enum, and the set of flags
is different.

3 years agoutil: fake gmime-2.6 compatible API for gmime-3.0
David Bremner [Sat, 6 May 2017 11:54:32 +0000 (08:54 -0300)]
util: fake gmime-2.6 compatible API for gmime-3.0

Several functions have added arguments which accept NULL and provide
hopefully sensible defaults. Use macros to minimize source changes.

3 years agocli: replace use of g_mime_message_get_recipients
David Bremner [Sat, 6 May 2017 11:41:14 +0000 (08:41 -0300)]
cli: replace use of g_mime_message_get_recipients

This function, and associated enum, have been renamed and generalized
in gmime-3.0.

3 years agolib/cli: replace use of g_mime_message_get_sender
David Bremner [Sat, 6 May 2017 02:26:57 +0000 (23:26 -0300)]
lib/cli: replace use of g_mime_message_get_sender

This function changes semantics in gmime-3.0 so make a new function
that provides the same functionality in both

3 years agocli: replace use of g_mime_message_get_reply_to
David Bremner [Thu, 4 May 2017 18:59:37 +0000 (14:59 -0400)]
cli: replace use of g_mime_message_get_reply_to

This function changes signature in gmime 3.0, so we provide two new
functions, one for each signature.

3 years agocli: replace use of g_mime_message_get_date_as_string
David Bremner [Thu, 4 May 2017 12:48:44 +0000 (08:48 -0400)]
cli: replace use of g_mime_message_get_date_as_string

This function goes away in gmime-3.0. Also, the memory management is
apparently error prone, witness the memory leak in notmuch-reply.

3 years agotest/crypto: mark extra space in userid as a bug in gmime-2.6
David Bremner [Sat, 3 Jun 2017 00:29:25 +0000 (21:29 -0300)]
test/crypto: mark extra space in userid as a bug in gmime-2.6

I can't see the space in the output of gpg -K --with-colons

3 years agocli: add space separator for keyword, string, and int arguments
David Bremner [Sat, 1 Jul 2017 15:18:45 +0000 (12:18 -0300)]
cli: add space separator for keyword, string, and int arguments

Defer the complication of optional boolean arguments for later (never?).

3 years agocli: change api of parse_option
David Bremner [Sat, 1 Jul 2017 15:18:44 +0000 (12:18 -0300)]
cli: change api of parse_option

The idea is to allow it (in a future commit) advance to the next argv
element to get a value

3 years agocli/show: convert keyword options to booleans
David Bremner [Sat, 1 Jul 2017 15:18:43 +0000 (12:18 -0300)]
cli/show: convert keyword options to booleans

There are two keyword options here that impliment boolean options. It
is simpler to use the built-in boolean argument handling, and also
more robust against divergence in parsing boolean and keyword arguments.

3 years agoemacs: tree: drop repeated "of" from docstring
Kyle Meyer [Sat, 8 Jul 2017 01:01:59 +0000 (21:01 -0400)]
emacs: tree: drop repeated "of" from docstring

3 years agodebian: drop notmuch-dbg
David Bremner [Thu, 6 Jul 2017 11:30:09 +0000 (08:30 -0300)]
debian: drop notmuch-dbg

notmuch-dbgsym should be auto generated now.

3 years agotest/crypto: add test for corrupted signatures
David Bremner [Sat, 3 Jun 2017 17:47:40 +0000 (14:47 -0300)]
test/crypto: add test for corrupted signatures

Have an empty list of signatures is not the nicest mechanism to signal
complete failure to verify, but it's the one we currently have.

3 years agotest: add test for modified pgp/mime signed message
David Bremner [Sat, 3 Jun 2017 17:47:39 +0000 (14:47 -0300)]
test: add test for modified pgp/mime signed message

This is a good thing to test in any case, but particularly as we hit
the dark corners of the gmime crypto API.

3 years agotest: mark test as broken in gmime 3.0
David Bremner [Sat, 3 Jun 2017 17:47:37 +0000 (14:47 -0300)]
test: mark test as broken in gmime 3.0

Currently I'm not sure what the intent of this test is, so it's not
clear if the new answer is better or worse than the old one.

3 years agotest: mark inclusion of headers as broken in gmime-2.x
David Bremner [Sat, 3 Jun 2017 17:47:36 +0000 (14:47 -0300)]
test: mark inclusion of headers as broken in gmime-2.x

The output of headers here reflects an underlying bug / quirk of

3 years agotest/multipart: reorganize creation of multipart message
David Bremner [Sat, 3 Jun 2017 17:47:35 +0000 (14:47 -0300)]
test/multipart: reorganize creation of multipart message

We want to have the bodies of the multipart available in a file on
their own for planned modifications to tests.

3 years agocli: implement structured output version 4
David Bremner [Sat, 3 Jun 2017 17:47:34 +0000 (14:47 -0300)]
cli: implement structured output version 4

Since the error field is unused by the emacs front end, no changes are
needed other than bumping the format version number.

As it is, this is a bit overengineered, but it will reduce duplication
when we support gmime 3.0

3 years agodevel/schemata: describe version 4
David Bremner [Sat, 3 Jun 2017 17:47:33 +0000 (14:47 -0300)]
devel/schemata: describe version 4

Replace numeric errors with human readable flags.  Not all sig_error
keys will necessarily be generated with a given version of gmime.

Drop status "none" as it's currrently unused and I don't know what
it's for.

3 years agoemacs: convert to use format-version 3
David Bremner [Sat, 3 Jun 2017 17:47:32 +0000 (14:47 -0300)]
emacs: convert to use format-version 3

Keeping the emacs interface running old format-versions makes it
impossible to test new format-versions or deprecate old ones.