emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] org-open-link-from-string in a program


From: Eric Abrahamsen
Subject: [O] org-open-link-from-string in a program
Date: Sat, 03 Aug 2013 16:46:44 +0800
User-agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3 (gnu/linux)

I'm trying to write a small function that programmatically follows a
link to a gnus message, then calls
`gnus-summary-wide-reply-with-original' to start a reply to that
message. It seemed like `org-open-link-from-string' (after extracting
the address part from the link) would be the right choice, but I'm
seeing odd behavior.

When gnus sets up the reply buffer it also adds several hooks and
actions for restoring windows and marking messages as responded-to, etc,
and these hooks and actions depend on the value of (current-buffer) when
the reply was initiated. That's supposed to be the gnus summary buffer.

When I call all this from a function, however, (current-buffer)
continues to return the org buffer I started in, even after the link was
opened, which confuses gnus, and me. What I mean is this:

(let ((addr the-address-part-of-the-link))
   (org-open-link-from-string addr)
   (message "%s" (current-buffer)) ; returns the org buffer I started in
   (call-interactively
     'gnus-summary-wide-reply-with-original))

There must be something I'm misunderstanding about how buffers work when
you're doing something non-interactive. If I manually eval the
org-open-link-from-string statement, I end up in the summary buffer,
obviously, and all works fine.

What am I not getting?

Thanks!
Eric
  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]