[notmuch] Snippet to jump to message in Gnus from notmuch-show buffer

Brett Viren brett.viren at gmail.com
Sat Nov 20 17:12:41 PST 2010


Hi Tassilo,

I adapted your code for my use and found it was failing due to some
stray double-quotes.  I'm using notmuch from git so maybe these quotes
were added in the year since you first posted your idea.

See below for the simple fix:

On Tue, Nov 24, 2009 at 3:02 AM, Tassilo Horn <tassilo at member.fsf.org> wrote:
> --8<---------------cut here---------------start------------->8---
> (require 'notmuch)
>
> (defun th-notmuch-file-to-group (file)
>  "Calculate the Gnus group name from the given file name.
>
> Example:
>
>  IN: /home/horn/Mail/Dovecot/uni/INBOX/dbox-Mails/u.4075
>  OUT: nnimap+Uni:INBOX"
>  (concat "nnimap+"
>          (replace-regexp-in-string
>           "^\\([^/]+\\)/" "\\1:"
>           (replace-regexp-in-string
>            "/dbox-Mails/.*" ""
>            (replace-regexp-in-string
>             "/home/horn/Mail/Dovecot/" "" file)))))
>
> (defun th-notmuch-goto-message-in-gnus ()
>  "Open a summary buffer containing the current notmuch
> article."
>  (interactive)
>  (let ((group (th-notmuch-file-to-group (notmuch-show-get-filename)))
>        (message-id (replace-regexp-in-string
>                     "^id:" "" (notmuch-show-get-message-id))))

I needed to define the message-id like:

       (message-id (replace-regexp-in-string
		    "\"" ""
		    (replace-regexp-in-string
                    "^id:" "" (notmuch-show-get-message-id)))))


>    (message "G: %s, mid: %s" group message-id)
>    (if (and group message-id)
>        (org-gnus-follow-link group message-id)
>      (message "Couldn't get relevant infos for switching to Gnus."))))
>
> (define-key notmuch-show-mode-map (kbd "C-c C-c") 'th-notmuch-goto-message-in-gnus)
> --8<---------------cut here---------------end--------------->8---

Regards and thanks for this handy code!
-Brett.


More information about the notmuch mailing list