[ESS] distinguish busy from non-busy waiting

Andreas Leha @ndre@@@|eh@ @end|ng |rom med@un|-goett|ngen@de
Thu Dec 10 10:31:23 CET 2015


Hi Vitalie,

Vitalie Spinu <spinuvit using gmail.com> writes:
> Sorry for late reply (I am travelling).

Thanks for following that up even when travelling.

>>>
>>> Both of the following produce same result
>>>
>>> ## complete:
>>> {
>>>     Sys.sleep(10)
>>> }
>>>
>>> ## incomplete:
>>> {
>>>     Sys.sleep(10
>>>
>>>
>
>> I cannot reproduce this.  
>
> You are probably having the default `ess-eval-visibly` set to t. I think most of
> people switch to `nil` eventually because the default is very slow as it sends
> the code line by line.
>
> Indeed, when `ess-eval-visibly` is t, we probably can reliably track the prompt.
>
> But then I don't understand your original problem. If you see trailing + that
> means your code is incomplete, otherwise the program is busy.
>

Well, this was more meant as a comment to your suggestion to ask for R
to change the prompt.  I was testing this running R outside of emacs and
there is this difference.  So, I guess that is what the reply from R's side
would be: There is a different prompt already.

As to your suggestion of setting `ess-eval-visibly' to t and using the
trailing '+' as an indicator:  I think the speed loss is too much to
trade in for the better GUI experience.  I have set `ess-eval-visibly' to
nil as well.
 
Ideally, I think it would be the much better experience if the spinning
wheel would
- appear only if R was busy and was not waiting for more user input
- appear directly in the R buffer instead of the mode line

I understand that this is not straight forward to achieve.  But
Christmas is close and so wishlists mights be written...

Regards,
Andreas




More information about the ESS-help mailing list