emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: emacs-orgmode@gnu.org
Subject: org-open-link-from-string in a program
Date: Sat, 03 Aug 2013 16:46:44 +0800	[thread overview]
Message-ID: <87ehab5fgr.fsf@ericabrahamsen.net> (raw)

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	other threads:[~2013-08-03  8:46 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-03  8:46 Eric Abrahamsen [this message]
2013-08-03  9:18 ` org-open-link-from-string in a program Thorsten Jolitz
2013-08-03 10:26   ` Eric Abrahamsen
2013-08-03 10:56     ` Thorsten Jolitz
2013-08-03 11:04       ` Eric Abrahamsen
2013-08-03 11:18         ` Thorsten Jolitz
2013-08-04  4:21 ` Eric Abrahamsen
2013-08-04  8:22 ` Eric Abrahamsen
2013-08-08  5:58 ` [CODE] " Eric Abrahamsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ehab5fgr.fsf@ericabrahamsen.net \
    --to=eric@ericabrahamsen.net \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).