[ESS] no output in ESS until interrupt

Ross Boylan ross at biostat.ucsf.edu
Sat Dec 22 01:42:30 CET 2012


Oh boy, I just realized I was having this problem on a completely 
different system:
ESS 5.11, emacs 23.2.1, Debian GNU/Linux squeeze.
It may have been happening on Windows too, but I'm much less sure of that.

On 12/21/2012 3:47 PM, Vitalie Spinu wrote:
>    >> Ross Boylan <ross at biostat.ucsf.edu>
>    >> on Fri, 21 Dec 2012 15:32:11 -0800 wrote:
>
>    > While debugging an R function I noticed that the main *R* window did not show
>    > any output after an error occurred, until I hit ^G.  This was true even when the
>    > output was from the recover() function.  ESS may not have shown the output of a
>    > regular, but slow, function either, even if there was no error.
>
>    > Are things supposed to work that way?  Anything I can do about it? I don't
>    > recall this problem in the past, but that may be because I wasn't using
>    > long-running functions.
>
> This happens because, by default, ESS waits for the output before
> printing (we hope to lift this limitation some day).
I don't understand the previous sentence.  If there is no output, there 
is nothing to print.  And my problem is that there is output (e.g., a 
traceback)--at least in the sense that R has finished its part and wants 
to send output--but it is not printed.  Instead, emacs is unresponsive 
(i.e., I can't even switch to other buffers) until I hit ctl-g, at which 
point the output appears.
>
> If your problem is in the console, then you have to set
> comint-process-echoes to nil in ess hook.
By console, do you mean the *R* buffer?  That is where the output fails 
to appear.  On the other hand, since everything locks up, it's not just 
in the console.

Hmm.. comint-process-echoes is t in that buffer.  Now I'm kind of 
surprised I see anything.  Why does hitting ctl-g make a difference?

I set comint-process-echoes to nil (in the *R* buffer, though not the 
one from which I sent the command, for which it was already nil), but it 
didn't change the behavior.
>
> If your problem is with sending code from script buffer, then with your
> version of ESS you have one option, (setq ess-eval-visibly-p nil). This
> will make evaluation invisible (aka no printing of input to the
> console), but instead it is much faster and doesn't stall emacs.
That's good to know, although that's not my problem.  I like seeing the 
code I send over in the console.
>
> With the new version of ESS, released today,  you have yet another
> option 'nowait. With (setq ess-eval-visibly 'nowait) ESS will print the
> input, but will not wait for the output. You can experiment with
> ess-eval-visibly and comint-process-echoes directly from the ESS/Process
> submenu. For this and many other reasons please upgrade to 12.09-1.
I was wondering if that was related.  But the problem I'm having is that 
even when the evaluation finishes nothing happens.
Ross
>
>      Vitalie
>
>
>    > ESS 12.04-4 [rev 4896], R 2.15.0, emacs 24.1.1 on MS Windows 7.
>
>    > Thanks.
>    > Ross Boylan
>
>    > ______________________________________________
>    > ESS-help at r-project.org mailing list
>    > https://stat.ethz.ch/mailman/listinfo/ess-help



More information about the ESS-help mailing list