[ESS-bugs] ESS 13.09-1 with old R versions fails pretty badly

Martin Maechler maechler at stat.math.ethz.ch
Tue Oct 29 11:04:51 CET 2013


>>>>> Martin Maechler <maechler at stat.math.ethz.ch>
>>>>>     on Tue, 29 Oct 2013 08:53:12 +0100 writes:

>>>>> Vitalie Spinu <spinuvit at gmail.com>
>>>>>     on Mon, 28 Oct 2013 17:02:24 -0700 writes:

    >> I am surprise that you are the guy who is proposing
    >> this. You just had hard time figuring out one version on
    >> your PC. What will you do with two? :P

    >> BTW, we don't know when it started failing with very old
    >> versions. Nobody is testing them anyhow. ESSR is recent
    >> but most of its code was used for quite a while.

In addition to what I just wrote.
The code using too new R features is only a small problem at the
moment.  Even R 2.12.2  does not work, e.g., 
and the problem is always in attaching (or installing) the ESSR package.

And note that when the package is not correctly attached there
is *no* R support code, and almost nothing works.
It is even worse than running R in the shell; there at least
?<..> works;
or running R in a terminal, where additionally (thanks to
readline etc) function name completion and more works nicely.

Really, I'm not asking for full support of very old R versions,
but I really do need basic functioning.

And one of the first things needing to be changed is having the
tarball become versioned again, so older R versions can install it.
Just because we accidentally had several ESS_<ver>.tar.gz  in
svn for a time, does not mean we need to change using versioned
tarballs, something R uses everywhere and 'R CMD build' builds
anyway.

One very simple and pretty robust workaround we should do:
If the  ESSR  cannot be added validly to the search path, we can
at least do the following

 for(f in list.files("<......>/ess/etc/ESSR/R", 
		     pattern ="\\.R$", full.names=TRUE)) source(f)

or possibly  sys.source() instead of source()

I just tested it and it did work at least for some R versions (~ 2.0.x)
but not for 1.6.x or so and hence still not good enough for my
personal use...

So even though we should implement the above workaround
I'd still consider Rodney's proposal of automatically using an old version of
ESS when the above  for(.. ..)  source(f)  fails.

Martin



More information about the ESS-bugs mailing list