[Rd] Changes to correct problems with classes in namespaces
jmc at research.bell-labs.com
Tue Aug 24 21:21:57 CEST 2004
Prof Brian Ripley wrote:
> Looks like several packages are failing to dump or load with messages like
> Error in warning("Undefined slot classes in definition of \"",
> classDef at className, :
> Object "classDef" not found
> So far I have seen this with SparseM, dynamicGraph (and hence deal and
> gRbase). Should that be `ClassDef'?
It should. Thanks.
> And is this a new error detected?
You mean a new test? Yes, there's a sufficient chance of a typo-- that
the user didn't really mean to insert an undefined class as a slot --
that a warning (not an errorr) seems desirable. (S3 classes are fine as
slots, but unless setOldClass is used they can't be verified.)
> On Tue, 24 Aug 2004, John Chambers wrote:
> > An extensive set of changes to the methods package has been committed
> > today to allow non-exported classes from packages with namespaces (and
> > some related fixes in dealing with generic functions from namespaces as
> > well).
> > The namespace mechanism requires packages to export any class
> > definitions that are part of the API. Unfortunately, NOT exporting
> > classes has never really worked.
> > The problem was essentially that computations such as method dispatch
> > used the character-string name of a class, with no information about
> > where that class came from. For non-exported classes, this caused many
> > computations down the line to fail. Related problems came from not
> > using the generic function objects and the class definition objects.
> > The modified code passes the usual check and check-devel tests, plus
> > some tests for dealing with private classes, but if you have packages
> > that use methods extensively, please try these with the current r-devel
> > as soon as possible.
> > John
> 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
John M. Chambers jmc at bell-labs.com
Bell Labs, Lucent Technologies office: (908)582-2681
700 Mountain Avenue, Room 2C-282 fax: (908)582-3340
Murray Hill, NJ 07974 web: http://www.cs.bell-labs.com/~jmc
More information about the R-devel