[Rd] as.environment.list provides inconsistent results under torture

peter dalgaard pdalgd at gmail.com
Wed Jan 12 15:03:48 CET 2011

On Jan 12, 2011, at 14:18 , <luke-tierney at uiowa.edu> <luke-tierney at uiowa.edu> wrote:
> I did do a quick scan of R-devel for this issue with eval and found these:
>    ./unix/aqua.c:	     eval(LCONS(install("library"),CONS(install("grDevices"),R_NilValue)),R_GlobalEnv);
>    ./unix/sys-std.c:    infile = PROTECT(eval(lang1(RComp_getFileCompSym), rcompgen_rho));
>    ./modules/X11/dataentry.c:       newval <- eval(parse(text=newval))
>    ./main/envir.c:			 return(eval(lang4(install("list2env"), arg,
>    ./gnuwin32/dataentry.c:       newval <- eval(parse(text=newval))
> I'll fix them in the next couple of days if no one else gets there
> first (but I'm not set up to test the aqua or gnuwin32 ones).

You had me perplexed there for a while: "<-" assignment in C code??? However, those lines occur inside comments, so at least gnuwin32 is not to worry about.

As you look around those parts, you might also find some superfluous PROTECTs inserted by me some time in the last century while trying to chase down the mysterious crashes that we had. (They eventually turned out to be caused by parser lookahead breaking protection stack discipline, fixed by UNPROTECT_PTR() etc.). I lost track a bit in the frenzy and I never got around to backing out everything. 

Peter Dalgaard
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com

More information about the R-devel mailing list