On 10/23/06, Luke Tierney <[EMAIL PROTECTED]> wrote: > On Mon, 23 Oct 2006, Prof Brian Ripley wrote: > > > As far as I can tell from the original post, Deepayan asked for a way > > to find a package's namespace environment (rather than the package > > environment, <namespace:foo> not <package:foo>), so the subject line is > > subject to misinterpretation. > > > > On Mon, 23 Oct 2006, Prof Brian Ripley wrote: > > > >> On Sun, 22 Oct 2006, Seth Falcon wrote: > >> > >>> Seth Falcon <[EMAIL PROTECTED]> writes: > >>>> Perhaps: > >>>> > >>>> R_FindNamespace(mkString(where)) > >>> > >>> Sorry, this won't help you for package-level code as this function is > >>> part of the internal use only API. It would be nice to have access to > >>> it or a similar function from C in package code. > >> > >> Hmm, it is declared in Rinternals.h, which is the public header for > >> manipulating R objects at C level. As such it is available to packages, > >> but > >> as it is not documented in 'Writing R Extensions' it is subject to change. > >> > >> R_FindNamespace is essentially the same code as Duncan M provided, so it > >> is a > >> pretty simple function. (It still contains a test that namespaces are > >> supported, and that seems long overdue for removal.) > > > > I think Deepayan's original enquiry was about getting hold of a namespace > > environment from within an already loaded namespace. That can be done > > entirely at C level, as we don't have the complication of possibly loading > > the namespace. Just > > > > val = findVarInFrame(R_NamespaceRegistry, install("pkgname")); > > > > does that job, with val == R_UnboundValue should the namespace not be > > loaded. AFAICS, everything here is available to a package writer, and > > this is equally undocumented. > > This level of detail should remain undocumented as it might be useful > to change the representation at some point. R_FindNamespace is a safer > bet, and we probably should document it as officially available..
OK, so I'm now using rho = PROTECT(R_FindNamespace(mkString("mypkg"))), Thanks, Deepayan ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel