From spinuvit.list at gmail.com  Tue Aug 17 00:30:53 2010
From: spinuvit.list at gmail.com (Vitaly S.)
Date: Tue, 17 Aug 2010 00:30:53 +0200
Subject: [Rd] parent.frame(1) of a S4 method is not a calling
	environment.
References: <87d3tj4ku4.fsf@gmail.com> <4C698DAC.3090704@fhcrc.org>
Message-ID: <87wrrq2ns2.fsf@gmail.com>


Martin Morgan <mtmorgan at fhcrc.org> writes:
>> 
>> So,  can I be sure that for such functions parent.frame(2) will always work?
>> What are the additional rules?
>
> callNextMethod() will cause additional problems; the idea that you'll
> grab things from somewhere other than function arguments doesn't seem
> like a robust design, even if it's used in some important parts of R.
>
> Martin
>

That make it difficult to handle unevaluated expressions in methods. A solution
would be to explicitly require the users to use quote() or expression(),  and
then to use the "expression" in the signature. Slightly unpleasant, though.

Standardised, simpler syntax like .() in  ggplot and plyr,  would be handy here.
Hopefully .() is not grabbed for something else in meanwhile:).

Vitaly.



[Rd] parent.frame(1) of a S4 method is not a calling environment.
Vitaly S.