aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-08-06test: Include generated dependencies for test sourcesAustin Clements
Previously the build system was generating automatic header dependencies for test sources, but only smtp-dummy was in SRCS, so only its dependencies were being included. Add all of the test sources to SRCS so that the root Makefile.local includes their dependencies.
2014-08-06new: Report and abort on upgrade failureAustin Clements
Previously the return status of notmuch_database_upgrade went completely unchecked.
2014-08-05lib: Improve documentation of _notmuch_message_create_for_message_idAustin Clements
Clarify the state of the returned message when _notmuch_message_create_for_message_id returns NOTMUCH_PRIVATE_STATUS_NO_DOCUMENT_FOUND.
2014-08-05emacs: Expand default saved searches and add shortcut keysAustin Clements
This should help new users off to a better start with the addition of more sensible saved searches and default shortcut keys. Most existing users have probably customized this variable and won't be affected.
2014-08-05emacs: Introduce notmuch-jump: shortcut keys to saved searchesAustin Clements
This introduces notmuch-jump, which is like a user-friendly, user-configurable global prefix map for saved searches. This provides a non-modal and much faster way to access saved searches than notmuch-hello. A user configures shortcut keys in notmuch-saved-searches, which are immediately accessible from anywhere in Notmuch under the "j" key (for "jump"). When the user hits "j", the minibuffer immediately shows a helpful table of bindings reminiscent of a completions buffer. This code is a combination of work from myself (originally, "notmuch-go"), David Edmondson, and modifications from Mark Walters.
2014-08-05travis: Only notify IRC on success if the previous build failedAustin Clements
Without this, Travis is rather spammy. Travis will continue to notify the IRC channel on each build failure, which seems desirable.
2014-08-04lib: Fix slight misinformation in the database schema docAustin Clements
The database schema documentation made it sound like each mail document had exactly one on-disk message file, which hasn't been true for a long time.
2014-08-04lib: Invalidate message metadata in _notmuch_message_gen_termsAustin Clements
Previously, we invalidated stored message metadata in _notmuch_message_add_term and _notmuch_message_remove_term, but not in _notmuch_message_gen_terms. This doesn't currently result in any bugs because of our limited uses of _notmuch_message_gen_terms, but it may could cause trouble in the future.
2014-07-31config: read database.path from $MAILDIR if setMark Oteiza
Try to read the config parameter database.path from $MAILDIR before falling back to $HOME/mail
2014-07-31config: read user.name from $NAME if setMark Oteiza
Try to read the config parameter user.name from $NAME before taking the user name from /etc/passwd.
2014-07-31util: Make string-util.h C++-compatibleAustin Clements
2014-07-31emacs: Clarify that notmuch-poll-script is deprecatedAustin Clements
notmuch-poll-script has long since been deprecated in favor of post-new hooks, but this wasn't obvious from the documentation. Update the documentation to make this clear. Since notmuch-poll-script could, to some extend, be used to control the path of the notmuch binary and that use is now clearly discouraged, promote notmuch-command to a real defcustom instead of just a variable.
2014-07-30emacs: show: make return value of notmuch-show-get-prop explicitMark Walters
This makes the fact the notmuch-show-get-prop returns nil if the major mode is neither show not tree explicit.
2014-07-16dump: make dump take Xapian write lockMark Walters
Dump currently only takes the read lock. Xapian can cope with some changes while maintaining a read snapshot but with more changes it fails. Currently notmuch just gives a xapian error. To avoid this we take the write lock when dumping. This prevents other notmuch processes from modifying the xapian database preventing this error. Discussion with Olly on irc indicates that this is currently the best solution: in xapian trunk there may be better possibilities using snapshots but they need to make it to a release and propogate out to users before we can switch approach. Finally, this breaks one use case: pipelines of the form notmuch dump | ... | notmuch restore According to Olly this is already very fragile: it will only work on small databases. One of the tests relies on this behaviour so fix that to store the dump rather than use a pipe.
2014-07-16nmbug: Handle missing @upstream in is_unmergedW. Trevor King
If we don't have an upstream, there is nothing to merge, so nothing is unmerged. This avoids errors like: $ nmbug status error: No upstream configured for branch 'master' error: No upstream configured for branch 'master' fatal: ambiguous argument '@{upstream}': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' 'git rev-parse @{upstream}' exited with nonzero value You might not have an upstream if you're only using nmbug locally to version-control your tags.
2014-07-16test: Test thread linking in all possible delivery ordersAustin Clements
These tests deliver all possible (single-root) four-message threads in all possible orders and check that notmuch successfully links them into threads. These tests supersede and replace the previous and much less thorough "T260-thread-order" tests. There are two variants of the test: one delivers messages that reference only their immediate parent and the other delivers messages that reference all of their parents. The latter test is currently known-broken.
2014-07-16Enable Travis-CI as a backup continuous integration service.Wael M. Nasreddine
You can access the dashboard at https://travis-ci.org/notmuch/notmuch
2014-07-16emacs: tree/show remove duplicate functionMark Walters
tree overrides notmuch-show-get-prop so that it can use many of the utility function directly. Now that tree is in mainline the version from tree can be moved to show and the original overridden show version dropped.
2014-07-16nmbug: Add a git_with_status helper functionW. Trevor King
Sometimes we want to catch Git errors and handle them, instead of dying with an error message. This lower-level version of git() allows us to get the error status when we want it.
2014-07-15emacs: set default in notmuch-read-queryMark Walters
This adds the current query as a "default value" to notmuch-read-qeury. The default value is available via a down-arrow as opposed to history which is available from the up arrow. Note if a user presses return in the minibuffer this value is not returned. The implementation is simple but notmuch-read-query could be called via notmuch-search/notmuch-tree etc from any buffer so it makes sense to put the decision of how to extract the current query in notmuch-read-query rather than in each of the callers.
2014-07-15nmbug-status: Optionally load the header and footer templates from the configW. Trevor King
For folks that don't like the default templates for whatever reason.
2014-07-15nmbug-status: Add the time to the footer's build-dateW. Trevor King
Our repository [1] has a post-update hook that rebuilds the status page after each push. Since that may happen several times a day, we might as well show the build time (as well as the date) in the footer. The trailing 'Z' is the ISO 8601 designator for UTC. Now that we're showing times, it's nice to be explicit about the timezone we're using. The rename from date -> datetime gives us backward-compatibility for folks that *do* only want the date. We keep the old date formatting to support those folks. [1]: http://nmbug.tethera.net/git/nmbug-tags.git
2014-07-15nmbug-status: Factor out header/footer context into a shared dictW. Trevor King
Rather than splitting this context into header-only and footer-only groups, just dump it all in a shared dict. This will make it easier to eventually split the header/footer templates out of this script (e.g. if we want to load them from the config file).
2014-07-15Move the generated date from the top of the page to the footer.Carl Worth
It's useful reference information, but anyone who wants it will look for and find it. We don't need this front-and-center. Follow the pattern set by our header template with a triple-quoted string. The gray <hr> styling is less agressive. IE uses 'color' for drawing the rule, while Gecko and Opera use the border or 'background-color' [1]. [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=239386
2014-07-15Add a docstring describing the programCarl Worth
Prefer a docstring to a header comment so we can use it as the ArgumentParser description (formatted with 'nmbug-status --help'). Script readers still have it near the top of the file. Since it's a docstring, use PEP 257's summary-line-and-body format [1]. [1]: http://legacy.python.org/dev/peps/pep-0257/#multi-line-docstrings
2014-07-15Add explicit license informationCarl Worth
It's nice to have for situations where this script is found outside of the notmuch source repository (e.g. after being installed).
2014-07-15emacs: search archive tweakMark Walters
notmuch-search-archive-thread moves to the next line after tagging. In the normal case this makes sense, but if the region is active, it tags the whole region and then it doesn't really. Thus only move to the next line if region is not active.
2014-07-13test: redirect gdb output to a file.David Bremner
It seems that the normal output redirection in the test suite doesn't work for gdb, but it's nice to have output in a file for debugging.
2014-07-13devel: news2wiki to recognize yyyy-mm-dd or UNRELEASED as release dateTomi Ollila
The yyyy-mm-dd (actually \d\d\d\d-\d\d-\d\d) for a bit more restrictive (and self-documentative) than the \w\w\w\w-... that used to be there and UNRELEASED so that developers can test the latest NEWS converted to mdwn format before submitting NEWS patches.
2014-07-13emacs: show: add an update seen function to post-command-hookMark Walters
Add a function for updating seen messages to the post-command-hook. This function calls a customizable (by eg defcustom) function with parameters the start and end of the current window and that function can decide what to mark read based on that and the current point. Since this is in the post-command-hook it should get called after most user actions (exceptions include user resizing the window) so it should be possible to make sure the seen status gets updated whether the user uses notmuch commands like next-message or normal emacs commands like scroll-up. It removes all of the old mark read/seen points but introduces a simple example function that just marks the current message read if it is open. This function has one small subtlety: it makes sure it doesn't mark the same message read twice (in the same instance of the same buffer); otherwise the post-command-hook makes it impossible for a user to manually mark a message unread. This fixes the current bugs (imo) that closed messages can be marked read, and that opening a closed message does not mark it read. Another advantage of using the post-command-hook any programmatic use with point passing through a message will not mark it read.
2014-07-13test: make test_emacs call post-command-hookDavid Bremner
The unread/read changes will use the post-command-hook. test_emacs does not call the post-command-hook. This adds a notmuch-test-progn which takes a list of commands as argument and executes them in turn but runs the post-command-hook after each one. The caller can batch operations (ie to stop post-command-hook from being interleaved) by wrapping the batch of operations inside a progn. We also explicitly run the post-command-hook before getting the output from a test; this makes sense as this will be a place the user would be seeing the information.
2014-07-13emacs: Fix indentation.David Edmondson
Fix the indentation of `notmuch-show-mode-map'.
2014-07-13lib: Start all function names in notmuch-private.h withCharles Celerier
As noted in devel/STYLE, every private library function should start with _notmuch. This patch corrects function naming that did not adhere to this style in lib/notmuch-private.h. In particular, the old function names that now begin with _notmuch are notmuch_sha1_of_file notmuch_sha1_of_string notmuch_message_file_close notmuch_message_file_get_header notmuch_message_file_open notmuch_message_get_author notmuch_message_set_author Signed-off-by: Charles Celerier <cceleri@cs.stanford.edu>
2014-07-13test: use sh.config for configurationJani Nikula
2014-07-13build: generate sh.config for feeding configure results to shell scriptsJani Nikula
Only include the relevant information. Amended by David Bremner: Use a prefix NOTMUCH_ to minimize collisions with other variables.
2014-07-13docs: remove spurious man page generated from doxygenDavid Bremner
There is a doxygen bug about these odd files, https://bugzilla.gnome.org/show_bug.cgi?id=727796 But it isn't clear if / when a fix will be provided, so just delete it to avoid e.g. confusing man-to-wiki.pl
2014-07-09NEWS: add minimal item for API change to close/destroyDavid Bremner
2014-07-09lib: add return status to database close and destroyJani Nikula
notmuch_database_close may fail in Xapian ->flush() or ->close(), so report the status. Similarly for notmuch_database_destroy which calls close. This is required for notmuch insert to report error status if message indexing failed.
2014-07-09build: check .git directory existence in srcdir (for out-of-tree builds)Tomi Ollila
So that $(VERSION) and version.stamp uses the git-describe -based version data instead of the content of `version' file. For consistency also the git commands in Makefile[.local] target `verify-no-dirty-code' uses the git --git-dir=$srcdir/.git ... commands (inside ifeq($(IS_GIT),yes)). Attempting to make this target outside of the tree will fail in any case.
2014-07-09doc: postprocess notmuch.3David Bremner
Remove excess italics from doxygen output. It seems to make no sense (and is certainly ugly) to italicize the first argument to the .RI macro.
2014-07-09doc: quiet doxygen warningsDavid Bremner
remove some obsolete tags for XML output (which we don't currently generate in any case)
2014-07-09doc: build and install doxygen api docsDavid Bremner
In order to support out of tree builds and avoid hardcoding version number, generate `doc/config.dox` from configure.
2014-07-04configure: use cc/c++ instead of gcc/g++Fraser Tweedale
Some systems (e.g. FreeBSD 10) do not ship with the GNU Compiler Collection. Use generic cc/c++ instead of gcc/g++ (unless the CC/CXX environment variables are used).
2014-06-25Merge tag '0.18.1'David Bremner
notmuch 0.18.1 release
2014-06-25version: bump to 0.18.1debian/0.18.1-10.18.1David Bremner
Also add precis of NEWS to debian changelog
2014-06-24NEWS: Improve and correct "Fix for phrase indexing" entryAustin Clements
This improves the description of the fix, fixes some typos, and changes "(re)-indexed" to "indexed" because we have no particular notion of "re-indexing" a message.
2014-06-23NEWS: quibbles from TomiDavid Bremner
See id:m2vbrsgi7n.fsf@guru.guru-group.fi for details
2014-06-22Merge tag '0.18.1_rc0'David Bremner
notmuch 0.18.1~rc0 release
2014-06-22version: bump to 0.18.1~rc0David Bremner
Also bump the python bindings version, the NEWS version and the Debian version. Since the changelog is (slightly dubiously) metadata, we have to change it to upload a release candidate.
2014-06-22NEWS: add news for 0.18.1David Bremner
This is my summary of the commits from 0.18.