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 <mopto...@gmail.com> 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
>

Reply via email to