Hi everyone,
I had some R code for dealing with connections, and I was using summary.connection(). I rewrote it in C, so I was doing something more like: #include <R_ext/Connections.h> Rconnection Rcon = R_GetConnection(file); Rcon->description or Rcon->class but now, when checking my package, I get the following note: * checking compiled code ... NOTE File 'this.path/libs/x64/this.path.dll': Found non-API call to R: 'R_GetConnection' Compiled code should not call non-API entry points in R. See 'Writing portable packages' in the 'Writing R Extensions' manual. This isn't surprising, <R_ext/Connections.h> (seen here: https://github.com/wch/r-source/blob/50ff41b742a1ac655314be5e25897a12d3096661/src/include/R_ext/Connections.h#L21) says that it is not part of the R API, and later on says that it is subject to change without notice or backwards compatibility. R_GetConnection was added in R 3.3.0, so I added "Depends: R (>= 3.3.0)" to my DESCRIPTION, then I added something like this to my header: #if !defined(R_CONNECTIONS_VERSION) #error why is R_CONNECTIONS_VERSION not defined???? #elif R_CONNECTIONS_VERSION == 1 extern Rconnection R_GetConnection(SEXP sConn); #else #error this.path is only implemented for R_CONNECTIONS_VERSION 1 #endif but the NOTE still remains. I think I've taken all the precautions I can, is there anything more I can do? Will I be unable to submit the update for my package? Will the CRAN team ignore the NOTE if I explain the precautions I added? ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel