aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-09-04emacs: simplify our local copy of message-do-fccMark Walters
message-do-fcc has lots of functionality we don't need, so remove it.
2016-09-04emacs: maildir import message-do-fccMark Walters
We will need our own local copy of message-do-fcc so this commit just copies the code straight from message.el so that it is easier to see our local changes coming in the next commit.
2016-09-04emacs: maildir-fcc: prepare for use of notmuch insertMark Walters
We move some code around in preparation for the use of notmuch insert. In particular, we move the check for a valid maildir for the fcc to when the message is sent rather than when the fcc header is inserted. The main motivation is consistency with the insert version (coming later) where we cannot check the validity until send. We allow the user some chance to correct the header; the choice here is intended to be consistent with the insert version to come.
2016-09-04emacs: notmuch-check-exit-status bugfixMark Walters
This function prints diagnostic information in the event of an error. However, one of the callers has an optional :stdin-string keyword argument. This causes the error printing routine to error itself. Rather than reach notmuch-check-exit-status about the possible keyword arguments (currently only one but could be more in the future) this commit just tells notmuch-check-exit-status how to print non-string arguments.
2016-09-04Makefile.local: use $(wildcard) to check existence of ${srcdir}/.gitTomi Ollila
With this GNU Make construct one shell invocation can be skipped and code looks shorter (narrower). This would now match to .git being other file type than regular file or directory (or symlink to those), but that is not a use case anyone should expect users to do.
2016-09-04Makefile.local: make IS_GIT simply expandedTomi Ollila
By using ':=' while setting IS_GIT it is expanded to 'yes' or 'no' at that point (and not every time when $(IS_GIT) is referenced).
2016-09-04emacs: address: allow internal completion on an individual basisMark Walters
This commit makes two changes. The first allows the user to override an external completion method with the internal notmuch address based completion for an individual buffer. Secondly, if the user has company-mode enabled then it sets up company mode (based on internal completion) but disables the automatic timeout completion -- the user can still activate it in when desired with standard company commands such as company-complete.
2016-09-04emacs: address completion, allow sender/recipient and filtersMark Walters
This commit lets the user customize the address completion. It makes two changes. The first change controls whether to build the address completion list based on messages you have sent or you have received (the latter is much faster). The second change add a possible filter query to limit the messages used -- for example, setting this to date:1y.. would limit the address completions to addresses used in the last year. This speeds up the address harvest and may also make the search less cluttered as old addresses may well no longer be valid.
2016-09-04NEWS: fix go bindings NEWSDavid Bremner
Move to correct release. Mention moving to contrib. Drop mention of formatting fixes, as those are not yet applied.
2016-09-03updated NEWSlaochailan
2016-09-03fixed wrong constant valueslaochailan
before, they were both zero, so getting a read-writeable handle was impossible.
2016-09-03Added thread bindings to go bindingslaochailan
2016-09-03bindings: move go bindings to contribDavid Bremner
This signals two things, an intent to be more liberal about accepting patches, and an intent to stop distributing the bindings if maintenance doesn't pick up.
2016-09-03contrib: remove old copy of vim front endDavid Bremner
Having two in the tree is just confusing. And the viml one is even more out of date than the ruby one.
2016-08-23lib: update cached mtime in notmuch_directory_set_mtimeDavid Bremner
Without this change, the following code fails notmuch_directory_set_mtime(dir, 12345); assert(notmuch_directory_get_mtime(dir) == 12345);
2016-08-23doc: update cross references for notmuch.1David Bremner
In particular add notmuch-compact(1) (Debian bug #825884)
2016-08-18lib: reword comment about XFOLDER: prefixDavid Bremner
I believe the current one is misleading, because in my experiments Xapian did not add : when prefix and term were both upper case. Indeed, it's hard to see how it could, because prefixes are added at a layer above Xapian in our code. See _notmuch_message_add_term for an example. Also try to explain why this is a good idea. As far as I can ascertain, this is more of an issue for a system trying to work with an unknown set of prefixes. Since notmuch has a fixed set of prefixes, and we can hopefully be trusted not to add XGOLD and XGOLDEN as prefixes, it is harder for problems to arise.
2016-08-14debian: changelog stanza for 0.22.1-3debian/0.22.1-3David Bremner
2016-08-14test: make gdb even quieterDavid Bremner
gdb sometimes writes warnings to stdout, which we don't need/want, and for some reason --batch-silent isn't enough to hide. So in this commit we write them to a log file, which is probably better for debugging anyway. To see an illustrative test failure before this change, run % make % touch notmuch-count.c % cd test && ./T060-count.sh (cherry picked from commit f45fa5bdd397d52473f7092f7ae3e2ffb9b7aee5)
2016-08-11Omit User-Agent: header by defaultDaniel Kahn Gillmor
The User-Agent: header can be fun and interesting, but it also leaks quite a bit of information about the user and their software stack. This represents a potential security risk (attackers can target the particular stack) and also an anonymity risk (a user trying to preserve their anonymity by sending mail from a non-associated account might reveal quite a lot of information if their choice of mail user agent is exposed). This change also avoids hiding the User-Agent header by default, so that people who decide they want to send it will at least see it (and can edit it if they want to) before sending. It makes sense to have safer defaults.
2016-08-11configure: add --without-api-docs optionMikhail
Add option to explicitly disable API man page build even if doxygen binary is available. --without-docs also implies not building API manpage. This change intended to add more distinctness into build system and allow user not to build unwanted man pages.
2016-08-09emacs: wash: word-wrap bugfixMark Walters
Previously notmuch-wash made the width of the text (approximately) the window-width minus the depth in thread. This is correct for the default indentation of 1 per message depth, but is incorrect for any other setting of notmuch-show-indent-messages-width. As notmuch-show-indent-messages-width is customisable, and notmuch-tree sets it to zero to avoid indenting messages in the message pane, this bug can show up in real use. Two of the tests had to be updated: when notmuch-show-indent-messages-width is 0, then the new (correct) word wrapping happens later, when notmuch-show-indent-messages-width is 4, then the new word wrapping happens sooner.
2016-08-09lib: provide _notmuch_database_log_appendDavid Bremner
_notmuch_database_log clears the log buffer each time. Rather than introducing more complicated semantics about for this function, provide a second function that does not clear the buffer. This is mainly a convenience function for callers constructing complex or multi-line log messages. The changes to query.cc are to make sure that the common code path of the new function is tested.
2016-08-09test: make gdb even quieterDavid Bremner
gdb sometimes writes warnings to stdout, which we don't need/want, and for some reason --batch-silent isn't enough to hide. So in this commit we write them to a log file, which is probably better for debugging anyway. To see an illustrative test failure before this change, run % make % touch notmuch-count.c % cd test && ./T060-count.sh
2016-08-02emacs: express n-search-line-faces in terms of two new facesMatt Armstrong
The two new faces (notmuch-search-flagged-face and notmuch-search-unread-face) make it easier to find the relevant face by customizing notmuch-faces. I plan to do the same to the other alists of faces found elsewhere.
2016-07-29create .mailmap file (for git shortlog/blame)David Bremner
Recently it was suggested on the list that we add a contributor to AUTHORS. This file has been unmodified for 7 years, and is somewhat out of date. It would potentially make sense to automagically update this file during the release process using the output from git shortlog. This file helps clean up some inconsistencies in author data in the history.
2016-07-29Fix typo in Message.maildir_flags_to_tagsJaime Velasco Juan
It has been calling _tags_to_maildir_flags instead since the beginning,
2016-07-19Merge branch 'release'David Bremner
2016-07-19debian: changelog stanza for 0.22.1-2debian/0.22.1-2David Bremner
2016-07-19debian: add explicit build-depends on gnupgDavid Bremner
apt dropped it's depends on gnupg, so we can't rely on it being present in the build env anymore
2016-07-19debian: changelog stanza for 0.22.1-10.22.1David Bremner
Basically copy upstream NEWS
2016-07-19NEWS: set date of point releaseDavid Bremner
2016-07-19version: bump to 0.22David Bremner
2016-07-13NEWS: initial NEWS for 0.22.1David Bremner
2016-06-30debian: add changelog stanza for 0.22.1~rc0-1debian/0.22.1_rc0-10.22.1_rc0David Bremner
No actual changes discussed, because the NEWS file is yet to be created.
2016-06-30version: bump to 0.21.1~rc0David Bremner
Getting ready for the point release
2016-06-30notmuch-mutt: use env to locate perl for increased portabilityStefano Zacchiroli
Note: this patch drops -w from the shebang line, but we still have "use warnings" in the script, which is superior anyhow. Thanks Andreas Tolfsen for the suggestion.
2016-06-30lib: fix definition of LIBNOTMUCH_CHECK_VERSIONDavid Bremner
Fix bug reported in id:20160606124522.g2y2eazhhrwjsa4h@flatcap.org Although the C99 standard 6.10 is a little non-obvious on this point, the docs for e.g. gcc are unambiguous. And indeed in practice with the extra space, this code fails #include <stdio.h> #define foo (x) (x+1) int main(int argc, char **argv){ printf("%d\n",foo(1)); }
2016-06-30doc: forbid further operations on a closed databaseDavid Bremner
We could add many null pointer checks, but currently I don't see a use case that justifies it.
2016-06-30test: don't use dump and restore in a pipelineDavid Bremner
This has been wrong since bbbdf0478ea, but the race condition was not previously been (often?) triggered in the tests. With the DB_RETRY_LOCK patches, it manifests itself as a deadlock.
2016-06-29lib: add built_with handling for XAPIAN_DB_RETRY_LOCKDavid Bremner
This support will be present only if the appropriate version of xapian is available _and_ the user did not disable the feature when building. So there really needs to be some way for the user to check.
2016-06-29test: initial tests for locking retryDavid Bremner
Currently there's not much to test, so we simulate contention, and check that the modifications to the database are serialized.
2016-06-29Use the Xapian::DB_RETRY_LOCK flag when availableIstvan Marko
Xapian 1.3 has introduced the DB_RETRY_LOCK flag (Xapian bug 275). Detect it in configure and optionally use it. With this flag commands that need the write lock will wait for their turn instead of aborting when it's not immediately available. Amended by db: allow disabling in configure
2016-06-29test: don't use dump and restore in a pipelineDavid Bremner
This has been wrong since bbbdf0478ea, but the race condition was not previously been (often?) triggered in the tests. With the DB_RETRY_LOCK patches, it manifests itself as a deadlock.
2016-06-28doc: forbid further operations on a closed databaseDavid Bremner
We could add many null pointer checks, but currently I don't see a use case that justifies it.
2016-06-28test/notmuch-test: simple streamliningTomi Ollila
A few simple things that applies well to test/notmuch-test.sh - Shell does pathname expansion also without doing `echo ...` in subshell. - Redirections >/dev/null 2>/dev/null hide (improbable but) potential serious errors; adding -f to rm instead. - Inter-file capitalization consistency in comments. - Unnecesary space removal.
2016-06-28emacs: show: improve handling of mark read tagging errorsMark Walters
Previously if a marking read tag change (i.e., removing the unread tag) failed for some reason, such as a locked database, then no more mark read tag changes would be attempted in that buffer. This handles the error more gracefully. There is not much we can do yet about dealing with the error itself, and marking read is probably not important enough to warrant keeping a queue of pending changes or anything. However this commit changes it so that - we do try and make future mark read tag changes. - we display the tag state correctly: i.e. we don't display the tag as deleted (no strike through) - and since we know the tag change failed we can try to mark this message read in the future. Indeed, since the code uses the post-command hook we will try again on the next keypress (unless the user has left the message). We indicate to the user that these mark read tag changes may have failed in the header-line.
2016-06-13test: factor out some boilerplate from C testsDavid Bremner
The trick of having a common header file doesn't work to share between test scripts, so make an include file in the test directory. The use of #include <notmuch-test.h> looks slightly pretentious, but the include file is not actually in the current (temporary) directory.
2016-06-11Makefile.local: set IS_GIT = yes when regular file $srcdir/.git existsTomi Ollila
$srcdir/.git may also be file. E.g. `git worktree` creates .git file while new working tree is populated.
2016-06-11test: test_python: set PYTHONPATH to the python execution environmentTomi Ollila
Place PYTHONPATH to the environment when python is executed in a way that current shell environment is not affected. This also allows adding the old value of PYTHONPATH to the end of the new value (otherwise it would have been appended again and again when test_python is called). At the same time, use -B option to avoid writing .pyc files to bindings/python/* (which are not cleared out by distclean). Drop the (unused) prefix code which preserved the original stdout of the python program and opened sys.stdout to OUTPUT. In place of that there is now note how (debug) information can be printed to original stdout.