emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <dominik@science.uva.nl>
To: John Wiegley <jwiegley@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Support for linking to nnml (Gnus) mail messages by Message-ID
Date: Wed, 5 Sep 2007 05:23:53 +0200	[thread overview]
Message-ID: <c2d64f59c71d5e24d202c661803788a3@science.uva.nl> (raw)
In-Reply-To: <m2d4wyqmkr.fsf@newartisans.com>

Note that John is running an intermediate version with a small fix 
needed
to make this work.  Wait for 5.08 before trying this...

- Carsten

On Sep 4, 2007, at 21:04, John Wiegley wrote:

> Because I frequently archive out e-mails to other mailboxes, I cannot 
> rely on
> the group/article-no format of the current Gnus e-mail links used by 
> org.el.
> So, I've written code that can find a message based solely on its 
> Message-ID.
> The only requirement is that the message must be in an nnml mailbox 
> somewhere,
> and not in mbox format or something else.
>
> John
>
> ;;; org-nnml.el - Support for links to nnml messages by Message-ID
>
> ;; version 1.0, by John Wiegley <johnw@gnu.org>
>
> (require 'org)
>
> (eval-when-compile
>   (require 'nnml)
>   (require 'gnus-sum))
>
> (org-add-link-type "nnml" 'org-nnml-open)
>
> (add-hook 'org-store-link-functions 'org-nnml-store-link)
>
> (defun org-nnml-open (message-id)
>   "Visit the nnml message with the given Message-ID."
>   (let ((info (nnml-find-group-number message-id)))
>     (gnus-summary-read-group (concat "nnml:" (car info)) 100 t)
>     (gnus-summary-goto-article (cdr info) nil t)))
>
> (defun org-nnml-store-link ()
>   "Store a link to an nnml e-mail message by Message-ID."
>   (when (memq major-mode '(gnus-summary-mode gnus-article-mode))
>     (and (eq major-mode 'gnus-article-mode) 
> (gnus-article-show-summary))
>     (let* ((article (gnus-summary-article-number))
> 	   (header (gnus-summary-article-header article))
> 	   (message-id (mail-header-id header)))
>       (if (eq (aref message-id 0) ?\<)
> 	  (setq message-id
> 		(substring message-id 1 (1- (length message-id)))))
>       (org-store-link-props
>        :type "nnml"
>        :link (cons (concat "nnml://" message-id)
> 		   (concat "nnml://" message-id))
>        :description (mail-header-subject header)))))
>
> (provide 'org-nnml)
>
> ;;; org-nnml.el ends here
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
>

--
Carsten Dominik
Sterrenkundig Instituut "Anton Pannekoek"
Universiteit van Amsterdam
Kruislaan 403
NL-1098SJ Amsterdam
phone: +31 20 525 7477

      reply	other threads:[~2007-09-05  3:25 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-04 19:04 Support for linking to nnml (Gnus) mail messages by Message-ID John Wiegley
2007-09-05  3:23 ` Carsten Dominik [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c2d64f59c71d5e24d202c661803788a3@science.uva.nl \
    --to=dominik@science.uva.nl \
    --cc=emacs-orgmode@gnu.org \
    --cc=jwiegley@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.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).