On Mon, Aug 20, 2012 at 4:05 AM, Daniel Adler <dadler at
uni-goettingen.de> wrote:> Dear R Core and CRAN Team,
>
> I received a warning that the rdyncall package [1] will be archived and
removed from the main CRAN distribution at 7th of September
> if I can not get rid of .Internal calls.
>
>> From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
>> Subject: Use of .Internal in CRAN package rdyncall
>> Date: August 14, 2012 11:09:06 AM GMT+02:00
>> To: dadler at uni-goettingen.de
>>
>> R CMD check has been warning about the use of .Internal in packages
>> for several months now, in R-release since 2.15.0. We have decided
>> that it will not be allowed at all in the next release of R (not least
>> because the work on long vectors means we need to move
>> argument-checking code between internal code and the R wrapper).
>>
>> So can we please have a package update without .Internal calls by
>> September 7 (or the package will be archived). You should also check
>> the R-devel CRAN check pages at
>> http://cran.r-project.org/web/checks/check_results_<pkg>.html
(replace
>> <pkg> by the name of your package) for any other issues that need
to
>> be addressed.
>
>
> The use of .Internal in rdyncall was due to a missing interface for
namespace object management.
> Since the main task of this package is to offer an alternative FFI *AND* a
catalog of ready-to-use bindings to
> popular C libraries (across platforms) and interface for attach/remove of
namespace objects was required.
> The current implementation uses a small snippet of code
"makeNamespace" from src/library/base/R/namespace.R and we have to
make a
> call to .Internal(registerNamespace).
>
> A request was made on the mailing list in the past:
>
> https://stat.ethz.ch/pipermail/r-devel/2011-December/062839.html
>
> Since the deadline is very soon, I emphasize and repeat my request for an R
programming interface to namespace objects
> and I please you for advices to go about this issue.
>
> Are there any other plans for opening the interface to namespace
management?
>
> The namespace creation function 'makeNamespace' is currently
defined in a local scope to another function
> making it not accessible from the outside.
> 'registerNamespace' is a functionality only available via
'.Internal'.
> So what is 'good pratice' for opening access to this - another
wrapper in 'base' that calls '.Internal' ?
>
> It would be very sad if rdyncall is dropped from CRAN since more and more
package authors are using it for different applications.
> For those that need more detail, there is an article on R Journal
(http://journal.r-project.org/archive/2012-1/RJournal_2012-1_Adler.pdf)
>
> Any help, comment and advice is very appreciated.
>
> Thank you
> - Daniel
>
This is also very relevant for devtools. There have been some recent
changes to the in-development version of devtools, so that it loads
development packages into a namespace. Previously, it didn't use
namespaces, but now that it does, it much more closely approximates
normal package loading behavior.
It now uses the internal functions registerNamespace and
unregisterNamespace. Is there a workaround to do these things without
using the internal functions?
-Winston