~ chicken-core (chicken-5) 4a2a5a1b37ff17f07a3b4b46f182b6b17d030ca4


commit 4a2a5a1b37ff17f07a3b4b46f182b6b17d030ca4
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Nov 27 15:39:52 2010 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sat Nov 27 15:39:52 2010 +0100

    chicken-bootstrap feature defd during build, disables redef-std/ext binding warning

diff --git a/batch-driver.scm b/batch-driver.scm
index 62809c9f..8a9f20eb 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -295,7 +295,6 @@
        (lambda (f) (load (##sys#resolve-include-filename f #f #t))) 
        extends) )
     (set! ##sys#features (delete #:compiler-extension ##sys#features eq?))
-
     (set! ##sys#features (cons '#:compiling ##sys#features))
     (set! upap (user-post-analysis-pass))
 
@@ -333,6 +332,7 @@
 	    ssize) ) )
     (set! emit-trace-info (not (memq 'no-trace options)))
     (set! disable-stack-overflow-checking (memq 'disable-stack-overflow-checks options))
+    (set! bootstrap-mode (feature? #:chicken-bootstrap))
     (when (memq 'm debugging-chicken) (set-gc-report! #t))
     (unless (memq 'no-usual-integrations options)
       (set! standard-bindings default-standard-bindings)
diff --git a/compiler-namespace.scm b/compiler-namespace.scm
index e2efd577..91c9b47e 100644
--- a/compiler-namespace.scm
+++ b/compiler-namespace.scm
@@ -34,6 +34,7 @@
  block-compilation
  block-variable-literal-name
  block-variable-literal?
+ bootstrap-mode
  bomb
  broken-constant-nodes
  build-expression-tree
diff --git a/compiler.scm b/compiler.scm
index e0cef04a..0c526fa9 100644
--- a/compiler.scm
+++ b/compiler.scm
@@ -337,6 +337,7 @@
 (define enable-inline-files #f)
 (define compiler-syntax-enabled #t)
 (define unchecked-specialized-arithmetic #f)
+(define bootstrap-mode #f)
 
 
 ;;; These are here so that the backend can access them:
@@ -1796,7 +1797,7 @@
 	  ((set! ##core#set!) 
 	   (let* ((var (first params))
 		  (val (car subs)) )
-	     (when first-analysis 
+	     (when (and first-analysis (not bootstrap-mode))
 	       (case (variable-mark var '##compiler#intrinsic)
 		 ((standard)
 		  (warning "redefinition of standard binding" var) )
diff --git a/defaults.make b/defaults.make
index 566f1082..6622696f 100644
--- a/defaults.make
+++ b/defaults.make
@@ -271,7 +271,7 @@ CSI ?= csi$(EXE)
 
 # Scheme compiler flags
 
-CHICKEN_OPTIONS = -optimize-level 2 -include-path . -include-path $(SRCDIR) -inline -ignore-repository -feature building-chicken
+CHICKEN_OPTIONS = -optimize-level 2 -include-path . -include-path $(SRCDIR) -inline -ignore-repository -feature chicken-bootstrap
 ifdef DEBUGBUILD
 CHICKEN_OPTIONS += -feature debugbuild -scrutinize -types $(SRCDIR)types.db
 else
diff --git a/irregex-core.scm b/irregex-core.scm
index ab634f2b..9078fba7 100644
--- a/irregex-core.scm
+++ b/irregex-core.scm
@@ -80,7 +80,7 @@
 ;;;; Data Structures
 
 (cond-expand
-  (building-chicken
+  (chicken-bootstrap
    (begin
      (define-syntax (internal x r c)
        `(,(with-input-from-string (cadr x) read) ,@(cddr x)))
@@ -1559,7 +1559,7 @@
 ;;;; Compilation
 
 (cond-expand
-  (building-chicken
+  (chicken-bootstrap
    (define-syntax cached
      (syntax-rules ()
        ((_ arg fail) (build-cache 5 arg fail)))))
Trap