aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-18cli: close config and do talloc report also on errorsJani Nikula
Seems like the sensible thing to do.
2014-01-18cli: clean up exit status code returned by the cli commandsJani Nikula
Apart from the status codes for format mismatches, the non-zero exit status codes have been arbitrary. Make the cli consistently return either EXIT_SUCCESS or EXIT_FAILURE.
2014-01-18emacs: tree: use tag-format-tagsMark Walters
Previously tree did not use tag-format-tags: since tree wants to distinguish matching messages from non-matching messages it is not a perfect fit. However, in preparation for allowing tag-changes to be shown (i.e., added or deleted tags to be indicated) it is convenient to make all places displaying tags call the same routines. We modify notmuch-tag-format-tags slightly so that it can take and argument for the default characteristics of the face before the special tag features are applied. This also means that things like the star symbol for flagged messages all work in tree.
2014-01-18emacs: tree: default face for matching/non-matching messagesMark Walters
This adds default faces for matching and non-matching messages. This makes it easier for a user to do broad customization without having to customize every field. It also fits more neatly with the next patch which switches to using notmuch-tag-format-tags for tag formatting. We set the field specific face customization to nil for all the fields which use the message default face to make it clear to a user which fields customizations are being used.
2014-01-18test: leave T\d\d\d- in variable $this_test and introduce $this_test_bareTomi Ollila
Script `notmuch-test` expects the results file have T\d\d\d- part intact so the results files (and some test output files) are now name as such. Without this change `notmuch-test` will exit in case the test script it was executing exited with nonzero value. The T\d\d\d- part is dropped in new variable $this_test_bare which is used in progress informational messages and when loading .el files in emacs tests (whenever $this_test_bare.el exists).
2014-01-18lib: fix clang compiler warningJani Nikula
With some combination of clang and talloc, not using the return value of talloc_steal() produces a warning. Ignore it, as talloc_steal() has no failure modes per documentation.
2014-01-13test: add test for syntax of emacs test libraryDavid Bremner
If there is a syntax error in the emacs test library, it causes other tests to hang or crash without a useful error message. This test could be eliminated if the error reporting for emacs tests was somehow improved.
2014-01-13cli: initialize quiet variable in compactJani Nikula
Surprisingly there's no compiler warning!
2014-01-13test: renamed test scripts to format T\d\d\d-name.shTomi Ollila
All test scripts to be executed are now named as T\d\d\d-name.sh, numers in increments of 10. This eases adding new tests and developers to see which are test scripts that are executed by test suite and in which order.
2014-01-13test: basic: drop 'ensure all available tests are run'Tomi Ollila
When naming test scripts in format 'T\d\d\d-name.sh' the list of tests to run are created dynamically. This makes test 'Ensure that all available tests will be run by notmuch-test' in test/basic obsolete.
2014-01-13emacs: tree remove comma separator tagsMark Walters
Previously the tags on each line in tree view were separarted by ", " not just " ". This is different from show and search views. This patch removes this comma. This is a large patch as essentially every line of each of the expected outputs in the tree tests needs updating. Apart from aesthetic reasons this simplifies the switch to notmuch-tag-format-tags in the next patch.
2014-01-13build: remove trailing '/.' when doing mkdir -p .deps/.Tomi Ollila
When make variable $@ does not contain directory part, $(@D) resolves as '.'. In this case .deps/$(@D) is '.deps/.' In some systems `mkdir [-p] directory/.` fails. To make this compatible with more system substitute trailing '/.' (slashdot) with '' (empty string) whenever it occurs there.
2014-01-13emacs: Makefile.local: HAVE_EMACS usage fixesTomi Ollila
If we don't have emacs, disable targets that used EMACS while doing the recipes of that target. If we do have emacs, make install-emacs depend on *.elc files, as making the target will attempt to install those.
2014-01-12Merge tag 'debian/0.17-3'David Bremner
uploaded to Debian unstable
2014-01-12debian: add single-debian-patchDavid Bremner
The point of fancy patch systems is to share things with upstream. We have met the upstream and he is us.
2014-01-12debian: finalize changelog for 0.17-3David Bremner
2014-01-12test/emacs: replace the use of process-attributes with signal-processDavid Bremner
In some environments (at least Hurd), process-attributes is unimplimented and always returns nil. This ends up causing test failures (see e.g. id:87a9ffofsc.fsf@zancas.localnet). Historically and according to POSIX 1003.1-2001, a signal of 0 can be used to check the validity of a pid. This seems less heinous than parsing the output of ps(1).
2014-01-12debian: update notmuch-emacs for emacs policy 2.0.6David Bremner
This involves - the meta-flavour emacs has gone away - a compat file is needed (also installed by dh_installemacsen) - a conflict with pre-2.0.0 emacsen-common - manually managing the "installed" semaphore file
2014-01-05lib: modify notmuch.h for automatic document generationJani Nikula
Minimal changes to produce a sensible result.
2014-01-05devel: add doxygen configuration fileJani Nikula
This is a pretty basic config to get started, generated using 'doxygen -s -g' and mildly tweaked. To generate the library man page man/man3/notmuch.3 from lib/notmuch.h use: $ doxygen devel/doxygen.cfg
2014-01-03insert: respect maildir.synchronize_flagsJani Nikula
Don't synchronize maildir flags if the user doesn't want it.
2014-01-03test: notmuch insert with maildir.synchronize_flags=falseJani Nikula
Known broken, notmuch insert does not respect the config option.
2014-01-03emacs: tree: bare-id in treeMark Walters
Previously notmuch-tree-get-message-id always returned the id including the prefix "id:". Modify the function to take an optional `bare' argument saying to return the raw string. This will be useful later and brings the function in line with notmuch-show-get-message-id.
2014-01-03test: tree: pick remnants removedMark Walters
Some no longer needed traces of pick remain in the emacs-tree test. Remove these.
2014-01-01Merge tag 'debian/0.17-2'David Bremner
uploaded to unstable
2014-01-01debian: rename NEWS.Debian to NEWSdebian/0.17-2David Bremner
Apparently I had it backwards: NEWS is installed as NEWS.Debian, not vice-versa.
2013-12-30Merge tag '0.17'David Bremner
notmuch 0.17 release
2013-12-30devel/release-checks.sh: adjust to LIBNOTMUCH version checksdebian/0.17-10.17Tomi Ollila
NOTMUCH_VERSION_* macros in lib/notmuch.h are replaced with LIBNOTMUCH_VERSION_* macros. Check that the values of those match the LIBNOTMUCH_*_VERSION values in lib/Makefile.local.
2013-12-30version: bump to 0.17David Bremner
2013-12-30debian: add changelog and NEWS.Debian for releaseDavid Bremner
NEWS.Debian is displayed at install, so we include the news item about the disruptive change in sha1 computation.
2013-12-30debian: disable atomicity tests on ia64David Bremner
The following fails on Debian ia64: % gdb /bin/mv (gdb) break rename Since this breaks our atomicity test, disable them until someone is motivated to figure out whose fault that is.
2013-12-28Merge tag '0.17_rc4'David Bremner
notmuch 0.17~rc4 release
2013-12-28version: bump to 0.17~rc4David Bremner
Unfortunately release-checks.sh will whine a bit because it has not caught up with the renaming of the version macros.
2013-12-28test: Fix transient error in 'new' testAustin Clements
This fixes a non-deterministic failure in "Ignore files and directories specified in new.ignore (multiple occurrences)". The test assumed that all directories would be scanned, even though nothing updated the mtime of ${MAIL_DIR}. It *usually* worked nevertheless because the tests run quickly enough that the directory mtime is usually the same as the current time, so notmuch new does not update the mtime in the database (because more changes could occur in the same second). However, when it occasionally did update the mtime in the database, the notmuch new call in this test would (correctly) skip "pass 2" of scanning ${MAIL_DIR}, causing it to skip the following expected lines: (D) add_files_recursive, pass 2: explicitly ignoring ${MAIL_DIR}/.git (D) add_files_recursive, pass 2: explicitly ignoring ${MAIL_DIR}/.ignored_hidden_file (D) add_files_recursive, pass 2: explicitly ignoring ${MAIL_DIR}/ignored_file This patch fixes this problem by touching ${MAIL_DIR} to ensure it gets scanned and by rearranging the test to ensure the directories are touched immediately before the main notmuch new call in the test.
2013-12-22test: remove call to notmuch-hello from emacs_deliver_messageDavid Bremner
There is an obscure bug in notmuch-hello that very occasionally causes emacs_deliver_message to fail. Since it it doesn't serve any actual purpose in the function we delete it, and leave tracking down the the bug for another day.
2013-12-22test: add emacs_fcc_message that does not use smtp-dummyDavid Bremner
Most of the tests previously using emacs_deliver_message do not use the actual transmitted message, so we replace it with a simpler (and presumably more reliable function) that only saves (and indexes) an fcc copy of the message.
2013-12-10perf-test: bump version to 0.4, use manifest filesDavid Bremner
The new revision of the performance test includes manifests for each corpus, so update the support library to use these manifests at the same time.
2013-12-10emacs: add '?' to some prefix keymaps to describe its bindingsMark Walters
Added function notmuch-subkeymap-help to describe keybindings of a subkeymap (eg after . or c in notmuch-search and notmuch-show).
2013-12-09test: implement and document NOTMUCH_TEST_QUIET variable usageTomi Ollila
When NOTMUCH_TEST_QUIET environment variable is set to non-null value messages when new test script starts and when test PASSes are disabled. This eases picking the cases when tests FAIL (as those are still printed).
2013-12-09test: print empty line at the beginning of test script, not at endTomi Ollila
In preparation for quiet mode print empty line before writing the test description. This is done now in function designed for it -- it will also be called when test fails.
2013-12-09test: resolve `basename "$0" .sh` once for all in test-lib.shTomi Ollila
test-lib.sh sometimes did equivalent of `basename "$0" .sh`, sometimes skipping the basename part and sometimes .sh part. This worked as we never had path components in $0 (more than ./) nor .sh ending. Now the equivalent of `basename "$0" .sh` is done once and used everywhere. In the future we may have .sh suffix in test names -- removing those is a good idea.
2013-12-09test: give unique timestamps to messagesDavid Bremner
The choice of decreasing timestamps is a hack which reduces the number of existing tests which fail. This can be changed to increasing if/when somebody wants update another 47 tests.
2013-12-09test: sanitize dates in emacs, raw, and text outputDavid Bremner
add a new function notmuch_date_sanitize for rfc822-ish things. Add date sanitization to notmuch_show_sanitize_all and use it more places. This is all in aid of a transition to unique timestamps on messages.
2013-12-09test: sanitize Date and timestamp fields in jsonDavid Bremner
Eventually we want test messages to have distinct dates to avoid reproducability problems. This sanitization will prevent some test failures when that change is made. Replace the use of a local function in maildir-sync with notmuch_json_show_sanitize
2013-12-09test: pass expected output through json_sanitize in 2 placesDavid Bremner
This makes the tests more robust against changes in the sanitization rules.
2013-12-07version: bump versionDavid Bremner
Roll (one last?) release candidate because of Austin's LIBNOTMUCH_VERSION changes. Atomically bump the manually (NEWS, debian/changelog) and automatically (everywhere else) updated places version is mentioned.
2013-12-07lib: Bump library version from 3.0.0 to 3.1.0Austin Clements
This version of the library introduces LIBNOTMUCH_CHECK_VERSION and the *_VERSION macros. Bumping the version number is also necessary to make the comment on LIBNOTMUCH_CHECK_VERSION no longer a lie.
2013-12-07lib: Replace NOTMUCH_*_VERSION with LIBNOTMUCH_*_VERSIONAustin Clements
This makes it clear that these macros refer to the *library* version, and not to the notmuch application-level release. Since there are no consumers of these macros yet, this is now or never.
2013-12-07lib: Make VERSION macros agree with soname versionAustin Clements
We have two distinct "library version" numbers: the soname version and the version macros. We need both for different reasons: the version macros enable easy compile-time version detection (and conditional compilation), while the soname version enables runtime version detection (which includes the version checking done by things like the Python bindings). However, currently, these two version numbers are different, which is unnecessary and can lead to confusion (especially in things like Debian, which include the soname version in the package name). This patch makes them the same by bumping the version macros up to agree with the soname version. (We should probably keep the version number in just one place so they can't get out of sync, but that can be done in another patch.)
2013-12-01News updates for Mark's bugfixesMark Walters