[R] weirdness in sourc()ing a dump() (bug?)

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed May 5 21:20:51 CEST 2004


I don't think it is a bug.  Note that dump does not even claim to dump
lists let alone symbols, but ?dump says

     At present the implementation of 'dump' is very incomplete and it
     really only works for functions and simple vectors.

Given that, this is not unexpected. (Looks like more than one person did 
not check the help page ....)

I think save/load is a much safer way to handle saving R objects, and it 
does work in PD's example.


On 5 May 2004, Peter Dalgaard wrote:

> Webb Sprague <wwsprague at ucdavis.edu> writes:
> 
> > return(list (DATA=my.data, MEANS=data.frame(EXT.CUT=means[,1],
> > MEAN=means[,2]), run.date=date(), call.list=as.list(match.call())))
> > </SNIP>
> > 
> > As you can see, I am trying to return my call parameters as a list (so
> > I can write appropriate titles on my graphs).  It works just fine when
> > do
> 
> > Any thoughts?  Seems like a bug in dump, and I would be happy to help
> > squash it if the right person gets hold of me.
> 
> Yep, it's a bug. A minimal version is
> 
> > f <- function()as.list(match.call())
> > dput(f())
> list(f)
> 
> > dput(f(),"xx")
> > dget("xx")
> [[1]]
> function()as.list(match.call())
> 
> (or an error if you remove f first). What should happen is probably
> 
> > dput(f)
> list(as.name("f"))
> 
> Similarly
> 
> > f <- function()match.call()
> > dput(f())
> f()
> > dput(f(),"xx")
> > rm(f)
> > dget("xx")
> Error in eval(expr, envir, enclos) : couldn't find function "f"

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list