aboutsummaryrefslogtreecommitdiffhomepage
path: root/contrib
Commit message (Collapse)AuthorAge
* notmuch-mutt: Fix tagging issuesGravatar Kevin J. McCarthy2013-09-08
| | | | | | | | | | | | | | | | | | This patch fixes three issues with "notmuch-mutt tag": 1. The message_id was not shell quoted. Thanks to Jason Miller for the bug report and patch. 2. The tags passed into tag_action() were not being properly quoted. The "join before shell_quote" was combining multiple tags into a single argument to notmuch tag: '+one -two -three' instead of '+one' '-two' '-three'. 3. A "--" was added between the tags and search-term as shown in the current notmuch-tag man page. Thanks to Tomi Ollila for suggesting the simple fix of using the list form of system(), which bypasses the shell.
* notmuch-mutt: use notmuch --duplicate flagGravatar Kevin McCarthy2013-09-08
| | | | | | | | | | Change notmuch-mutt to use the new --duplicate=1 flag for duplicate removal. This will remove duplicates based on message-id at the notmuch level. Previously we were using fdupes or generating sha sums after the search. This version will be faster, but will enable the possibility of hiding search results due to accidental/malicious duplicate message-ids.
* contrib: pick: test: buffer movementGravatar Mark Walters2013-09-04
|
* contrib: pick: test: stash message idGravatar Mark Walters2013-09-04
| | | | This is important to test as lots of subsequent tests will fail if this fails.
* contrib: pick: test: tag/untag whole threadGravatar Mark Walters2013-09-04
|
* contrib: pick: test: tag/untag single messageGravatar Mark Walters2013-09-04
|
* contrib: pick: test: refresh viewGravatar Mark Walters2013-09-03
| | | | | A recent proposed patch was buggy when refreshing the view. Add a test for refresh so that this does not reoccur.
* contrib: pick: add docstring for notmuch-pick-workerGravatar Mark Walters2013-09-03
|
* contrib: pick: remove unneeded variable notmuch-pick-buffer-nameGravatar Mark Walters2013-09-03
| | | | | | | | This variable is essentially unused: it was only used for making sure it itself got reset after a refresh of the buffer. It did this by passing an unnecessary argument to notmuch-pick-worker so remove that too.
* contrib: pick: bind M-p and M-n to prev/next threadGravatar Mark Walters2013-09-03
| | | | | | | | | | This adds functions to go to the previous or next thread to pick. Prev-thread behaves similarly to prev-message in show: if you are on the top line of a thread it will go to the top of the previous thread, otherwise it will go to the top of the current thread. Next thread will always go to the top of the next thread (or the end of buffer). These are bound to "M-p" and "M-n" by default (matching the bindings in show).
* contrib: pick: thread tagging (including archiving) implementedGravatar Mark Walters2013-09-03
| | | | | | | Previously pick had no actions based on the entire thread: this adds some. Note in this version '*' is bound to `tag thread' which is not consistent with search or show. However it still might be the most natural thing (as it is similar to running * in the show pane).
* contrib: pick: add thread based utility functionsGravatar Mark Walters2013-09-03
| | | | | | Previously notmuch-pick had no thread based functionality. This adds a macro to iterate through all messages in a thread. To simplify this it adds a text-property marker to the first message of each thread.
* contrib: pick: remove sync testsGravatar Mark Walters2013-08-27
| | | | | Since the previous commit removed the sync parser we may as well remove its tests too.
* contrib: pick: remove sync parserGravatar Mark Walters2013-08-27
| | | | | | | Previously pick had the option of using an async parser like search or a sync parser like show. The async parser has always been the default and it seems fine so we can remove the sync one and the corresponding defcustom.
* contrib: pick: use close-message-pane for reply etcGravatar Mark Walters2013-08-24
| | | | | We can save some code duplication by using the new close-message-pane functionality for reply, forward, and new mail.
* contrib: pick: add in binding to view raw messageGravatar Mark Walters2013-08-24
| | | | Note this does rely on the fact that we have over-ridden notmuch-show-get-properties
* contrib: pick: make help close the message pane firstGravatar Mark Walters2013-08-24
| | | | | | Previously pressing "?" for help when the message pane was open meant the help window was very small. Close the message pane before displaying help.
* contrib: pick: close window functionGravatar Mark Walters2013-08-24
|
* contrib: pick: pass tab through to the message paneGravatar Mark Walters2013-08-24
| | | | | | This makes tab move to next button in the message pane and binds button activate (in message pane) to "e". This means that is easy to toggle hidden parts or hidden citations etc in the message pane.
* contrib: pick: add button press helperGravatar Mark Walters2013-08-24
| | | | | | We will want to be able to activate buttons not in the current buffer (ie in the message pane) so it is helpful to have a way of activating a button without signalling error if there is no button.
* contrib: pick: add in to-message-window functionGravatar Mark Walters2013-08-24
|
* contrib: pick: Link in stash map straight from notmuch-showGravatar Mark Walters2013-08-24
| | | | | | | These functions all now work straight from their notmuch-show implementation so link them in. Stash functionality was one of the key missing things in notmuch-pick.
* contrib: pick: Link in attachment functions straight from notmuch-showGravatar Mark Walters2013-08-24
| | | | | | We can use the attachment functions straight from notmuch-show. notmuch-show-view-all-mime-parts might be deprecated so we either want to undeprecate it or not have this binding.
* contrib: pick: Link in notmuch-show-pipe-messageGravatar Mark Walters2013-08-24
| | | | Since we can now use show functions directly in pick we can drop pick-pipe-message.
* contrib: pick: override notmuch-show-get-propGravatar Mark Walters2013-08-24
| | | | | | | We override notmuch-show-get-prop so that many of the show functions can be used in notmuch-pick without modification. The main use is that it means notmuch-show-get-message-id `works' in pick. Thus we get all the stash functions and several other `for free' in pick.
* contrib: pick: use notmuch-start-notmuchGravatar Mark Walters2013-07-20
| | | | | This uses the new notmuch-start-notmuch function which should give better handling of stderr and errors generally.
* contrib: pick: document several of the tree/forest insertion functions.Gravatar Mark Walters2013-07-04
|
* pick: contrib: document notmuch-pick-message-window-kill-hookGravatar Mark Walters2013-07-04
|
* pick: contrib: document notmuch-pick-refresh-resultGravatar Mark Walters2013-07-04
|
* pick: contrib: document notmuch-pick-show-outGravatar Mark Walters2013-07-04
|
* contrib: pick: remove unused functionGravatar Mark Walters2013-07-04
| | | | | The function notmuch-pick-show-error was used before Austin's improved error handling. It is now redundant so remove.
* contrib: pick: remove unused variableGravatar Mark Walters2013-07-04
| | | | | This variable was needed at one point for the async parser but is not needed anymore.
* contrib: pick: bugfix: make the right variable buffer-localGravatar Mark Walters2013-07-04
| | | | | | The variable notmuch-pick-message-buffer should be buffer local but instead notmuch-pick-message-buffer-name (a non-existent variable) was made buffer local.
* contrib: pick: add docstrings to all defvarsGravatar Mark Walters2013-07-04
|
* contrib: pick: add a docstring for the main notmuch-pick functionGravatar Mark Walters2013-07-04
|
* contrib: pick: fix refresh resultGravatar Mark Walters2013-07-04
| | | | | | | | | | | The function notmuch-pick-refresh-result (used to update tag changes) was not quite correct: sometimes it got the choice between the subject and " ..." wrong. This was always true but the new code often calls this (when opening a message in the message pane to remove the unread tag) while the async pick process is still running and this caused mistakes which made the tests fail. Thus we store the previous subject with the message.
* contrib: pick: remove hack notmuch-pick-show-match-message-with-waitGravatar Mark Walters2013-07-04
| | | | | | This function was a horrible hack (sleeping while waiting for the correct message). The new target code can just open the message in the message window when it arrives.
* contrib: pick: if no target specified go to first matching messageGravatar Mark Walters2013-07-04
|
* contrib: pick: remove reference to inbox in docstringGravatar Mark Walters2013-06-25
| | | | | Copy the recent changes in show to use just notmuch-archive-tags (as a link) rather than saying '(defaults to "inbox")'.
* contrib: pick: remove unnecessary funcallGravatar Mark Walters2013-06-04
| | | | | Remove unnecessary funcall. This keeps the pick function inline with the recently tweaked show function.
* contrib: pick: bugfix: use notmuch-show-mark-read-tags instead of unreadGravatar Mark Walters2013-06-02
| | | | | | | | Previously pick removed the unread tag from its tag display: since the tag change is now customisable use the customised variable. This only affected the tags displayed, not the tags in the database as notmuch-show (in the view pane) did the actual tag changes.
* contrib: pick: bugfix. use notmuch-show-only-matching-messages rather than ↵Gravatar Mark Walters2013-06-02
| | | | | | | | | | prefix Previously pick set a prefix argument prior to calling show in the message pane to tell show to only show matching messages. This sets notmuch-show-only-matching-messages instead which is much cleaner and will work even if the user has configured show to default to showing only matching messages.
* contrib: pick: use the sexp parserGravatar Mark Walters2013-06-02
| | | | This just converts notmuch-pick to use the sexp parser.
* contrib: pick: add a target message for pickGravatar Mark Walters2013-05-20
| | | | | | | | This adds a target message for pick which it will jump to when (if) it appears. It adds the target to notmuch-pick-from-show-current-query so that pick goes straight to the message that was current in the show view and it adds target to notmuch-pick-refresh-view so that the current message is preserved.
* contrib: pick: move save-excursion closer to message insertionGravatar Mark Walters2013-05-20
| | | | | | | | | | | | | Pick keeps point roughly at the top of the buffer while inserting messages at the end as they come in (from the async parser). Previously the save-excursion to do this was done once for each thread inserted: now it is done for each individual message. The advantage is that the message insertion code can decide where to leave point. In the next patch point will be left on the target message. Note notmuch-pick-insert-msg is unchanged as that is used by the tag display update code.
* 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
* 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.
* 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.