From: "Charles C. Berry" <ccberry@ucsd.edu>
To: John Hendy <jw.hendy@gmail.com>
Cc: org-mode mailing list <emacs-orgmode@gnu.org>,
Vikas Rawal <vikaslists@agrarianresearch.org>,
Nicolas Goaziou <mail@nicolasgoaziou.fr>
Subject: Re: org babel, ess, R
Date: Wed, 5 Jul 2017 21:42:13 -0700 [thread overview]
Message-ID: <alpine.OSX.2.20.1707052008170.1527@charles-berrys-macbook.local> (raw)
In-Reply-To: <CA+M2ft8bVGVOUjtX6cpbY1ha--cQf4o5xiWJ7qEXa0GvKuKD1Q@mail.gmail.com>
On Wed, 5 Jul 2017, John Hendy wrote:
> On Wed, Jul 5, 2017 at 4:22 PM, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
>> Hello,
>>
>> Vikas Rawal <vikaslists@agrarianresearch.org> writes:
>>
>>> C-RET seems to be picking up the custom session name if it is already
>>> there. But otherwise it generates the default *R* session there,
>>
>> Is there a bug to fix? If so, could start a new thread about it, ideally
>> with an ECM demonstrating the issue?
>
> I guess Vikas can speak for Vikas, but he was responding to my
> observation of the same:
>
> "... I'd like Org to pick up the fact that there's a :session
> argument with a custom name and use that for C-RET in the edit buffer;
> otherwise it generates the default *R* session there, but if you C-c
> C-c the block later it puts it into the custom session name."
This is what `org-babel-switch-to-session-with-code' does. BTW, it also
handles Vikas' original issue of displaying both the edit buffer and the
process buffer during editing src blocks.
So you might want is to use `org-babel-switch-to-session-with-code' rather
than `org-edit-src-code'.
I do not think I'd want to replace `org-edit-src-code' in
`org-edit-special' with that function by default, since it forces a
session to start and displays the process buffer which is kind of annoying
when all I want to do is browse code in an edit buffer. It fails with an
error when applied to a src block with no session, so that would need to
be handled if `o-b-s-t-session-w-code' is supplied as an option.
HTH,
Chuck
>
> Here's an ECM:
>
> #+begin_example
>
> * heading
>
> #+name: x
> #+begin_src R :session r
>
> x <- 1:10
>
> #+end_src
>
> #+name: y
> #+begin_src R :session r
>
> y <- x^2
>
> #+end_src
>
> #+end_example
>
> So, say I start working on a document for the day and enter the
> editing buffer with C-c ' on block x. I then C-RET from the edit
> buffer, which evaluates x and starts a new R session, *R*. Now I'm
> done and go on to block y, but don't need to edit. Maybe I just want
> to update a plot or other result in the document, so I C-c C-c:
>
> Error: object 'x' not found
>
> This really, really common for my work. I define a setup block
> somewhere in which I load libraries, read in thousands of lines of
> sensor code, and process things (moving averages, summary stats, etc.)
> and create my sort of "master object." From there I have sections of a
> report that subset the data, plot various things, but typically have
> them all set to :eval no by default. If I pick up work on a file, edit
> my setup code block, but only interactively because I forget I need to
> C-c C-c something first to kick off the custom session, the work was
> sort of for naught as everything is in the wrong session.
>
> In this example, I realize the error and go back to block x and C-c
> C-c after failing on block y. At that point, when I go to a block
> interactively to do C-RET again, I get this in the minibuffer.
>
> Process to load into: {r | *R* | *new* }
>
> Then I switch to *R* to quit() and end the spurious session.
>
> Really, it was a comment about how Org behaves, not necessarily a bug.
> That said, speaking for myself, I would never want a default session
> in interactive mode when I've defined one in the code heading. I'd
> love if Org could pick up on that setting, such that the first C-RET
> of the day dropped into the session named by the block I'm editing. At
> present, interactive mode appears to ignore this.
>
>
> Hope that helps clarify,
> John
>
>
>
>
>
>> Regards,
>>
>> --
>> Nicolas Goaziou
>
>
Charles C. Berry Dept of Family Medicine & Public Health
cberry at ucsd edu UC San Diego / La Jolla, CA 92093-0901
http://biostat.ucsd.edu/ccberry.htm
next prev parent reply other threads:[~2017-07-06 4:42 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-01 1:36 org babel, ess, R Vikas Rawal
2017-07-01 3:38 ` Vikas Rawal
2017-07-01 12:53 ` Nicolas Goaziou
2017-07-02 2:48 ` Vikas Rawal
2017-07-02 7:05 ` Nicolas Goaziou
2017-07-03 0:17 ` Vikas Rawal
2017-07-03 2:21 ` Andreas Kiermeier
2017-07-03 2:28 ` Vikas Rawal
2017-07-03 2:35 ` Andreas Kiermeier
2017-07-03 19:52 ` John Hendy
2017-07-03 23:19 ` Vikas Rawal
2017-07-04 2:17 ` Charles C. Berry
2017-07-04 9:20 ` Vikas Rawal
2017-07-05 21:22 ` Nicolas Goaziou
2017-07-05 21:58 ` John Hendy
2017-07-06 4:42 ` Charles C. Berry [this message]
2017-07-06 4:53 ` Vikas Rawal
2017-07-06 5:25 ` Charles C. Berry
2017-07-07 11:57 ` Nicolas Goaziou
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=alpine.OSX.2.20.1707052008170.1527@charles-berrys-macbook.local \
--to=ccberry@ucsd.edu \
--cc=emacs-orgmode@gnu.org \
--cc=jw.hendy@gmail.com \
--cc=mail@nicolasgoaziou.fr \
--cc=vikaslists@agrarianresearch.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).