Hi Christophe

You could also look at the 'foodweb' function in package 'mvbutils'-- and 
specifically 'callers.of'. It should do just what you want, though you do have 
to tell it which environments to search through.

bye
Mark

-- 
Mark Bravington
CSIRO Mathematical & Information Sciences
Marine Laboratory
Castray Esplanade
Hobart 7001
TAS

ph (+61) 3 6232 5118
fax (+61) 3 6232 5012
mob (+61) 438 315 623

Christophe Rhodes wrote:
> Duncan Murdoch <murdoch.dun...@gmail.com> writes:
> 
>> On 27/08/2010 7:52 AM, Christophe Rhodes wrote:
>>> Hi,
>>> 
>>> Is there any way, from R code, to perform introspection as to where
>>> certain names acquired their values?
>> 
>> There's the "keep.source" option to source() and the optional
>> "srcfile" argument to parse() that tell R to keep this information.
>> If you haven't changed the default
>> getOption("keep.source") from TRUE, then source will default to
>> keeping it, and you can find the original location of a function
>> definition for function f by looking in attr(body(f), "srcref").  See
>> ?srcref for the format; there aren't a lot of user-level utility
>> functions for working with this.
> 
> Thanks.  This is enough for my immediate purposes: supporting
> single-keystroke (M-.) jumping to source locations of functions. 
> 
>> For packages, the relevant option is "keep.source.pkgs" at the time
>> the package is installed.
> 
> Thank you.
> 
> Is there anything like a cross-referencing database within R?  The
> functionality I'm looking for here is to be able to name a function,
> and come back with a list of functions (or srcrefs) where that name
> is used.  (I realise that this is not in general possible; just the
> lexically-apparent cases would be enough).    
> 
> Cheers,
> 
> Christophe
> 
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to