[ESS] Pause between startup commands

Martin Maechler maechler at stat.math.ethz.ch
Wed Aug 23 13:42:21 CEST 2006


>>>>> "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 patch,
    MM> now that you bring it up with a patch proposal
    MM> makes it a different story}

  [..........]

    MM> and many such cases of lines sent too fast and  "> > ..."  are
    MM> known to happen in similar cases. 
    MM> I think the reason is that emacs has become too fast :-)
    MM> The crucial function is 
    MM> (ess-eval-linewise .)
    MM> defined in lisp/ess-inf.el
    MM> and there I think it's (line 1009):

    MM> (accept-process-output nil 0 100)
    MM>                            ^^^^^
    MM> where the '0 100' means {0 second + 100 milliseconds} which we
    MM> wait before continuing anyway.

    MM> Of course one could increase the 100 and then maybe get better
    MM> "prompt reflectance" in ESS - but I assume it would be for the
    MM> cost of slowing down some operations.

    MM> In any case, I think we could (and should) make the '100' above
    MM> into a new optional argument of (ess-eval-linewise .)
    MM> where the arguments defaults to a new customizable variable,
    MM> so users can easily experiment.
    MM> If anyone has time to provide a patch, please use the source at
    MM> https://svn.R-project.org/ESS/trunk/lisp/

    MM> Do you want to try?

I've already tried the important part myself and
-- I was wrong --- changing the above '0 100' doesn't change a
thing in normal cases.

Rather it's the part in  ( ess-eval-linewise ) 
that says  "... Terrible kludge ..."
and later
	;; A kludge to prevent the delay between insert and process output
	;; affecting the display.	 A case for a comint-send-input-hook?

that probably could be tweaked.
But I don't have the time to try getting into this at the
moment.

Martin




More information about the ESS-help mailing list