On 26 Mar 2011, Michael Markert wrote: > Because Wanderlust keeps several message buffers you have to start > capture from within a message buffer, not a summary buffer. But I'll > look into it.
Attached code handles both capturing from summary and message buffer. Michael
(require 'std11)
(require 'elmo)
(require 'wl-address)
(require 'wl-summary)
(defun wl-get-from-header-content ()
(save-excursion
(set-buffer (org-capture-get :original-buffer))
(cond
((eq major-mode 'wl-summary-mode) (when wl-summary-buffer-elmo-folder
(elmo-message-field
wl-summary-buffer-elmo-folder
(wl-summary-message-number)
'from)))
((eq major-mode 'mime-view-mode) (std11-narrow-to-header)
(prog1
(std11-fetch-field "From")
(widen))))))
(defun org-contacts-template-wl-name (&optional return-value)
(let ((from (wl-get-from-header-content)))
(or (and from (wl-address-header-extract-realname from))
return-value
"%^{Name}")))
(defun org-contacts-template-wl-email (&optional return-value)
(let ((from (wl-get-from-header-content)))
(or (and from (wl-address-header-extract-address from))
return-value
(concat "%^{" org-contacts-email-property "}p"))))
pgpqsfSzRfaTm.pgp
Description: PGP signature
