emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] R code block produces only partial output


From: Charles C. Berry
Subject: Re: [O] R code block produces only partial output
Date: Thu, 7 Aug 2014 10:42:24 -0700
User-agent: Alpine 2.00 (OSX 1167 2008-08-23)

On Wed, 6 Aug 2014, Aaron Ecay wrote:

Hi Eric,

2014ko abuztuak 6an, Eric Schulte-ek idatzi zuen:

[...]

Perhaps you could begin with a patch for the regexp issue in this
thread?

I have pushed a patch which allows us to avoid the regex issue
entirely by using a native R method to capture the session output to a
file.

This introduces the change that the output no longer appears in the
session buffer, but I think that’s actually an improvement: we were not
previously echoing the commands to the buffer, such that the output
would show up “out of the blue” without any indication of how it got
there.

Hi Aaron,

I like what you are trying to do, but ...

1) The change has at least one bug: Remote sessions are broken by this change.

2) The behavior of :results output is modified in ways that might not be desired. i.e. warnings and errors will not show up in the output.

Can you revert this change until the bugs are sorted out and consensus about the proper handling of cases like '2' is reached?

Can I also suggest that in the future before a change is pushed, that the patch is announced so we can try it out or at least eyeball it and discuss
issues/bugs?

Details:

Issue 1) ===========

If I open a *.org file on a remote machine and C-c C-c on a src block that has `:session :results output', after the usual session startup the src block fails. The session buffer shows this

====
Error in file(file, if (append) "a" else "w") :
  cannot open the connection
In addition: Warning message:
In file(file, if (append) "a" else "w") :
cannot open file '/scpc:berry@<DELETED.URL>:/tmp/R-1155xWV': No such file or directory

===

The file '/tmp/R-1155xWV' was created.

I think if the tramp file localname is used. it might work. I do not know tramp, but maybe something like

 (let output-file-localname
  (if (tramp-tramp-file-p output-file)
      (tramp-file-name-localname
       (tramp-dissect-file-name output-file))
    output-file))

is good enough.


Issue 2) ===========

ECM:

#+NAME: aa
#+BEGIN_SRC R :session R2 :results output
warning("this is a warning")
1+1
#+END_SRC

#+RESULTS: aa
: [1] 2

For some purposes having the warnings in the #+RESULTS: block is helpful.

And when revising code, having the errors in the #+RESULTS helps - especially if I have to put aside work in progress.

HTH,

Chuck


reply via email to

[Prev in Thread] Current Thread [Next in Thread]