I think that what you really want to do here is modify org-mime-compose so
that you can use the send-actions argument to message-mail. In
scimax-email.el I use that to be able to turn an org-heading into an email,
send it, and then jump back to the heading to insert some information about
the email into the heading properties after it is sent. A lot of the
information gets passed via global variables. Maybe there is a better way
to do that, I wrote that code a long time ago.
Otherwise, you need to figure out how to use something like a macro that
captures the current-buffer and creates a lambda function with that
information in it, and attaches it to the message-buffer hook somehow. For
example this will display a message-box for me after the message is sent.
(let ((f `(lambda ()
(message-box "Came from %s" ,(current-buffer)))))
(message-mail)
(add-hook 'kill-buffer-hook f nil t))
Some important notes is this hook is added in local mode, so it only
affects that email buffer.
John
-----------------------------------
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu
On Tue, Oct 23, 2018 at 1:40 PM Matt Price <[email protected]> wrote:
> Hey, I guess this is OT.
>
> I'm trying to advice org-mime-org-buffer-htmlize so that it returns to the
> org buffer when its done. I want to do something like this:
>
> (let ((thisbuffer (current-buffer))
> (advice-add
> 'mu4e-sent-handler
> :after (lambda (docid props)
> (switch-to-buffer thisbuffer)
> (advice-remove 'mu4e-sent-handler 'om-sent-advice)
> ) '((name . 'om-sent-advice)))
>
> but by the time the hook is run, the (let) has long since lapsed, and
> thisbuffer is no longer defined. Can I force evaluation of the variable
> during definition?
>
> Thanks,
> m
>