[notmuch] modifying emacs keymap

Jameson Graef Rollins jrollins at phys.columbia.edu
Mon Dec 28 16:30:29 PST 2009


On Mon, Dec 28, 2009 at 11:27:30PM +0100, Tassilo Horn wrote:
> > (add-hook 'notmuch-search-mode
> >   (define-key notmuch-search-mode-map "A" 'notmuch-show-mark-read-then-archive-thread)
> > )
> 
> `notmuch-search-mode' is no hook, and even if it was, you couldn't add
> what you like, because that's no function.  You would need to define a
> function that doesn that or wrap it in a lambda function.

Thanks for the response, Tassilo.  I should have explained that the
command I used above did work in so far as it did make the new key
available in the correct mode (notmuch-search-mode), as I could tell
through the notmuch-help in the notmuch-search-mode.  The command I
used above has worked for me in other contexts, as I've found
documented in a couple of different place on the net.  I'm completely
an elisp n00b, though, and I can't claim to understand why it worked.

> Anyway, this should do the trick:
> 
> (define-key notmuch-search-mode-map "A" 'notmuch-show-mark-read-then-archive-thread)

As far as I can tell, this command works the same as the one I used
above.  It produces identical results.

I realize now that the problem is that the
notmuch-show-mark-read-then-archive-thread function is meant for
notmuch-show-mode (as should have been clear to me via the name) and
not for notmuch-search-mode.  I manually created a new function for
the appropriate mode, and that worked.  Below is the code that I used
that worked.

Thanks for the help, and sorry for the spam.

jamie.


(defun notmuch-search-mark-read-then-archive-thread ()
  "Mark thread as read (remove \"unread\" tag) and then archive (remove \"inbox\" tag).
This function advances to the next thread when finished."
  (interactive)
  (notmuch-search-remove-tag "inbox")
  (notmuch-search-remove-tag "unread")
  (forward-line))
(define-key notmuch-search-mode-map "A" 'notmuch-search-mark-read-then-archive-thread)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20091228/6466a2eb/attachment.pgp>


More information about the notmuch mailing list