emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Dan Davison <davison@stats.ox.ac.uk>
To: Eric S Fraga <e.fraga@ucl.ac.uk>
Cc: emacs-orgmode@gnu.org, "d.tchin" <d.tchin@voila.fr>
Subject: Re: [BABEL] Output with octave
Date: Sun, 01 Aug 2010 14:18:40 -0400	[thread overview]
Message-ID: <871vai42nz.fsf@stats.ox.ac.uk> (raw)
In-Reply-To: <87iq45x06e.wl%ucecesf@ucl.ac.uk> (Eric S. Fraga's message of "Sat, 24 Jul 2010 00:12:25 +0100")

Eric S Fraga <ucecesf@ucl.ac.uk> writes:

> On Fri, 23 Jul 2010 16:59:43 +0000 (UTC), d.tchin <d.tchin@voila.fr> wrote:
>> 
>> Hi
>> 
>> I use babel to use with octave language. I use it and
>> define a session so as to have interaction with
>> octave process. 
>> 
>> It is great to have interaction with octave and
>> check the action of the code easily.
>> 
>> I have problem to get output back in org mode file. 
>> I try the following code :
>> 
>> 
>> --8<---------------cut here---------------start------------->8---
>> #+tblname: test
>> | 1 | 2 | 3 |
>> 
>> #+source: outtest
>> #+begin_src octave  :session *out*   :var vec=test :results output
>> vecb=vec;
>> vecb
>> #+end_src
>> 
>> --8<---------------cut here---------------end--------------->8---
>> 
>> You will get following output
>> 
>> #+results: outtest
>> : vec =
>> : 
>> :    1   2   3
>> : octave.exe> vecb =
>> : 
>> :    1   2   3
>> 
>> As you see I get two outputs : vec variable and vecb (with octave prompt).
>> It is what I expected, excepted vec output.

The inclusion of the prompt is undesirable, and that is now on a to-fix
list.

But the ":results value" problems are more serious:

>> 
>> With :results value 
>> 
>> --8<---------------cut here---------------start------------->8---
>> #+tblname: test
>> | 1 | 2 | 3 |
>> 
>> 
>> 
>> #+source: outtest
>> #+begin_src octave  :session *out*   :var vec=test :results value
>> vecb=vec;
>> vecb
>> #+end_src
>> 
>> --8<---------------cut here---------------end--------------->8---
>> 
>> I get the following output 
>> 
>> 
>> #+results: outtest
>> : org_babel_eoe

OK, perhaps you or other octave users could advise us on how to proceed
here, as neither Eric Schulte nor I know octave. Note that this works:

#+begin_src octave :session *out* :var vec=test
vecb=vec;
vecb+0
#+end_src

#+results:
: 1.00000000e+00 2.00000000e+00 3.00000000e+00

octave evaluation in org works as follows:
- The user code is evaluated
- The value of the variable 'ans' is written to disk and imported into
  org

And the octave manual tells us that 'ans' is:

,----
| The most recently computed result that was not explicitly assigned to a variable
`----

The trouble seems to be that the final expression 'vecb' doesn't count
as a computation, and so doesn't change the value of ans.

So the current workaround is to say "when using octave, you must end
your block with a computation, rather than a simple statement of a
variable name."

Can someone suggest a better solution?

Dan

p.s. Or you could do this

#+begin_src octave :session *out* :var vec=test
vecb=vec;
ans=vecb
#+end_src

#+begin_src octave :session *out* :var vec=test
vecb=vec;
ans=vecb
ans
#+end_src


>> 
>> In the octave process, I check that it the last intruction. But 
>> what I would expect is to get last instruction vecb.
>> 
>> I certainly miss something. Could someone help me on this ?
>
> I don't think you are missing anything obvious as for the ":results
> value" case, I get the same thing.  In fact, for ":results output", I
> don't actually get any output!  I'm not sure why.  I wonder if there
> is a dependence on the version of Octave?  I'm using a fairly old
> version (3.0.x instead of 3.2.x).
>
> : Org-mode version 7.01trans (release_7.01g.24.g6b5cf)
> : GNU Emacs 23.2.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0)
> :  of 2010-05-16 on raven, modified by Debian

  parent reply	other threads:[~2010-08-01 18:18 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-23 16:59 [BABEL] Output with octave d.tchin
2010-07-23 23:12 ` Eric S Fraga
2010-07-26 14:25   ` d.tchin
2010-08-01 18:18   ` Dan Davison [this message]
2010-08-01 20:07     ` Re: [BABEL] Output with octave + [PATCH] x2 Juan
2010-08-01 20:22       ` Re: [BABEL] Output with octave [PATCH] Juan Pechiar
2010-08-04  4:18         ` Dan Davison
2010-08-04 15:15           ` d.tchin
2010-08-01 22:19       ` [BABEL] Output with octave + [PATCH] x2 Dan Davison
2010-08-01 22:55         ` [BABEL] Octave issues Juan
2010-08-01 23:32           ` Dan Davison
2010-08-02  9:30     ` [BABEL] Output with octave d.tchin
2010-08-04  4:15       ` Dan Davison

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=871vai42nz.fsf@stats.ox.ac.uk \
    --to=davison@stats.ox.ac.uk \
    --cc=d.tchin@voila.fr \
    --cc=e.fraga@ucl.ac.uk \
    --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).