cref: Support (parent #f) packages. Punt system-global-package.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Wed, 24 Apr 2013 00:48:31 +0000 (17:48 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Wed, 24 Apr 2013 00:48:31 +0000 (17:48 -0700)
commite7f80810f92a1cc04fff53012a119d114f147d80
tree47357504493eacbb57e8a53392d0d0e0066d8dbb
parent4ce74a627ebae958c8b59edbc0c69aa0cfd3bdef
cref: Support (parent #f) packages.  Punt system-global-package.

The package-structure<? sort did not ensure that BOTH a package's
parent-in-name and parent-environment were created first.  An easier
sort ensures only that the parent-environment is created first.  The
parent-in-name was only needed to hang the "child" on a tree.  This
patch replaces the tree with a list: *packages*.  Thus a
parent-in-name is not needed and the only parent/child tree is the
environment tree.

To catch out old code searching for packages via package/children (as
in swank.scm) the system-global-package binding was removed, as was
package/child.  Package/add-child! seems popular and so is supported
(with only minor trouble, i.e. no APPENDing during the cold load).
Package creation by other means is... not supported.
src/cref/conpkg.scm
src/cref/redpkg.scm
src/runtime/make.scm
src/runtime/packag.scm
src/runtime/runtime.pkg
src/runtime/swank.scm