unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* modifying emacs keymap
@ 2009-12-28 21:18 Jameson Graef Rollins
  2009-12-28 22:27 ` Tassilo Horn
  0 siblings, 1 reply; 3+ messages in thread
From: Jameson Graef Rollins @ 2009-12-28 21:18 UTC (permalink / raw)
  To: notmuch

[-- Attachment #1: Type: text/plain, Size: 883 bytes --]

Hey, folks.  This is the first in what is surely to be a long line of
requests for help customizing the notmuch emacs UI.

In this episode, I'm trying to add a function to the default keymap in
notmuch-search-mode.  Here's what I tried to do:

(add-hook 'notmuch-search-mode
  (define-key notmuch-search-mode-map "A" 'notmuch-show-mark-read-then-archive-thread)
)

However, when I tried to use it, I got the following error (from *Messages*):

notmuch-show-get-tags: Search failed: "^Lmessage{"

Does anyone know where this error is coming from, and how to get
around it?  I could just be going about modifying the keymap the wrong
way, so if anyone has better suggestions about how to do it, I would
love to hear it.  If there's a different way to *modify* a keymap, as
opposed to adding a key to the map, I would be interested in seeing
that as well.

Thanks for the help.

jamie.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: modifying emacs keymap
  2009-12-28 21:18 modifying emacs keymap Jameson Graef Rollins
@ 2009-12-28 22:27 ` Tassilo Horn
  2009-12-29  0:30   ` Jameson Graef Rollins
  0 siblings, 1 reply; 3+ messages in thread
From: Tassilo Horn @ 2009-12-28 22:27 UTC (permalink / raw)
  To: Jameson Graef Rollins; +Cc: notmuch

Jameson Graef Rollins <jrollins@phys.columbia.edu> writes:

Hi Jameson,

> (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.

Anyway, this should do the trick:

(define-key notmuch-search-mode-map "A" 'notmuch-show-mark-read-then-archive-thread)

Bye,
Tassilo

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: modifying emacs keymap
  2009-12-28 22:27 ` Tassilo Horn
@ 2009-12-29  0:30   ` Jameson Graef Rollins
  0 siblings, 0 replies; 3+ messages in thread
From: Jameson Graef Rollins @ 2009-12-29  0:30 UTC (permalink / raw)
  To: Tassilo Horn; +Cc: notmuch

[-- Attachment #1: Type: text/plain, Size: 1941 bytes --]

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)

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-12-29  0:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-28 21:18 modifying emacs keymap Jameson Graef Rollins
2009-12-28 22:27 ` Tassilo Horn
2009-12-29  0:30   ` Jameson Graef Rollins

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).