From winstonchang1 at gmail.com  Mon Aug 20 16:58:54 2012
From: winstonchang1 at gmail.com (Winston Chang)
Date: Mon, 20 Aug 2012 09:58:54 -0500
Subject: [Rd] rdyncall fears removal from CRAN
In-Reply-To: <F0DD11BC-94E6-486A-9E25-9379D2B6BBE4@uni-goettingen.de>
References: <20120814090906.31F128144A@gannet.stats.ox.ac.uk>
	<F0DD11BC-94E6-486A-9E25-9379D2B6BBE4@uni-goettingen.de>
Message-ID: <CAFOpNVHbgq+aKS2WGF_Pf_BXSR1H11ucaMAFVJ4+EBtR8VNePw@mail.gmail.com>

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



[Rd] rdyncall fears removal from CRAN
Winston Chang