[ESS] Pause between startup commands
Martin Maechler
maechler at stat.math.ethz.ch
Fri Jan 5 18:56:46 CET 2007
I'm finally getting back to this :
>>>>> "MM" == Martin Maechler <maechler at stat.math.ethz.ch>
>>>>> on Wed, 23 Aug 2006 13:42:21 +0200 writes:
>>>>> "MM" == Martin Maechler <maechler at stat.math.ethz.ch>
>>>>> on Wed, 23 Aug 2006 11:44:25 +0200 writes:
>>>>> "DavidB" == Brahm, David <David.Brahm at geodecapital.com>
>>>>> on Tue, 22 Aug 2006 15:53:07 -0400 writes:
DavidB> When I start up ESS 5.3.1, I get:
>>>> if(!exists("baseenv", mode="function")) baseenv <-
>>>> function() NULL
DavidB> options(STERM='iESS', editor='emacsclient')
>>>> >
DavidB> A little ugly, as the two commands run together.
MM> well, yes,... {we never felt a need to consider a
MM> patch, now that you bring it up with a patch proposal
MM> makes it a different story}
MM> [..........]
MM> and many such cases of lines sent too fast and "> > ..."
MM> are known to happen in similar cases. I think the
MM> reason is that emacs has become too fast :-) The crucial
MM> function is (ess-eval-linewise .) defined in
MM> lisp/ess-inf.el and there I think it's (line 1009):
[...trying something in ess-eval-linewise that does NOT work ...]
MM> Rather it's the part in ( ess-eval-linewise ) that says
MM> "... Terrible kludge ..." and later ;; A kludge to
MM> prevent the delay between insert and process output ;;
MM> affecting the display. A case for a
MM> comint-send-input-hook?
MM> that probably could be tweaked. But I don't have the
MM> time to try getting into this at the moment.
I have a pretty nice solution --- without any (sleep-for ..)
uglyness but only for non-Windows {more specifically for the
case when microsoft-p is not true, i.e. when the DDE client
is *not* used}.
Since (if microsoft-p ...), the function (ess-eval-linewise-ddeclient ..)
is used and that does not allow the explicit fix that I've added
for the non-DDE case.
Since I can't test that case at all, I'm asking for some user
feedback of Windows ESS users now:
Do you see "lines running together" in the initial startup,
notably
if(!exists("baseenv", mode="function")) baseenv <- function() NULL
and
options(STERM='iESS', editor='emacsclient')
not nicely ending in the *R* buffer as
"
> if(!exists("baseenv", mode="function")) baseenv <- function() NULL
> options(STERM='iESS', editor='emacsclient')
"
If you do see that problem on windows, I think we need a
"(sleep-for ..)" solution there
and I have implemented it already more or less,
but don't want to put it - and all related bits {customization of the
timeout length, e.g.} into the code, unless there's a need.
Martin Maechler,
ETH Zurich
More information about the ESS-help
mailing list