emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
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

  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).