Peter Dalgaard wrote: > Herve Pages wrote: [...] >> So everybody seems to assume that SET_ELEMENT(), SET_STRING_ELT(), >> SET_NAMES(), etc... can't (and will never) trigger garbage collection. >> But what about defineVar()? More generally, how do I know this for the >> functions/macros listed in Rdefines.h and Rinternals.h? >> > Yes, that point was well taken. You can't know unless we write it > somewhere. You can read the sources, but that is no guarantee that it > won't change in future versions. We should be better at documenting that > stuff, if for no other reason then to be able to distinguish between > YOUR bugs and OUR bugs. > If you grep through the sources, you'll find a number of instances of > things like > > defineVar(name, mkPromise(...), ...) > > which would break along with your case, but that is of course only an > indication, not proof that you can actually leave the value unprotected. >
Agreed. Thanks for your reply! H. ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel