On 25/04/2021 7:23 p.m., Cai Li wrote:
Hello All,

I'm developing a package with C code. My question may be naive: I have
several internal R functions that need to be called by C, but I cannot get
it to work or find a solution. It can work if I export those internal
functions in namespace, but it fails if I just want to keep them as
internal functions without exporting them. I guess I need some flags to
indicate the "internal" R internal functions? Could you please share your
thoughts on how to fix this? Much appreciated in advance!

//   set up call to R function "R_function"
     SEXP func_R;
     PROTECT(func_R=lang2(install("R_function"), func_data));


It all depends on the environment where you evaluate that expression, just as it would if it was R code. You can't see internal package functions from the global environment, you need to evaluate them in the package namespace environment.

Duncan Murdoch

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to