From ripley at stats.ox.ac.uk  Tue Aug 24 19:59:39 2004
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Tue Aug 24 19:59:45 2004
Subject: [Rd] Changes to correct problems with classes in namespaces
In-Reply-To: <412B5A48.CC835E1F@research.bell-labs.com>
Message-ID: <Pine.LNX.4.44.0408241858480.16258-100000@gannet.stats>

John,

Looks like several packages are failing to dump or load with messages like
(SparseM)

Error in warning("Undefined slot classes in definition of \"",
classDef@className,  :
        Object "classDef" not found

So far I have seen this with SparseM, dynamicGraph (and hence deal and
gRbase).  Should that be `ClassDef'?  And is this a new error detected?

Brian


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@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


[Rd] Changes to correct problems with classes in namespaces
Prof Brian Ripley