From sfalcon at fhcrc.org  Wed Nov 15 16:32:54 2006
From: sfalcon at fhcrc.org (Seth Falcon)
Date: Wed, 15 Nov 2006 07:32:54 -0800
Subject: [Rd] Feature request: put NewEnvironment and R_NewhashedEnv
	into API
In-Reply-To: <Pine.LNX.4.64.0611150537070.2837@gannet.stats.ox.ac.uk> (Brian
	Ripley's message of "Wed, 15 Nov 2006 06:20:06 +0000 (GMT)")
References: <m2ac2th35g.fsf@ziti.local>
	<Pine.LNX.4.64.0611150537070.2837@gannet.stats.ox.ac.uk>
Message-ID: <m21wo4g1y1.fsf@ziti.local>

Prof Brian Ripley <ripley at stats.ox.ac.uk> writes:
> NewEnvironment is currently exposed as Rf_NewEnvironment.
> R_NewHashedEnv is currrently hidden, but I'll unhide it.  It does not
> need a further prefix.

Thank you.  Could someone provide a bit more detail on how to
determine if a given function in R's C code is exposed and/or public
or not?

Here's my current understanding after taking a look at Brian's patch
r39907:

A function can be hidden or not, but this is independent of whether the
function is "sanctioned" as part of R's package API.  Functions that
are not hidden can be used from package C code, but that doesn't
answer whether they _should_ be used.

To determine if a function is public, look at the headers in
R/src/include and refer to the README.  Thus, NewEnvironment and
R_NewHashedEnv, are both private since they are declared in Defn.h.
At present, one could call these function in package code, since they
are not hidden.

+ seth



[Rd] Feature request: put NewEnvironment and R_NewhashedEnv into API
Seth Falcon