From c.ryan.king at gmail.com  Wed Mar 16 21:14:04 2011
From: c.ryan.king at gmail.com (Ryan King)
Date: Wed, 16 Mar 2011 15:14:04 -0500
Subject: [Rd] Detecting bad lexical scoping
Message-ID: <AANLkTimpAMDo383a2D85OBg4JOhkxzFpyThT4cvt1-7i@mail.gmail.com>

I've recently hunted down a troublesome bug in my own code, and am
looking for an easy mechanism to detect this kind of error in other R
code.  The problem was an undefined variable inside of a function.
Unfortunately, R looked for that variable in the global environment
and found it since there was variable with that name in my testing
scripts (note to self: do not name things "x").

Is there an easy way to report all the non-local objects accessed in a
function?

Is there any easy way around the usual scoping rules?  I want to be
able to get to base functions, and am willing to namespace:: or :::
access all of my own functions (it's in a package) if necessary to
block the standard scoping rules.  The language def section on
environments made me hurt.

Thanks,
C Ryan King
Dept Health Studies
University of Chicago



[Rd] Detecting bad lexical scoping
Ryan King