[ESS] ESS and R... death to Emacs...
maechler at stat.math.ethz.ch
Thu Mar 16 15:07:12 CET 2006
>>>>> "Dan" == Dan Bolser <dmb at mrc-dunn.cam.ac.uk>
>>>>> on Thu, 16 Mar 2006 12:01:45 +0000 writes:
Dan> Martin Maechler wrote:
>>>>>>> "Dan" == Dan Bolser <dmb at mrc-dunn.cam.ac.uk>
>>>>>>> on Thu, 16 Mar 2006 10:26:54 +0000 writes:
Dan> I am R Version 2.2.1 (2005-12-20 r36812)
Dan> ESS version 5.2.12
Dan> Linux 2.6.15-1.1833_FC4 i686 athlon i386 GNU/Linux
Dan> The following R/ESS session causes a permanant 'hang', and kills my
Dan> emacs session...
Dan> # Start Emacs,
Dan> # Start an R process (M-x R)
Dan> # Evaluate the following line;
Dan> # Evaluate the following *region*;
Dan> When the last two lines are sent *together* to the R process (via M-x
Dan> ess-eval-region), the session 'crashes'.
Dan> Anyone else got the same problem?
>> I see no problem (GNU emacs 21.3).
Dan> Hmmm... I am GNU Emacs 21.4.1... not sure if that will make a diff.
no, it doesn't. I have 21.3 on some machines and 21.4 on others.
Dan> Can I just confirm that you did the steps *exactly* as specified
Dan> (because it 'kills' my emacs session 100% of the time)...
Dan> 1) start an R process from within a buffer of emacs (M-x R)
Dan> 2) (actually) split the screen (C-x 2)
Dan> 3) (actually) jump back to the original buffer (C-x b <ret>)
Dan> 4) send the first line 'par(ask=T)' with 'ess-eval-line' (and <ret>)
I always use C-c C-n which is a bit different from C-c C-j (ess-eval-line)
but the point is in "5)" :
Dan> 5) send the following *region* after marking with the mouse...
Dan> using ess-eval-region
I see no problem --- only because I always have customized
ess-eval-visibly-p to 'nil' instead of the default 't'.
But even if I set it to 't'; there's no big problem:
Simple C-g solves the ``hanging'' -- as in other situations
in ESS, e.g., when a long-lasting computation keeps emacs
waiting for the prompt, a simple C-g stops the "waiting loop".
Dan> My emacs session is hanging...
Dan> Is there an option to set to allow me to see R 'thinking' while it is
Dan> buisy? Like if I had a big loop that output progress information, all
Dan> the progress information gets dumped at the end, after the loop has
Dan> finished. I would like to see progress 'as it happens' ... I think it is
Dan> related to this problem (anybody else see that with different version
Dan> of emacs?)
>> Martin Maechler, ETH Zurich
Dan> Basically I think the fact that the emacs buffer 'hangs' while R is
Dan> 'buisy' causes the problem. The first plot request is sent, and the
Dan> buffer hangs as R becomes 'buisy', then R asks for user input, but that
Dan> request is never echoed back to the user (because the buffer is
Dan> 'hanging'). This is just a guess.
Dan> If the emacs buffer didn't go unresponsive while R is buisy, I don't
Dan> think this problem would occur. Like when you run a big process in R,
Dan> you can't use that emacs session for anything else because it is waiting
Dan> on R to finish.
unless you use C-g ...
Dan> Any way to get round this 'hang'?
I think it's the simple C-g ..
More information about the ESS-help