> On Jun 12, 2017, at 7:03 PM, Gábor Csárdi <csardi.ga...@gmail.com> wrote: > > Dear all, > > I hope somebody can help me understand if package authors are allowed > to create custom R connections or not. > > Until today, I thought that R had an "official" way to define custom > connections. E.g. this is an old commit message that was supposed to > create an API, maybe internal, though. > >> r62016 | urbaneks | 2013-02-21 14:29:44 -0500 (Thu, 21 Feb 2013) | 1 line >> add API to create custom connections > > The /src/include/R_ext/Connections.h file mentions "connection APIs". > "Writing R Extensions" has: > >> Facilities for defining custom connection implementations are provided in >> R_ext/Connections.h, but make sure you consult the file before use. > > This appeared in the R 3.3.0 NEWS: > >> The connections API now includes a function R_GetConnection() which allows >> packages >> implementing connections to convert R connection objects to Rconnection >> handles used in the >> API. Code which previously used the low-level R-internal getConnection() >> entry point should >> switch to the official API. > > However, from today, the R 3.3.0 NEWS item reads somewhat differently: > https://github.com/wch/r-source/commit/7e9889fa9bb9269ffadfe67f3ded4bdca51b8ed9 > > And perhaps more importantly, R CMD check gives a NOTE about > R_new_custom_connection and some other connection related functions > now: > https://github.com/wch/r-source/commit/e55605767570fc424b6c281e0b7489e8dc77b53f > > I am not sure what this means for package authors. > > Can package authors use R_new_custom_connection to create custom connections? > > If not, is there another way to create custom connections? >
No. Unfortunately, recent somewhat careless changes in R-devel have triggered a discussion about the connection API which was broken by that commit so R-devel cannot be used reliably. The API was precisely intended to be used by packages so it's ok to use it on CRAN. Although I cannot speak for the author, I suspect this change merely helps to flag where the API is used to follow the trail of breakage in R-devel. Cheers, Simon > Thank you, > Gabor > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel