aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* python: cleanup the __nonzero__ implementationsGravatar Justus Winter2012-04-30
| | | | | | | | | | | Cleanup the code, reword the docstring and use the same implementation in the Threads, Tags and Messages classes. __nonzero__ implements truth value testing. If __nonzero__ is not implemented, the python runtime would fall back to `len(..) > 0` thus exhausting the iterator. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: fix NULL pointer testsGravatar Justus Winter2012-04-30
| | | | | | | Fix the NULL pointer tests in the destructors of all classes and Database.create. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: update the docstrings of Filenames.{__len__,__unicode}Gravatar Justus Winter2012-04-30
| | | | | | | Formerly the documentation was overly verbose. Reword the comment and use the same for both functions. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: update the docstring of class FilenamesGravatar Justus Winter2012-04-30
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: fix the documentationGravatar Justus Winter2012-04-30
| | | | | | | Remove the reference to Filenames.as_generator in the sphinx documentation. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: fix Message.get_filenamesGravatar Justus Winter2012-04-30
| | | | | | Do not to use the removed function Filenames.as_iterator. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: remove the deprecated function Filenames.as_generatorGravatar Justus Winter2012-04-30
| | | | | | | | | | Remove the function Filenames.as_generator that has been marked as deprecated in 0.12. The class Filenames implements the iterator protocol so you can directly iterate over such objects instead. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* emacs: eliminate search-tag-thread in favor of just search-tagGravatar Jameson Graef Rollins2012-04-29
| | | | | notmuch-search-tag-thread is now completely redundant with notmuch-search-tag so we eliminate it to simplify the interface.
* emacs: modify show tag functions to use new notmuch-tag interfaceGravatar Jameson Graef Rollins2012-04-29
| | | | | | The main change here is to modify argument parsing so as to not force tag-changes to be a list, and to let notmuch-tag handle prompting the user when required. doc strings are also updated and cleaned up.
* emacs: modify search tag functions to use new notmuch-tag interfaceGravatar Jameson Graef Rollins2012-04-29
| | | | | | The main change here is to modify argument parsing so as to not force tag-changes to be a list, and to let notmuch-tag handle prompting the user when required. doc strings are also updated and cleaned up.
* emacs: allow notmuch-tag to accept string inputs and prompt for tagsGravatar Jameson Graef Rollins2012-04-29
| | | | | | | | | | | notmuch-tag is extended to accept various formats of the tag changes. In particular, user prompting for tag changes is now incorporated here, so it is common for modes. The tag binary and the notmuch-{before,after}-tag-hooks are only called if tag changes is non-nil. In all cases tag-changes is returned as a list.
* emacs: create notmuch-tag.el, and move appropriate functions from notmuch.elGravatar Jameson Graef Rollins2012-04-29
| | | | | | | | Tagging functions are used in notmuch.el, notmuch-show.el, and notmuch-message.el. There are enough common functions for tagging that it makes sense to put them all in their own library. No code is modified, just moved around.
* emacs: fix archive thread/message function documentation.Gravatar Jameson Graef Rollins2012-04-29
| | | | | This removes an inaccuracy in the thread archiving function, and adds a clarification to the message archiving function.
* emacs: Don't move to the next thread unless the cursor is at the end of the ↵Gravatar David Edmondson2012-04-29
| | | | | | | | | buffer. When using the spacebar to scroll through a thread, hitting 'space' when the bottom of the last message is visible should take the cursor to the end of the buffer rather than immediately archiving the thread and moving to the next thread.
* emacs-show: open excluded matches if no other matchesGravatar Mark Walters2012-04-29
| | | | | | | | Currently emacs show does not open matching but excluded messages. This is normally the desired behaviour but is probably not ideal if only excluded messages match. This patch opens all the matching (necessarily excluded) messages in this case and goes to the first one.
* NEWS: add news item for 'config list'Gravatar Peter Wang2012-04-29
|
* python: strip superfluous single quote from copyright noticesGravatar Justus Winter2012-04-29
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: add copyright and licensing information to setup.pyGravatar Justus Winter2012-04-29
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: stylistic and pep8 fixes in setup.pyGravatar Justus Winter2012-04-29
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: update the long description in setup.pyGravatar Justus Winter2012-04-29
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: fix the test asserting that reading the version succeededGravatar Justus Winter2012-04-29
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: simplify a path expression in setup.pyGravatar Justus Winter2012-04-29
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: Remove unused import from setup.pyGravatar Justus Winter2012-04-29
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* emacs: do not modify subject in search or showGravatar Jameson Graef Rollins2012-04-28
| | | | | | | | | | | | | A previous patch [0] replaced blank subject lines with '[No Subject]' in search and show mode. Apparently this was needed to circumvent some bug in the printing code, but there was no need for it search or show, and it is definitely not desirable, so we undo it here (a revert is no longer feasible). We should not be modifying strings in the original message without good reason, or without a clear indication that we are doing so, neither of which apply in this case. For further discussion see [0]. [0] id:"1327918561-16245-3-git-send-email-dme@dme.org"
* 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.