From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: emacs-orgmode@gnu.org
Subject: Re: org-open-link-from-string in a program
Date: Sun, 04 Aug 2013 12:21:11 +0800 [thread overview]
Message-ID: <871u6a2iiw.fsf@ericabrahamsen.net> (raw)
In-Reply-To: 87ehab5fgr.fsf@ericabrahamsen.net
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> 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.
Hmm, I tried sticking a (redisplay) after opening the link, thinking
that might "reset" what is considered the current buffer, and it still
doesn't do it!
next prev parent reply other threads:[~2013-08-04 4:21 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-03 8:46 org-open-link-from-string in a program Eric Abrahamsen
2013-08-03 9:18 ` 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 [this message]
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=871u6a2iiw.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).