aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* emacs: do not call `notmuch-hello-mode' on updateGravatar Dmitry Kurochkin2011-12-20
| | | | | | | | | | | `notmuch-hello' should call `notmuch-hello-mode' function only when run for the first time. But before the change, `notmuch-hello' used `kill-all-local-variables' to remove editable widgets fields. This caused the major mode to be reset, and `notmuch-hello-mode' to be called every time. The patch manually deletes all editable widget fields and removes `kill-all-local-variables' call.
* test: add broken test for `notmuch-hello-mode-hook' called during updateGravatar Dmitry Kurochkin2011-12-20
| | | | | Test that `notmuch-hello-mode-hook' is not called during `notmuch-hello' buffer updates. The test is currently broken.
* test: add test for `notmuch-hello-mode-hook'Gravatar Dmitry Kurochkin2011-12-20
| | | | | Test that `notmuch-hello-mode-hook' is called once when `notmuch-hello' function is called.
* test: add `notmuch-hello-mode-hook-counter'Gravatar Dmitry Kurochkin2011-12-20
| | | | | | | Add `notmuch-hello-mode-hook-counter' hook to count how many times `notmuch-hello-mode-hook' was called. The counter function increments `notmuch-hello-mode-hook-counter' variable value if it is bount, otherwise it does nothing.
* Add an argument to notmuch-mua-mailGravatar Aaron Ecay2011-12-18
| | | | | | | | | | | | | | | | | | | | | From the emacs changelog: ** `compose-mail' now accepts an optional 8th arg, RETURN-ACTION, and passes it to the mail user agent function. This argument specifies an action for returning to the caller after finishing with the mail. This is currently used by Rmail to delete a mail window. Under Emacs 24, notmuch breaks when this argument is passed to it by a function in another part of Emacs. One example of a functon that does this is report-emacs-bug -- so notmuch users cannot file emacs bug reports! This patch also adds a &rest argument to the arg-list of this function, to future-proof against such changes. This is adapted from the approach taken by message-mail, a similar function built into emacs. This patch was originally submitted by richardmurri@gmail.com on Aug. 1: id:"877h6x6oor.fsf@veracitynetworks.com"
* build-system: use a shell variable for TMPFILE in debian-snapshotGravatar David Bremner2011-12-18
| | | | | | | | | | | | | | | Aaron Ecay points out in id:"1324136185-4509-1-git-send-email-aaronecay@gmail.com" that the mktemp in debian-snapshot: TMPFILE := $(shell mktemp) Is being evaluated for every target. As best I can tell, this is because make is evaluating the right hand side, even though it is not doing the assignment. Of course, it isn't quite as nice to edit with the line continuations, but it is ideomatic make.
* test: optionally print subtest numberGravatar David Bremner2011-12-18
| | | | | | | The idea is that $test_count could be used in tests to label intermediate files. The output enabled by this patch (and --debug) helps figure out which OUTPUT.nn file belongs to which test in case several subtests write to OUTPUT.$test_count
* Fix build with binutils-2.22Gravatar Thomas Jost2011-12-17
| | | | | | | | | | | | | | | | | | | binutils-2.22 changes the behaviour of ld by defaulting to --no-copy-dt-needed-entries, which means that required objects/libs are not "indirectly" linked through intermediate objects/libs anymore. As a consequence, when using binutils-2.22, building symbol-test fails with the following error: /usr/bin/ld: test/symbol-test.o: undefined reference to symbol 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' /usr/bin/ld: note: 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' is defined in DSO /usr/lib/libstdc++.so.6 so try adding it to the linker command line /usr/lib/libstdc++.so.6: could not read symbols: Invalid operation An easy fix is to link using CXX instead of CC.
* Ignore dynamic libraries on OS X.Gravatar Aaron Ecay2011-12-17
| | | | Parallel to ignoring .so for linux.
* emacs: Add notmuch-hello-mode-hookGravatar Ivy Foster2011-12-16
| | | | Functions called after entering `notmuch-hello-mode'
* emacs: Document notmuch-show-get-message-propertiesGravatar Daniel Schoepe2011-12-16
|
* emacs: Add a face for crypto parts headersGravatar Thomas Jost2011-12-15
| | | | | | Commit cb841878 introduced new parts handlers for crypto parts, but also hardcoded values for their headers face. This replaces these hardcoded values with a customizable face.
* Revert "test: add emacs test for hiding a message following an HTML part"Gravatar David Bremner2011-12-15
| | | | | | | | | | | This reverts commit c6a3a768fef9f59f483af04f4418d350efc27968. This test is unreliable, showing BROKEN in some environments and FIXED in others. The confusion seems to outweigh the benefits, for now. Conflicts: test/emacs
* notmuch: unref charset_filter to fix one memory leakGravatar Tomi Ollila2011-12-15
| | | | | | In my test case added g_object_unref(charset_filter) reduces memory consumption over 90% when 'notmuch show --format=text "*"' is executed (~11000 messages, RES ~330M -> ~25M).
* emacs: support "notmuch new" as a notmuch-poll-scriptGravatar Jani Nikula2011-12-15
| | | | | | | | | | | Support nil value for notmuch-poll-script to run "notmuch new" instead of an external script, and make this the new default. "notmuch new" is run using the configured notmuch-command. This allows taking better advantage of the "notmuch new" hooks from emacs without intermediate scripts. Signed-off-by: Jani Nikula <jani@nikula.org>
* debian: add upstream-tag and fix debian-tag configs for git-buildpackageGravatar Jameson Graef Rollins2011-12-15
| | | | Debian tags have been using '/', instead of '-' as a separator.
* command-line-arguments.[ch]: make arrays of keyword descriptors constGravatar David Bremner2011-12-13
| | | | | It seems like it should never be necessary to modify these arrays after initialization.
* test: add arg-test to .gitignoreGravatar David Bremner2011-12-12
| | | | This should have been done when the binary was added, oops.
* build-system: clean $(libutil_modules) rather than listing them individually.Gravatar David Bremner2011-12-12
| | | | This matches the way the other 'Makefile.local's work.
* cli: factor out config handling code to get/set lists.Gravatar David Bremner2011-12-12
| | | | | | Two new internal routines are created _config_get_list and _config_set_list; the notmuch_config_get_* functions that deal with lists are simply wrappers for these functions.
* test: add tests for hooksGravatar Jani Nikula2011-12-11
| | | | Signed-off-by: Jani Nikula <jani@nikula.org>
* cli: add support for pre and post notmuch new hooksGravatar Jani Nikula2011-12-11
| | | | | | | | | | | | | | Run notmuch new pre and post hooks, named "pre-new" and "post-new", if present in the notmuch hooks directory. The hooks will be run before and after incorporating new messages to the database. Typical use cases for pre-new and post-new hooks are fetching or delivering new mail to the maildir, and custom tagging of the mail incorporated to the database. Also add command line option --no-hooks to notmuch new to bypass the hooks. Signed-off-by: Jani Nikula <jani@nikula.org>
* cli: introduce the concept of user defined hooksGravatar Jani Nikula2011-12-11
| | | | | | | | | | | | Add mechanism for running user defined hooks. Hooks are executables or symlinks to executables stored under the new notmuch hooks directory, <database-path>/.notmuch/hooks. No hooks are introduced here, but adding support for a hook is now a simple matter of calling the new notmuch_run_hook() function at an appropriate location with the hook name. Signed-off-by: Jani Nikula <jani@nikula.org>
* test: use python2 instead of python if availableGravatar Thomas Jost2011-12-11
| | | | | | Some distros (Arch Linux) ship Python as python2 and Python 3 as python. Checking for python2 is necessary for the Python tests to work on these platforms.
* test: add a function to run Python testsGravatar Thomas Jost2011-12-11
| | | | | | | | | | | | | The new test_python() function makes writing Python tests a little easier: - it sets the environment variables as needed - it redirects stdout to the OUTPUT file (like test_emacs()). This commit also declares python as an external prereq. The stdout redirection is required to avoid trouble when running commands like "python 'script' | sort > OUTPUT": in such a case, any error due to a missing external prereq would be "swallowed" by sort, resulting to a failed test instead of a skipped one.
* Release memory allocated by internet_address_list_parse_string()Gravatar Tomi Ollila2011-12-11
| | | | | | g_object_unref() releases the memory of the InternetAddressList object returned by internet_address_list_parse_string() -- when last (only) reference is released, internet_address_list_finalize() will do cleanup.
* test: cleanup gdb external dependency in atomicity testsGravatar Dmitry Kurochkin2011-12-11
| | | | | Change atomicity tests to use the new external binary dependencies. This simplifies the code and makes output consistent.
* notmuch-search: convert to command-line-argumentsGravatar David Bremner2011-12-08
| | | | | | The switch on format_sel is slightly clunky, but it doesn't seem worth special casing argument processing for function pointers, when I think the function pointer approach will be modified/abandoned.
* notmuch-restore: convert to command-line-argumentsGravatar David Bremner2011-12-08
| | | | | | The new argument handling is a bit more concise, and bit more flexible. It allows the input file name to go before the --accumulate option.
* notmuch-dump: convert to command-line-argumentsGravatar David Bremner2011-12-08
| | | | | The output file is handled via positional arguments. There are currently no "normal" options.
* test: tests for command-line-arguments.cGravatar David Bremner2011-12-08
| | | | | This was needed because no current notmuch code exercises the NOTMUCH_OPT_STRING style arguments.
* command-line-arguments.[ch]: new argument parsing framework for notmuch.Gravatar David Bremner2011-12-08
| | | | | | | | | | As we noticed when Jani kindly converted things to getopt_long, much of the work in argument parsing in notmuch is due to the the key-value style arguments like --format=(raw|json|text). The framework here provides positional arguments, simple switches, and --key=value style arguments that can take a value being an integer, a string, or one of a set of keywords.
* json: date_relative for threadsGravatar pazz2011-12-07
| | | | | include the date_relative field in the json formated output of notmuch search
* test: date_relative in notmuch search json outputGravatar pazz2011-12-07
| | | | | | | | expect the date_relative field for thread entries in notmuch search's json output note from Commiter: we don't have to worry about the date changing because the date in question is more than 180 days old.
* emacs: do not call notmuch show for non-inlinable partsGravatar Dmitry Kurochkin2011-12-07
| | | | | | | | | | | | | | Before the change, there was a workaround to avoid notmuch show calls for parts with application/* Content-Type. But non-inlinable parts are not limited to this Content-Type (e.g. mp3 files have audio/mpeg Content-Type and are not inlinable). For such parts `notmuch-show-insert-part-*/*' handler is called which unconditionally fetches contents for all parts. The patch moves content fetching from `notmuch-show-insert-part-*/*' to `notmuch-show-mm-display-part-inline' function after MIME inlinable checks are done to avoid useless notmuch show calls. The application/* hack is no longer needed and removed.
* test: check that Emacs UI does not call notmuch for non-inlinable partsGravatar Dmitry Kurochkin2011-12-07
| | | | | | | | | | The patch adds two new test cases: * Do not call notmuch for non-inlinable application/mpeg parts * Do not call notmuch for non-inlinable audio/mpeg parts The application/mpeg test passes thanks to a workaround for application/* Content-Types. The audio/mpeg is currently broken.
* test: add functions to count how much times notmuch was calledGravatar Dmitry Kurochkin2011-12-07
| | | | | | | | | | | | | | | | The patch adds two auxiliary functions and a variable: notmuch_counter_reset $notmuch_counter_command notmuch_counter_value They allow to count how many times notmuch binary is called. notmuch_counter_reset() function generates a script that counts how many times it is called and resets the counter to zero. The function sets $notmuch_counter_command variable to the path to the generated script that should be called instead of notmuch to do the counting. The notmuch_counter_value() function returns the current counter value.
* emacs: remove unused variable in `notmuch-show-insert-part-message/rfc822'Gravatar Dmitry Kurochkin2011-12-07
| | | | | An obvious cleanup. I wonder why there was no warning about this during compilation.
* emacs: remove some code duplication in notmuch-showGravatar Dmitry Kurochkin2011-12-07
| | | | | | Add optional props argument to `notmuch-show-get-header'. Use it to get headers in `notmuch-show-insert-part-multipart/signed' and `notmuch-show-insert-part-multipart/encrypted'.
* test/symbol-hiding: compare exported symbols with existing oneGravatar David Bremner2011-12-07
| | | | | We assume that any symbol starting with notmuch_ in lib/*.o should be exported, and that only those symbols should be exported.
* test/symbol-hiding: add some whitespace between testsGravatar David Bremner2011-12-07
| | | | This is in preparation for adding a third test to this file
* Merge branch 'release'Gravatar David Bremner2011-12-06
|\ | | | | | | | | | | | | Conflicts: NEWS Conflicts resolved by inserting the 0.10.2 stanza before 0.11
* | fix format string in Message.__unicode__Gravatar Patrick Totzke2011-12-06
| | | | | | | | | | | | | | Since 2b0116119160f2dc83, Message.__str__ doesn't construct a hash containing the thread data before constructing the formatstring. This changes the formatstring to accept positional parameters instead of a hash.
* | contrib/.gitattributes: removeGravatar David Bremner2011-12-06
| | | | | | | | | | Now that licensing of notmuch-deliver has been harmonized with notmuch, there is no reason not to export it.
* | notmuch-deliver: GPL-3+Gravatar Ali Polatel2011-12-06
| |
* | notmuch-deliver: Import from maildrop-2.5.5Gravatar Ali Polatel2011-12-06
| | | | | | | | | | maildrop-2.5.5 is GPL-3. No change in functionality, just a precaution before relicensing.
* | make release: remove LATEST-$(PACKAGE)-*Gravatar Tomi Ollila2011-12-06
| | | | | | | | | | | | | | The tar file of particular package (notmuch in this case) is named as $(PACKAGE)-$(VERSION).tar.gz. Therefore the best way to remove previous link to LATEST is to remove all files beginning with LATEST-$(PACKAGE)- and not relying how $(VERSION) string is constructed.
* | have LATEST-notmuch-<version>.tar.gz on releases web pageGravatar Tomi Ollila2011-12-06
| | | | | | | | | | | | | | | | | | | | The notmuchmail/releases page used to have LATEST-notmuch-<version> to link to the latest notmuch source tarball. This is confusing on web page and on disk when the file has been downloaded. This change looks a bit inconsistent with the 'rm' command just executed before. $(TAR_FILE) is defined (currently) as $(PACKAGE)-$(VERSION).tar.gz; as long as the prefix stays $(PACKAGE)-$(VERSION) and version begins with a digit then this line is good in execution point of view.
* | test: add test-binaries targetGravatar David Bremner2011-12-06
| | | | | | | | | | The goal here is to have a simple way of making sure all of the binaries needed to run tests are available.
* | python: Remove stray debug commentGravatar Sebastian Spaeth2011-12-06
| | | | | | | | | | | | This slipped in wrongly in commit 71e0082eff (due to my fault). Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>