From: tsd@tsdye.com (Thomas S. Dye)
To: Herbert Sitz <hsitz@nwlink.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: org-babel -- Improper syntax error in session mode?
Date: Tue, 21 Jun 2011 06:27:54 -1000 [thread overview]
Message-ID: <m1aadbup2t.fsf@tsdye.com> (raw)
In-Reply-To: <loom.20110621T165605-813@post.gmane.org> (Herbert Sitz's message of "Tue, 21 Jun 2011 15:35:28 +0000 (UTC)")
Aloha Herb,
I think a note to that effect belongs here:
http://orgmode.org/manual/session.html#session
Perhaps the behavior related to session persistence could be described
there, as well.
Examples are probably best left to the language-specific documentation,
such as it is, at http://orgmode.org/worg/org-contrib/babel/languages/
Note that there is no language-specific documentation for Python yet.
Is it the case that the Ruby and Perl interpreters won't run code that
does run in non-session mode?
All the best,
Tom
Herbert Sitz <hsitz@nwlink.com> writes:
> Thomas S. Dye <tsd <at> tsdye.com> writes:
>>
>> Aloha Herbert,
>>
>> I think you're right about the potential to improve the documentation.
>> That's an on-going process. Could you suggest some specific changes?
>>
>> All the best,
>> Tom
>
> Tom --
>
> I would suggest just adding specific warnings that session-based evaluation may
> throw syntax errors with valid code.
>
> Here's what Org manual says regarding :session evaluation with :results output':
>
> "The code is passed to the interpreter running as an interactive Emacs inferior
> process. The result returned is the concaOrg tenation of the sequence of (text)
> output from the interactive interpreter. Notice that this is not necessarily the
> same as what would be sent to STDOUT if the same code were passed to a
> non-interactive interpreter running as an external process. . . ."
> [http://orgmode.org/manual/Results-of-evaluation.html#Results-of-evaluation]
>
> All that needs to be added is a warning:
>
> "IMPORTANT: Note that Org provides only a thin wrapper around a language's
> interactive shell, so valid code that executes properly in non-session mode may
> fail in :session mode. This is because Org feeds the lines in a :session block
> to the interactive interpreter exactly as written. In come cases the lines may
> require special formatting in the source block to be executed properly in the
> interactive shell. For example: . . . "
>
> I think the above issue should be moot for some of the main interpreted
> languages (viz., Python, Perl, Ruby) where there are various ways to execute a
> block of code non-interactively despite being in the interactive shell. (One of
> those methods is the example I gave in previous message.) In that case
> identical code will run the same whether it's in an interactive-interpreter
> session or not. It seems to me that switching to that approach for languages
> that support it should both (1) simplify the Org Babel code, and (2) provide Org
> users with more flexibility and power.
>
> Also, it seems the real power of :session evaluation is to share state between
> Org/Babel source code blocks, not merely to act as a kind of Org-internal
> scratchpad. As a user trying to take advantage of that state-sharing power I
> would generally want my Org document exports to start from fresh sessions. That
> is, I would write my :session blocks so that they depended on results of code
> run in previous :session blocks, BUT I would want the first :session block to
> start with a fresh session,with a known state. So on export I would generally
> want any existing named session to be closed and restarted anew for an
> Org export.
>
> I hope that all makes sense. I should say I'm not a big Babel user, and I could
> easily be misunderstanding something. But it seems this is the way the
> :session-based stuff should work, when possible.
>
> -- Herb
>
>
>
--
Thomas S. Dye
http://www.tsdye.com
next prev parent reply other threads:[~2011-06-21 16:28 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-19 21:54 org-babel -- Improper syntax error in session mode? Herbert Sitz
2011-06-19 23:21 ` Eric Schulte
2011-06-20 1:59 ` Herbert Sitz
2011-06-20 2:12 ` Herbert Sitz
2011-06-20 3:17 ` Nick Dokos
2011-06-20 3:46 ` Herbert Sitz
2011-06-20 19:23 ` Eric Schulte
2011-06-20 20:45 ` Herbert Sitz
2011-06-20 21:15 ` Eric Schulte
2011-06-20 23:16 ` Herbert Sitz
2011-06-21 0:08 ` Nick Dokos
2011-06-21 0:27 ` Herbert Sitz
[not found] ` <hesitz@gmail.com>
2011-06-21 1:17 ` Nick Dokos
2011-06-21 2:19 ` Eric Schulte
2011-06-21 5:13 ` Herbert Sitz
2011-06-21 7:15 ` Thomas S. Dye
2011-06-21 15:35 ` Herbert Sitz
2011-06-21 16:27 ` Thomas S. Dye [this message]
2011-06-21 17:42 ` Eric Schulte
2011-06-21 17:51 ` Herbert Sitz
2011-06-21 17:52 ` Eric Schulte
2011-06-27 18:09 ` Herbert Sitz
2011-06-21 17:26 ` Eric Schulte
2011-06-27 18:22 ` Herbert Sitz
2011-06-20 21:18 ` Jambunathan K
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=m1aadbup2t.fsf@tsdye.com \
--to=tsd@tsdye.com \
--cc=emacs-orgmode@gnu.org \
--cc=hsitz@nwlink.com \
/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).