[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