aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-02-27test: move GNUPGHOME to TEST_TMPDIRDavid Bremner
We already use this directory for dtach sockets, so it makes sense to put gnupg sockets there as well. There doesn't seem to be a clean way to put a fully functional socket in a different location than GNUPGHOME.
2017-02-27Revert "configure: add test for gpgconf --create-socketdir"David Bremner
This reverts commit 12f7d4e61d30fb9a5c99e128ab1aab0bf069cdb4. Since we're not using gpgconf anymore, drop the unneeded test in configure.
2017-02-27Revert "test: use gpgconf --create-socketdir if available"David Bremner
This reverts commit e7b88e8b0a93ca83d807edc00e0c97af54c5b5f1. It turns out that this does not work well in environments without a running systemd (or some other provider of /run/user)
2017-02-27debian: set upload date and suite0.23.6David Bremner
2017-02-27NEWS: set release dateDavid Bremner
2017-02-26test: make T640 compatible with old C compilersDavid Bremner
Apparently our test system does not use the same flags for compiling tests as it does for compiling notmuch. Make the test compatible with C89. Also remove one unused loop index.
2017-02-26completion: add bash completion for query: and property:Jani Nikula
Add prefix completion for query and property, with value completion for query. Apparently there's no way to get at the available properties in the cli.
2017-02-26emacs: show: stop display of application/* partsMark Walters
Gnus seems to display application/zip and application/tar by default. This doesn't seem desirable so we override it. We only override if the user has not customized mm-inline-override-types themselves.
2017-02-26test: test format version difference between v2 and v3Jani Nikula
Schemata v3 changed message filename field to a list. Test both versions 2 and 3.
2017-02-26cli/show: list all filenames of a message in the formatted outputJani Nikula
Instead of just having the first filename for the message, list all duplicate filenames of the message as a list in the formatted outputs. This bumps the format version to 3.
2017-02-26emacs: use (system-name) instead of system-nameJani Nikula
Fix the deprecation warning: In notmuch-maildir-fcc-make-uniq-maildir-id: emacs/notmuch-maildir-fcc.el:279:53:Warning: ‘system-name’ is an obsolete variable (as of 25.1); use (system-name) instead I've used (system-name) since at least 2011, so it must have been around quite a while.
2017-02-25lib/message.cc: use view number to invalidate cached metadataDavid Bremner
Currently the view number is incremented by notmuch_database_reopen
2017-02-25lib: handle DatabaseModifiedError in _n_message_ensure_metadataDavid Bremner
The retries are hardcoded to a small number, and error handling aborts than propagating errors from notmuch_database_reopen. These are both somewhat justified by the assumption that most things that can go wrong in Xapian::Database::reopen are rare and fatal. Here's the brief discussion with Xapian upstream: 24-02-2017 08:12:57 < bremner> any intuition about how likely Xapian::Database::reopen is to fail? I'm catching a DatabaseModifiedError somewhere where handling any further errors is tricky, and wondering about treating a failed reopen as as "the impossible happened, stopping" 24-02-2017 16:22:34 < olly> bremner: there should not be much scope for failure - stuff like out of memory or disk errors, which are probably a good enough excuse to stop
2017-02-25lib: add _notmuch_database_reopenDavid Bremner
The main expected use is to recover from a Xapian::DatabaseChanged exception.
2017-02-25test: add known broken test for uncaught DatabaseModifiedErrorDavid Bremner
There are several of these to track down, but one that is in quite a few code paths is _notmuch_message_ensure_metadata.
2017-02-25debian: note read-after-free fix in d/changelogDavid Bremner
2017-02-25NEWS: document read-after-free bugfixDavid Bremner
2017-02-23Merge branch 'release'David Bremner
Merge in g_hash_table read-after-free fix
2017-02-23version: bump to 0.23.6David Bremner
python and debian bumped at the same time
2017-02-23test: replaced use of python with $NOTMUCH_PYTHON (twice)Tomi Ollila
$NOTMUCH_PYTHON is sourced from sh.config, configured by ./configure and stated to be used as: "Name of python command to use in configure and the test suite."
2017-02-23emacs: company: remove two build warningsMark Walters
This adds two defvars to avoid two build warnings in the notmuch emacs code. These were both introduced (by me) in commit 827c28a0.
2017-02-23emacs: fully add the notmuch-address customize groupMark Walters
We now have several customizable options for address completion. There is a customize group notmuch-address but it only contains one of these options. Add all the others, and make it part of the notmuch customize group.
2017-02-23lib: make _notmuch_message_ensure_property_map staticDavid Bremner
It's not called outside message.cc
2017-02-23lib: make _notmuch_message_ensure_metadata staticDavid Bremner
It's not called anywhere outside message.cc.
2017-02-22lib: fix g_hash_table related read-after-free bugDavid Bremner
The two g_hash_table functions (insert, add) have different behaviour with respect to existing keys. g_hash_table_insert frees the new key, while g_hash_table_add (which is really g_hash_table_replace in disguise) frees the existing key. With this change 'ref' is live until the end of the function (assuming single-threaded access to 'hash'). We can't guarantee it will continue to be live in the future (i.e. there may be a future key duplication) so we copy it with the allocation context passed to parse_references (in practice this is the notmuch_message_t object whose parents we are finding). Thanks to Tomi for the simpler approach to the problem based on reading the fine glib manual.
2017-02-21Merge branch 'release'David Bremner
Merge changes to use gpgconf --create-socketdir
2017-02-21debian: start changelog for 0.23.6David Bremner
2017-02-21NEWS: news for gpgconf use in test suiteDavid Bremner
2017-02-21test: use gpgconf --create-socketdir if availableDavid Bremner
This enables the shortened socket pathes in /run or equivalent. The explicit call to gpgconf is needed for nonstandard GNUPGHOME settings. (amended according to id:m2fujatr4k.fsf@guru.guru-group.fi)
2017-02-21configure: add test for gpgconf --create-socketdirDavid Bremner
This is primarily intended for use in the test suite (since notmuch builds fine without gnupg installed). Thus we only write the variable to sh.config.
2017-02-18lib: Let Xapian manage the memory for FieldProcessorsDavid Bremner
It turns out this is exactly what release() is for; Xapian will deallocate the objects when it's done with them.
2017-02-18lib: merge internal prefix tablesDavid Bremner
Replace multiple tables with some flags in a single table. This makes the code in notmuch_database_open_verbose a bit shorter, and it should also make it easier to add other options to fields, e.g. regexp searching.
2017-01-27emacs: address: save hashMark Walters
This allows the user to save the address hash so that it is much faster for the first completion after a restart. This defaults to off as there are privacy implications to saving this information. The code tries hard to avoid overwriting the wrong file. It also notes if changes have been made to any of the relevant user settings, so that the user does not get surprising results (i.e., outdated options being used). Finally it stores some version information so that is easy for us to update the format of the save file.
2017-01-27emacs: address: move address-full-harvest-finished to a functionMark Walters
This makes the code access notmuch-address-full-harvest-finished via a helper function, notmuch-address--harvest-ready. Later we will use this to check whether we can load the harvest instead of regenerating it.
2017-01-27cli: don't call _entry_in_ignore_list twice in count files debugJani Nikula
Split file ignores in count_files to fixed and user configured in order to not have to call _entry_in_ignore_list twice when debugging is enabled. Minor detail.
2017-01-27test: wrap 'wc -l' results in arithmetic evaluation to strip whitespaceTomi Ollila
Some new unwrapped 'wc -l's have been added since Jani's 60e79e3a9f1c8
2017-01-27lib: optimize counting documentsDavid Bremner
From #xapian olly> bremner: btw, i noticed notmuch count see ms to request all the documents and then ignores them bremner> hmm. There's something funny about the way that notmuch uses matches in general iirc olly> it should be able to do: mset = enquire.get_mset (0, 0, notmuch->xapian_db->get_doccount ()); ... olly> get_matches_estimated() will be exact because check_at_least is the size of the database
2017-01-15docs: fix notmuch_message_properties_value documentationSteven Allen
It returns the value, not the key.
2017-01-09Merge tag '0.23.5'David Bremner
notmuch 0.23.5 release
2017-01-09configure: remove leftover byte order test cleanupJani Nikula
Removing the removal of byteorder configure test files was overlooked in commit 5a957c3f33e6 ("build & util: drop byte order configure check and endian util header"). Finish the job.
2017-01-09NEWS,debian: set date for releasedebian/0.23.5-10.23.5David Bremner
2017-01-08build & util: drop byte order configure check and endian util headerJani Nikula
With the removal of the embedded libsha1, we lost the first and last user of the platform byte order checks. Remove them from configure, and remove the endian util header.
2017-01-08lib: use glib for sha1 digests instead of embedding libsha1Jani Nikula
We already depend on glib both directly and indirectly (via gmime). We might as well make use of its facilities. Drop the embedded libsha1 and use glib for sha1 digests.
2017-01-08test: allow user to choose which gdb to run tests withTomi Ollila
The variable used for selecting gdb is TEST_GDB, consistent with TEST_CC and TEST_EMACS{,CLIENT}.
2017-01-08Merge branch 'release'David Bremner
These are the (tentative) changes for 0.23.5
2017-01-08docs: add 2017 to copyright yearsDavid Bremner
2017-01-08bump version to 0.23.5David Bremner
2017-01-08debian: changelog for 0.23.5-1David Bremner
2017-01-08NEWS for 0.23.5David Bremner
2017-01-07lib: fix the todo comment placement on NOTMUCH_STATUS_XAPIAN_EXCEPTIONJani Nikula
The todo comment got separated from the status it's related to at commit 3f32fd8a1c06 ("Add missing comment for NOTMUCH_STATUS_READONLY_DATABASE."). Later, commit b65ca8e0ba5e ("lib: modify notmuch.h for automatic document generation") moved it, but to the wrong place. Fix the location.