From deepayan.sarkar at gmail.com  Fri Apr 27 01:39:01 2007
From: deepayan.sarkar at gmail.com (Deepayan Sarkar)
Date: Thu, 26 Apr 2007 16:39:01 -0700
Subject: [Rd] evaluation in unattached namespace
Message-ID: <eb555e660704261639h531c7c0fk968283b961b0f504@mail.gmail.com>

Hi,

I recently discovered this buglet in lattice: If lattice is _not_
attached, I get

> lattice::dotplot(~1:10)
Error in eval(expr, envir, enclos) : could not find function "bwplot"

This happens because of this:

> lattice:::dotplot.formula
function (x, data = NULL, panel = "panel.dotplot", ...)
{
    ocall <- ccall <- match.call()
    ccall$data <- data
    ccall$panel <- panel
    ccall[[1]] <- as.name("bwplot")
    ans <- eval.parent(ccall)
    ans$call <- ocall
    ans
}
<environment: namespace:lattice>

That is, ccall is eval()-ed in the global environment where bwplot is
not visible. While this example is somewhat silly, similar things
happen when I try to import lattice from another package.

Are there any simple alternatives? I tried

    ccall[[1]] <- as.name("lattice::bwplot")

but that didn't work either.

-Deepayan



[Rd] evaluation in unattached namespace
Deepayan Sarkar