aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* cli: config: make notmuch_config_open() "is new" parameter input onlyGravatar Jani Nikula2013-03-07
| | | | | | | | We now have a notmuch_config_is_new() function to query whether a config was created or not. Change the notmuch_config_open() is_new parameter into boolean create_new to determine whether the function should create a new config if one doesn't exist. This reduces the complexity of the API.
* cli: config: keep track of whether the config is newly createdGravatar Jani Nikula2013-03-07
| | | | | | | | Keep track of whether the config is newly created, and add notmuch_config_is_new() accessor function to query this. This is to support anyone with a config handle to check this, instead of just whoever called notmuch_config_open().
* cli: plug main notmuch command into subcommand machineryGravatar Jani Nikula2013-03-07
| | | | | | This allows top level arguments to be added to notmuch in a way that doesn't require special handling for the plain notmuch command without a subcommand.
* cli: abstract subcommand finding into a new functionGravatar Jani Nikula2013-03-07
| | | | Clean up code.
* test/README: mention the test_expect_equal_json and *sanitize* functionsGravatar Aaron Ecay2013-03-07
| | | | also fix one typo
* nmbug: allow empty prefixGravatar David Bremner2013-03-02
| | | | | | | Current code does not distinguish between an empty string in the NMBPREFIX environment variable and the variable being undefined. This makes it impossible to define an empty prefix, if, e.g. somebody wants to dump all of their tags with nmbug.
* nmbug: replace hard-coded magic hash with git-hash-objectGravatar David Bremner2013-03-02
| | | | | | This is at least easier to understand than the magic hash. It may also be a bit more robust, although it is hard to imagine these numbers changing without many other changes in git.
* nmbug: use 'notmuch tag --batch'Gravatar David Bremner2013-03-02
| | | | | | | | This should be more robust with respect to tags with whitespace and and other special characters. It also (hopefully) fixes a remaining bug handling message-ids with whitespace. It should also be noticeably faster for large sets of changes since it does one exec per change set as opposed to one exec per tag changed.
* nmbug: use dump --format=batch-tagGravatar David Bremner2013-03-02
| | | | | | | This should make nmbug tolerate tags with whitespace and other special characters it. At the moment this relies on _not_ passing calls to notmuch tag through the shell, which is a documented feature of perl's system function.
* man: show and reply --decrypt option requires gpg-agentGravatar Jani Nikula2013-03-02
|
* cli: crypto: tell gmime to use gpg-agentGravatar Jani Nikula2013-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | For decryption, we expect there to be a functioning gpg-agent, and we want gpg to talk to it for any needed credentials. There's a gmime function to declare that: g_mime_gpg_context_set_use_agent() [1], [2]. Start using it. I had gpg-agent running, but gpg "use-agent" configuration option disabled. This resulted in an error message from 'notmuch show': Failed to decrypt part: Canceled. and json had this: "encstatus" : [ { "status" : "bad" } ] One could argue the "use-agent" option should be enabled, but I'd like to use the agent only as a last resort. I think that's irrelevant though. There's a gmime function to declare what we expect, so we should use it. Conveniently it also fixes the problem in a user friendly way. [1] http://git.gnome.org/browse/gmime/commit/?id=ed985397843a9da3745a8b5de3d1d652acd24724 [2] https://bugzilla.gnome.org/show_bug.cgi?id=651826
* NEWS: one typo fixed and 0.15.1 header line tidied upGravatar Tomi Ollila2013-02-27
|
* Merge branch 'release'Gravatar David Bremner2013-02-18
|\ | | | | | | | | | | | | add in NEWS from 0.15.2 Conflicts: NEWS
* | devel/release-checks.sh: added check that 1st NEWS header is tidyGravatar Tomi Ollila2013-02-18
| | | | | | | | | | | | | | Check that the underlining '===...' for first (header) line in NEWS file is of the same length as the header text and it is all '=':s. -- extra execs removed by db.
* | ruby: Add bindings for notmuch_thread_get_messagesGravatar Austin Clements2013-02-18
| |
* | lib: Add an iterator over all messages in a threadGravatar Austin Clements2013-02-18
| | | | | | | | | | | | | | | | Previously, getting the list of all messages in a thread required recursively traversing the thread's message hierarchy, which was both difficult and resulted in messages being out of order. This adds a public function to retrieve an iterator over all of the messages in a thread in oldest-first order.
* | lib: Eliminate _notmuch_message_list_appendGravatar Austin Clements2013-02-18
| | | | | | | | | | This API invited micro-optimized and complicated list pointer manipulation and is no longer used.
* | lib: Separate list of all messages from top-level messagesGravatar Austin Clements2013-02-18
| | | | | | | | | | | | | | | | | | | | | | | | Previously, thread.cc built up a list of all messages, then proceeded to tear it apart to transform it into a list of top-level messages. Now we simply build a new list of top-level messages. This simplifies the interface to _notmuch_message_add_reply, eliminates the pointer acrobatics from _resolve_thread_relationships, and will enable us to do things with the list of all messages in the following patches.
* | lib: Clean up error handling in _notmuch_thread_createGravatar Austin Clements2013-02-18
| | | | | | | | | | | | | | Previously, there were various opportunities for memory leaks in the error-handling paths of this function. Use a local talloc context and some reparenting to make eliminate these leaks, while keeping the control flow simple.
* | test/test-lib.sh: separate signaled exitGravatar Tomi Ollila2013-02-18
| | | | | | | | | | | | | | When execution of tests is interrupted by signal coming outside of the test system itself, output just one line "interrupted by signal <num>" message to standard output. This distinguishes the case from internal exit and reduces noise.
* | test/test-lib.sh: use $test_subtest_name in all testsGravatar Tomi Ollila2013-02-18
| | | | | | | | | | | | | | | | | | Set the variable '$test_subtest_name' in all functions which starts a new test and use that variable in all functions that output test results. Additionally output the latest '$test_subtest_name' in case of abnormal exit, to avoid confusion.
* | emacs: show: make buttons select windowGravatar Mark Walters2013-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Emacs has two button type objects: widgets (as used for saved searches in notmuch-hello) and buttons as used by parts/citations and id links in notmuch-show. These two behave subtly differently when clicked with the mouse: widgets select the window clicked before running the action, buttons do not. This patch makes all of these behave the same: clicking always selects the clicked window. It does this by defining a notmuch-button-type supertype that the other notmuch buttons can inherit from. This supertype binds the mouse-action to select the window and then activate the button.
| * bump versions to 0.15.2Gravatar David Bremner2013-02-17
| |
| * debian: changelog stanza for 0.15.2-1Gravatar David Bremner2013-02-17
| |
| * NEWS: News for 0.15.2Gravatar David Bremner2013-02-17
| | | | | | | | Another couple of build fixes.
* | notmuch-mutt: improve robustness of mutt macrosGravatar Kevin J. McCarthy2013-02-16
| | | | | | | | | | | | | | | | | | Details: - $pipe_decode is turned off, to prevent message-id from being filtered out by "ignore" settings in the muttrc. - Original values for $pipe_decode and $wait_key are saved and restored. - The macros, being much longer now, are line wrapped for improved readability.
* | notmuch-mutt: Use of uninitialized value.Gravatar Stefano Zacchiroli2013-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Thu, Feb 14, 2013 at 12:36:58AM +0100, Profpatsch wrote: > On 13-02-13 02:35pm, Kevin J. McCarthy wrote: > > A more likely idea is to check whether you have $pipe_decode set. > > BRILLIANT! > So much for copying a basic rc from someone else. > Of course, that was it and I’m officially an idiot. Neat, thanks Kevin for debugging the issue down to $pipe_decode (which I've never used, mutt never stops to amaze me :-)). > And apparently Mail::Internet errors out if there is no Message-ID. > (Which mentioned in the docs at CPAN…) > > Mystery solved. Right, but still a more graceful failure model would be nice. Please find attached a patch that in such cases should 1) give a supposedly nice error message explaining what's going on and 2) empty the results dir to avoid showing you unrelated results. It works for me. But extra checking never hurts, in particular for the tag action, which I don't personally use. I guess it would also be nice to actually disable $pipe_decode in the relevant Mutt macros, but I'm not sure about to do that without interfering with user desired configuration. Kevin: do you know if there is a common Mutt trick to store the value of a variable before changing it, and restoring it a posteriori? More isolation for this kind of things in Mutt would definitely be welcome... Cheers. -- Stefano Zacchiroli . . . . . . . zack@upsilon.cc . . . . o . . . o . o Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o Debian Project Leader . . . . . . @zack on identi.ca . . o o o . . . o . « the first rule of tautology club is the first rule of tautology club » From b67ab95855ce7d279d8c0b3ddcbc20e679afc70b Mon Sep 17 00:00:00 2001 From: Stefano Zacchiroli <zack@upsilon.cc> Date: Thu, 14 Feb 2013 09:31:37 +0100 Subject: [PATCH] notmuch-mutt: more graceful handling of missing Message-Id errors in particular: - the "thread" action would print an error and empty results dir - the "tag action would print an error
* | debian: stop building a binary package for notmuch-vimGravatar David Bremner2013-02-16
| | | | | | | | | | Since it is deprecated upstream, we don't want to encourage more users to install it.
* | notmuch-vim: deprecate, move to contribGravatar David Bremner2013-02-16
| | | | | | | | | | | | As discussed in id:871udhcmks.fsf@zancas.localnet, notmuch-vim doesn't really meet the standards of the CLI, emacs interface, or python bindings in terms of being well maintained.
* | nmbug: move from contrib to develGravatar David Bremner2013-02-16
| | | | | | | | | | | | | | There seems to be consensus to use presence in contrib as documentation of limited support by the notmuch developers; in fact nmbug is pretty integrated into our current development process, so devel seems more appropriate.
* | bitmap:improve memory usage using CHAR_BITS and unsigned CHARGravatar Robert Mast2013-02-15
| | | | | | | | | | | | | | Using char instead of int allows for simpler definitions of the DOCIDSET macros so the code is easier to understand and consistent with respect to memory-usage. Estimated reduction of memory-usage for bitmap about 8 times.
* | nmbug: only push master branch on nmbug pushGravatar Jani Nikula2013-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nmbug pull only merges upstream master, but nmbug push tries to push all local branches. The asymmetry results in conflicts whenever there have been changes in the config branch in the origin: $ nmbug push To nmbug@nmbug.tethera.net:nmbug-tags ! [rejected] config -> config (non-fast-forward) error: failed to push some refs to 'nmbug@nmbug.tethera.net:nmbug-tags' hint: Updates were rejected because a pushed branch tip is behind its remote hint: counterpart. If you did not intend to push that branch, you may want to hint: specify branches to push or set the 'push.default' configuration hint: variable to 'current' or 'upstream' to push only the current branch. 'git push origin' exited with nonzero value To fix this, only push the master branch on nmbug push. Any config changes need to be done manually via git anyway.
* | CLI: add simple error handling for talloc loggingGravatar David Bremner2013-02-08
| | | | | | | | | | | | This really should have been there before. I think it's better to do the actual operation and then possibly fail writing the memory log, but it would not be too hard to change it to abort earlier.
* | man: document NOTMUCH_TALLOC_REPORT environment variableGravatar David Bremner2013-02-08
| |
| * test: delay watchdog checks in emacs.Gravatar David Bremner2013-01-29
| | | | | | | | | | | | | | | | | | Instead of checking immediately for the watched process, delay a minute, or in the case that process-attributes returns nil, for two minutes. This is intended to cope with the case that process-attributes is unimplimented, and returns always returns nil. In this case, the watchdog check is the same as the two minute limit imposed by timeout.
| * lib/Makefile.local: depend on libs we are linking withGravatar Amadeusz Żołnowski2013-01-29
| |
* | Merge branch 'release'Gravatar David Bremner2013-01-24
|\| | | | | | | | | | | | | Conflicts: NEWS Inserted news from 0.15.1
* | TODO: update entry on date range queriesGravatar Jani Nikula2013-01-24
| |
* | TODO: cleanup stuff that has been doneGravatar Jani Nikula2013-01-24
| | | | | | | | | | | | | | | | M-RET notmuch-show-open-or-close-all opens all closed messages. The archiving change is mentioned twice, remove dupe. "notmuch search" supports --format=text0 to work with xargs -0
| * debian: changelog stanza for 0.15.1-1Gravatar David Bremner2013-01-24
| |
| * NEWS: update for 0.15.1Gravatar David Bremner2013-01-24
| | | | | | | | Not much to report here, just the one patch
| * debian: re-enable testsGravatar David Bremner2013-01-24
| | | | | | | | | | Now that we have Tomi's fix to set TERM for dtach, it should be safe to run the tests on the autobuilders.
| * version: bump to 0.15.1Gravatar David Bremner2013-01-24
| | | | | | | | A simple bugfix release, no user visible changes
| * test/test-lib.sh: use vt100 as dtach terminal if TERM dumb or unset/emptyGravatar Tomi Ollila2013-01-24
| | | | | | | | | | | | | | | | | | | | | | | | The TERM environment variable is set to 'dumb' when running tests, but the original value of it is stored for echoing colors and running emacs (somewhat interactively) in detached session. Emacs requires some terminal control sequences to be available for interactive operation. In case original TERM is (also) 'dumb' (or unset/empty) emacs cannot run interactively. To fix this problem dtach (and emacs as it's child process) is run with TERM=vt100 in case original TERM was unset, empty or 'dumb'. This way there is a chance to run emacs tests with different user terminals and potentially find problems there.
* | python: fix the creation of notmuch databasesGravatar Justus Winter2013-01-23
| | | | | | | | | | | | | | Remove the superfluous mode argument given to notmuch_database_create fixing the creation of notmuch databases using python code. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* | man: document existing top level optionsGravatar David Bremner2013-01-22
| | | | | | | | | | | | The options --help and --version were not documented before. One could quibble about how useful that documentation is, but we will soon add more options.
* | CLI: convert top level argument parsing to use command-line-argumentsGravatar David Bremner2013-01-22
| | | | | | | | | | This isn't really a win for conciseness yet, but will make it easier to add options.
* | CLI: remove alias machinery, and "part", "search-tags" commandsGravatar David Bremner2013-01-22
| | | | | | | | | | | | The commands are long deprecated, so removal is probably overdue. The real motivation is to simplify argument handling for notmuch so that we can migrate to the common argument parsing framework.
* | emacs: don't use deprecated "notmuch search-tags" commandGravatar David Bremner2013-01-22
| | | | | | | | | | A followup patch will finally remove this command, so we need to stop using it.
* | NEWS: correction to section 0.15 for markdown processingGravatar Tomi Ollila2013-01-22
| | | | | | | | | | At the end of section 0.15 the strings TEST_EMACS & TEST_EMACSCLIENT are now put inside ``:s for better output after markdown processing.