aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* man: Document 'config list' commandGravatar Peter Wang2012-04-28
| | | | Document the 'config list' command and its output.
* config: Add 'config list' commandGravatar Peter Wang2012-04-28
| | | | | | | | | | Add a command to list all configuration items with their associated values. One use is as follows: a MUA may prefer to store data in a central notmuch configuration file so that the data is accessible across different machines, e.g. an addressbook. The list command helps to implement features such as tab completion on the keys.
* test: Add broken test for 'config list'Gravatar Peter Wang2012-04-28
| | | | Proposed functionality.
* test: Add tests for 'config' commandGravatar Peter Wang2012-04-28
| | | | Start a new test script.
* config: Check 'config get' arity exactlyGravatar Peter Wang2012-04-28
| | | | | | Require that 'config get' is passed exactly one additional argument, instead of silently ignoring extra arguments. As a side-effect, produce more specific error messages for the 'config' command as a whole.
* python: wrap and use notmuch_database_destroy as destructorGravatar Justus Winter2012-04-28
| | | | | | Adapt the python bindings to the notmuch_database_close split. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* ruby: Use notmuch_database_destroy instead of notmuch_database_closeGravatar Justus Winter2012-04-28
| | | | | | Adapt the ruby bindings to the notmuch_database_close split. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* go: Use notmuch_database_destroy instead of notmuch_database_closeGravatar Justus Winter2012-04-28
| | | | | | Adapt the go bindings to the notmuch_database_close split. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* Use notmuch_database_destroy instead of notmuch_database_closeGravatar Justus Winter2012-04-28
| | | | | | Adapt notmuch-deliver to the notmuch_database_close split. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* Use notmuch_database_destroy instead of notmuch_database_closeGravatar Justus Winter2012-04-28
| | | | | | Adapt the notmuch binaries source to the notmuch_database_close split. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* NEWS: Document the notmuch_database_close splitGravatar Justus Winter2012-04-28
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* Split notmuch_database_close into two functionsGravatar Justus Winter2012-04-28
| | | | | | | | | | | | | | | | | | Formerly notmuch_database_close closed the xapian database and destroyed the talloc structure associated with the notmuch database object. Split notmuch_database_close into notmuch_database_close and notmuch_database_destroy. This makes it possible for long running programs to close the xapian database and thus release the lock associated with it without destroying the data structures obtained from it. This also makes the api more consistent since every other data structure has a destructor function. The comments in notmuch.h are a courtesy of Austin Clements. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* emacs: Put notmuch-hello-sections in custom group notmuch-helloGravatar Austin Clements2012-04-24
|
* new: Fix missing end_atomic in remove_filename on errorGravatar Austin Clements2012-04-24
| | | | | | | Previously, if we failed to find the message by filename in remove_filename, we would return immediately from the function without ending its atomic block. Now this code follows the usual goto DONE idiom to perform cleanup.
* new: Print final fatal error message to stderrGravatar Austin Clements2012-04-24
| | | | | | | This was going to stdout. I removed the newline at the beginning of printing the fatal error message because it wouldn't make sense if you were only looking at the stderr stream (e.g., you had redirected stdout to /dev/null).
* new: Handle fatal errors in remove_filename and _remove_directoryGravatar Austin Clements2012-04-24
| | | | | Previously such errors were simply ignored. Now they cause an immediate cleanup and abort.
* new: Consistently treat fatal errors as fatalGravatar Austin Clements2012-04-24
| | | | | | | Previously, fatal errors in add_files_recursive were not treated as fatal by its callers (including itself!). This makes add_files_recursive errors consistently fatal and updates all callers to treat them as fatal.
* emacs: Put notmuch-print-mechanism in custom group notmuch-showGravatar Austin Clements2012-04-24
|
* config: Fix free in 'config get' implementation.Gravatar Peter Wang2012-04-24
| | | | | The array returned by g_key_file_get_string_list() should be freed with g_strfreev(), not free().
* emacs: modify help message for notmuch-search-line-faces to reflect ↵Gravatar Jameson Graef Rollins2012-04-24
| | | | | | | | preferred "deleted" tag name. No functional change here. The help message previously referred to the "delete" tag, but "deleted" is now preferred, so hopefully this will reduce any potential confusion.
* vim: simplify buildGravatar Felipe Contreras2012-04-21
| | | | | | | There should be no functional changes, except that you don't need to make the directories before installing. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
* vim: fix regex after "notmuch show" output changeGravatar Jakob2012-04-21
| | | | | | The new field "excluded" was added to the output and made this regex fail. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
* lib: work around talloc_steal usage from C++ codeGravatar Jani Nikula2012-04-15
| | | | | | | | | | | | | | | | Implicit typecast from 'void *' to 'T *' is okay in C, but not in C++. In talloc_steal, an explicit cast is provided for type safety in some GCC versions. Otherwise, a cast is required. Provide a template function for this to maintain type safety, and redefine talloc_steal to use it. The template must be outside the extern "C" block (NOTMUCH_BEGIN_DECLS and NOTMUCH_END_DECLS), but keep it within the GCC visibility #pragma. No functional changes, apart from making the library build with compilers other than recent GCC. Signed-off-by: Jani Nikula <jani@nikula.org>
* Record dependencies during build instead of beforeGravatar Austin Clements2012-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the makefile created dependency files in a separate, first pass. In particular, include-ing the dependency files would cause make to attempt to rebuild those files using the dependency-generation rules in the makefile. Unfortunately, this approach required obtuse rules and silently delayed the start of the build process (by quite a bit on a clean tree without any dependency files). Worse, this required the dependency files to themselves depend on all of the headers the source file depended on, which meant that, if a header file was removed, the depedency file could not be updated because of a missing dependency (!), which would cause make to silently fail. This patch eliminates the dependency generation rules and instead generates dependency files as a side-effect of the regular build rule. On the first build, we don't need to know the dependencies beforehand; the object file doesn't exist, so it will be built anyway. On subsequent builds, if a header file is updated, the dependency rules generated by the previous build will force a rebuild. If a source file is updated, the dependency rules may be stale, but it doesn't matter because the updated source file will force a rebuild. In the final case above, the stale dependency rules may refer to a header file that no longer exists but is also no longer needed. In order to prevent this from breaking the build, we also pass gcc the -MP option, which generates phony targets for every depended-on header file, so make won't complain if it can't find them during a later build.
* show: Remove empty message_set_{start,sep,end} fieldsGravatar Austin Clements2012-04-15
| | | | Setting these to NULL is equivalent to the empty string now.
* show: Support NULL values for message_set_{start, sep, end}Gravatar Austin Clements2012-04-15
| | | | | Many formats don't need these, so it's more convenient if they don't have to set them at all.
* show: Remove unused fields from notmuch_show_formatGravatar Austin Clements2012-04-15
| | | | These fields were only used by old-style formatters.
* Remove show-message.cGravatar Austin Clements2012-04-15
| | | | There are no more calls to show_message_body.
* show: Remove support for old-style formatters in show_messageGravatar Austin Clements2012-04-15
| | | | | show_message used to have a compatibility path for old-style formatters. This removes that.
* Sync schemata with current code structureGravatar Austin Clements2012-04-15
| | | | | The schema itself hasn't changed, but many of the references to functions in notmuch-show.c were out of date.
* emacs: have tag-completion return all tags for nil inputGravatar Jameson Graef Rollins2012-04-12
| | | | | | Previously the function would fail if the initial input was nil. Now it will return a list of all tags, which obviously makes much more sense.
* News for raw format changesGravatar Austin Clements2012-04-12
|
* debian: add gnupg-agent to notmuch recommendsGravatar Jameson Graef Rollins2012-04-12
| | | | | gnupg-agent is required for message decryption, so this should help stem some issues encountered by users trying to decrypt messages.
* emacs: include tags from excluded messages in tag tab completionGravatar Jameson Graef Rollins2012-04-12
| | | | | | | The new message exclude functionality will hide tags that only exist on excluded messages. However, one might very well want to manually modify excluded tags. This makes sure tags from excluded messages are always available in tab completion.
* emacs: update call in tag-completion functionGravatar Jameson Graef Rollins2012-04-12
| | | | | "search-tags" is deprecated, so use the more modern and supported "search --output=tags".
* emacs: get rid of trailing spaces in notmuch-hello viewGravatar Dmitry Kurochkin2012-04-12
| | | | | | | | | | | This patch removes trailing spaces in notmuch-hello view. A side effect of this change is that tag/query buttons no longer include a space at the end. This means that pressing RET when the point is at the first character after the tag/query button no longer works (note that this is the standard behavior for buttons). We may change this behavior in the future (without adding trailing spaces back) if people would find this change inconvenient.
* emacs: make show set --exclude=falseGravatar Mark Walters2012-04-07
| | | | | | Show has to set --exclude=false to deal with cases where it is asked to show a single excluded message. It uses JSON so it can easily pass the exclude information to the user.
* test: add some exclude testsGravatar Mark Walters2012-04-07
| | | | | | | | Systematically test the exclude options for search. Also move the search existing exclude tests into the new test. There is some overlap between the two sets of tests but many of the existing ones are there because they triggered bugs in the past so I have kept them to ensure coverage.
* cli: move show to the new --exclude= option naming scheme.Gravatar Mark Walters2012-04-07
| | | | | | | | | | | | | | This moves notmuch show to the --exclude=(true|false) naming scheme. When exclude=false show returns all threads that match including those that only match in an excluded message. The excluded messages are flagged. When exclude=true the behaviour depends on whether --entire-thread is set. If it is not set then show only returns the messages which match and are not excluded. If it is set then show returns all messages in the threads that match in a non-excluded message, flagging the excluded messages in these threads. The rationale is that it is awkward to use a thread with some missing messages.
* cli: move search to the new --exclude= naming scheme.Gravatar Mark Walters2012-04-07
| | | | | | | | | | | | | | | | | | This commit replaces the --no-exclude option with a --exclude=(true|false|flag) option. The default is to omit the excluded messages. The flag option only makes sense if output=summary (as otherwise there is nowhere to print the flag). In summary output exclude=false and exclude=flag give almost identical output: they differ in that with the exclude=flag option the match count (i.e., the x in [x/n] in the output) is the number of matching non-excluded messages rather than the number of matching messages. Note this changes the default for output=summary when no --exclude= option is given: it used to default to flag and now defaults to true (i.e. omit excluded messages). This is neccesary to keep the cli output uncluttered and for speed reasons.
* cli: move count to the new --exclude=(true|false|flag) naming scheme.Gravatar Mark Walters2012-04-07
| | | | | | | Move the option --no-exclude to the --exclude= scheme. Since there is no way to flag messages only true and false are implemented. Note that, for consistency with other commands, this is implemented as a keyword option rather than a boolean option.
* lib: change default for notmuch_query_set_omit_excludedGravatar Mark Walters2012-04-07
|
* emacs: do not modify the alist passed to notmuch-sort-saved-searchesGravatar Jani Nikula2012-04-06
| | | | | | Sort modifies its input as a side effect. Pass it a copy in notmuch-sort-saved-searches to not modify the notmuch-saved-searches alist.
* configure: change gmime version in help message to 2.6Gravatar David Bremner2012-04-05
| | | | | | Since GMime 2.6 is now the stable version upstream, and probably the most tested by notmuch developers, it makes sense to suggest that to users to install.
* configure: print info about required gmime 2.4 or 2.6 versionsGravatar Tomi Ollila2012-04-05
| | | | | In case required gmime (2.4 or 2.6) version if not found print information about both alternatives (and currently minimal 2.6 version that is needed).
* configure: add empty line after each missing component messageGravatar Tomi Ollila2012-04-05
| | | | | | | Currently whenever message about missing GMime, Glib or talloc is printed the message is 2 lines, component info and its http location in next line. In the future the amount of lines will vary. To ease reading in these cases newline is added after each message.
* emacs: fix off-by-one error in notmuch-hello column alignmentGravatar Dmitry Kurochkin2012-04-05
| | | | | Expected results for few tests are fixed, the relevant test is unmarked broken.
* test: add broken test for long names in Emacs notmuch-hello viewGravatar Dmitry Kurochkin2012-04-05
| | | | | Currently, the column alignment in Emacs notmuch-hello is broken for tags/queries with long names.
* emacs: Fix the References header in replyGravatar Adam Wolfe Gordon2012-04-02
| | | | | | | | | | | | | | In the new reply code, the References header gets inserted by message.el using a function called message-shorten-references. Unlike all the other header-inserting functions, it doesn't put a newline after the header, causing the next header to end up on the same line. In our case, this header happened to be User-Agent, so it's hard to notice. This is probably a bug in message.el, but we need to work around it. This fixes the problem by wrapping message-shorten-references in a function that inserts a newline after if necessary. This should protect against the message.el bug being fixed in the future.
* test: Show all headers in emacs reply testsGravatar Adam Wolfe Gordon2012-04-02
| | | | | | | | | | | | | | By default, emacs hides the User-Agent and References headers when composing mail. This is a good thing for users, but a bad thing for testing, since we can create ugly or invalid headers and not have it show up in the tests. By setting message-hidden-headers to an empty list, we force emacs to show all the headers, so we can check that they're correct. Users won't see this, but it will let us catch future bugs. As a side-effect, this breaks all the reply tests, since there is a bug with the References and User-Agent headers, fixed in the next commit.