123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- (eval-when-compile
- (require 'cl))
- (require 'org)
- (org-add-link-type "mew" 'org-mew-open)
- (add-hook 'org-store-link-functions 'org-mew-store-link)
- (defun org-mew-open (mew-link)
- "Visit the message MSG-NUMBER in FOLDER."
- (when (string-match "\\(+.*\\)+\\+\\([0-9]+\\)" mew-link)
- (let ((folder (match-string 1 mew-link))
- (msg-num (match-string 2 mew-link)))
- (mew-summary-visit-folder folder)
- (when (mew-summary-search-msg msg-num)
- (if mew-summary-goto-line-then-display
- (mew-summary-display))))))
- (defun org-mew-store-link ()
- "Store a link to a Mew message."
- (when (mew-summary-p)
- (let ((folder (mew-summary-folder-name))
- (number (mew-summary-message-number))
- (subject (mew-summary-get-subject)))
- (org-store-link-props
- :type "mew"
- :link (concat "mew:" folder "+" number)
- :description subject))))
- (provide 'org-mew)
|