Undo previous change, but add global variable
authorChris Hanson <org/chris-hanson/cph>
Wed, 11 Feb 1998 05:16:46 +0000 (05:16 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 11 Feb 1998 05:16:46 +0000 (05:16 +0000)
*ALLOW-PACKAGE-REDEFINITION?* that, if true, allows packages to be
redefined.  Intent is that this variable will be fluid-bound by
programs that want to be reloadable.

v7/src/runtime/make.scm
v7/src/runtime/packag.scm
v7/src/runtime/runtime.pkg
v8/src/runtime/make.scm
v8/src/runtime/runtime.pkg

index 95756db9fbeddac11d208c7051b1da357b6d2d26..a32e8e03794a67266e222840ae4a91e5fa7c2f40 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Id: make.scm,v 14.60 1997/07/13 07:24:46 cph Exp $
+$Id: make.scm,v 14.61 1998/02/11 05:16:46 cph Exp $
 
-Copyright (c) 1988-97 Massachusetts Institute of Technology
+Copyright (c) 1988-98 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -310,7 +310,8 @@ MIT in each case. |#
 (eval (file->object "packag" #t #f) environment-for-package)
 ((access initialize-package! environment-for-package))
 (let loop ((names
-           '(ENVIRONMENT->PACKAGE
+           '(*ALLOW-PACKAGE-REDEFINITION?*
+             ENVIRONMENT->PACKAGE
              FIND-PACKAGE
              NAME->PACKAGE
              PACKAGE/ADD-CHILD!
index 49b8c61d06ba80e16b0c141386d199da90d9815f..af671490d58994a4e031c8e0f25c7bbad6f99071 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: packag.scm,v 14.26 1998/02/11 04:50:31 cph Exp $
+$Id: packag.scm,v 14.27 1998/02/11 05:10:59 cph Exp $
 
 Copyright (c) 1988-98 Massachusetts Institute of Technology
 
@@ -134,7 +134,7 @@ MIT in each case. |#
        '()
        (cons (car list) (loop (cdr list))))))
 
-(define (package/add-child! package name environment #!optional no-force?)
+(define (package/add-child! package name environment #!optional force?)
   (let ((child (package/child package name))
        (finish
         (lambda (child)
@@ -143,7 +143,9 @@ MIT in each case. |#
           child)))
     (if child
        (begin
-         (if (and (not (default-object? no-force?)) no-force?)
+         (if (not (if (default-object? force?)
+                      *allow-package-redefinition?*
+                      force?))
              (error "Package already has child of given name:" package name))
          (set-package/environment! child environment)
          (set-package/children! child '())
@@ -154,6 +156,7 @@ MIT in each case. |#
          (finish child)))))
 
 (define system-global-package)
+(define *allow-package-redefinition?*)
 \f
 (define system-loader/enable-query?
   false)
@@ -226,8 +229,9 @@ MIT in each case. |#
   (lexical-reference (package/environment package) name))
 
 (define (initialize-package!)
-  (set! system-global-package
-       (make-package false false system-global-environment))
+  (set! system-global-package (make-package #f #f system-global-environment))
   (local-assignment system-global-environment
                    package-name-tag
-                   system-global-package))
\ No newline at end of file
+                   system-global-package)
+  (set! *allow-package-redefinition?* #f)
+  unspecific)
\ No newline at end of file
index cf37f0d7ebe2b88c8d6a708a97948cdc7d81be2f..3ba91b04d61d00d3e93dc2662f6798ddf7699c90 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: runtime.pkg,v 14.289 1998/01/08 05:59:11 cph Exp $
+$Id: runtime.pkg,v 14.290 1998/02/11 05:11:34 cph Exp $
 
 Copyright (c) 1988-98 Massachusetts Institute of Technology
 
@@ -65,6 +65,7 @@ MIT in each case. |#
   (files "packag")
   (parent ())
   (export ()
+         *allow-package-redefinition?*
          environment->package
          find-package
          name->package
index defa854b785a16fb7a4fd2078f79d68b4b9a40e7..7327f30cbeaec850a6c1bdecd912fa67ad1daf83 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Id: make.scm,v 14.63 1997/07/10 09:25:06 adams Exp $
+$Id: make.scm,v 14.64 1998/02/11 05:16:33 cph Exp $
 
-Copyright (c) 1988-97 Massachusetts Institute of Technology
+Copyright (c) 1988-98 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -320,7 +320,8 @@ MIT in each case. |#
 (eval (file->object "packag" #t #f) environment-for-package)
 ((access initialize-package! environment-for-package))
 (let loop ((names
-           '(ENVIRONMENT->PACKAGE
+           '(*ALLOW-PACKAGE-REDEFINITION?*
+             ENVIRONMENT->PACKAGE
              FIND-PACKAGE
              NAME->PACKAGE
              PACKAGE/ADD-CHILD!
index 1efbce4a745b0170251ea3af14ab1ee00d9ad0e0..9f67adc6709f42b8756d85d29e8ca60e28a97752 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: runtime.pkg,v 14.295 1998/01/08 05:59:01 cph Exp $
+$Id: runtime.pkg,v 14.296 1998/02/11 05:11:07 cph Exp $
 
 Copyright (c) 1988-98 Massachusetts Institute of Technology
 
@@ -65,6 +65,7 @@ MIT in each case. |#
   (files "packag")
   (parent ())
   (export ()
+         *allow-package-redefinition?*
          environment->package
          find-package
          name->package