~ chicken-core (chicken-5) 7bda9854de8552c27c59fbd796bdb5cd26b88a6f


commit 7bda9854de8552c27c59fbd796bdb5cd26b88a6f
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Sat Jan 2 11:22:57 2016 +1300
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Tue Mar 8 22:52:32 2016 +1300

    Don't use features to track core unit loading

diff --git a/core.scm b/core.scm
index 2617d7ed..04a474b8 100644
--- a/core.scm
+++ b/core.scm
@@ -690,11 +690,10 @@
 						      (lambda () (list id*)))))))
 				      (unless (or f
 						  (and (symbol? id)
-						       (or (feature? id)
-							   (##sys#find-extension
-							    (##sys#canonicalize-extension-path
-							     id 'require-extension)
-							    #f)) ) )
+						       (##sys#find-extension
+							(##sys#canonicalize-extension-path
+							 id 'require-extension)
+							#f)))
 					(warning
 					 (sprintf "extension `~A' is currently not installed" realid)))
 				      `(##core#begin ,exp ,(loop (cdr ids))) ) ) ) )
@@ -1450,7 +1449,6 @@
      (case (strip-syntax (car spec)) ; no global aliasing
        ((uses)
 	(let ((us (stripu (cdr spec))))
-	  (apply register-feature! us)
 	  (when (pair? us)
 	    (##sys#hash-table-update!
 	     file-requirements 'static
diff --git a/data-structures.scm b/data-structures.scm
index f6726eee..2e78205d 100644
--- a/data-structures.scm
+++ b/data-structures.scm
@@ -47,9 +47,6 @@
 
 (include "common-declarations.scm")
 
-(register-feature! 'data-structures)
-
-
 
 ;;; Combinators:
 
diff --git a/eval.scm b/eval.scm
index d30a6504..f5df5b77 100644
--- a/eval.scm
+++ b/eval.scm
@@ -67,11 +67,8 @@
 (include "common-declarations.scm")
 (include "mini-srfi-1.scm")
 
-(register-feature! 'eval)
-
 (define-syntax d (syntax-rules () ((_ . _) (void))))
 
-
 (define-foreign-variable install-egg-home c-string "C_INSTALL_EGG_HOME")
 (define-foreign-variable installation-home c-string "C_INSTALL_SHARE_HOME")
 (define-foreign-variable binary-version int "C_BINARY_VERSION")
diff --git a/expand.scm b/expand.scm
index f18866f3..2acc467a 100644
--- a/expand.scm
+++ b/expand.scm
@@ -58,7 +58,7 @@
 	  ?se))))
 
 (set! ##sys#features
-  (append '(#:expand #:hygienic-macros #:syntax-rules
+  (append '(#:hygienic-macros #:syntax-rules
 	    #:srfi-0 #:srfi-2 #:srfi-6 #:srfi-9 #:srfi-46 #:srfi-55 #:srfi-61) 
 	  ##sys#features))
 
diff --git a/extras.scm b/extras.scm
index 975bdac0..5185ad5c 100644
--- a/extras.scm
+++ b/extras.scm
@@ -40,8 +40,6 @@
 
 (include "common-declarations.scm")
 
-(register-feature! 'extras)
-
 
 ;;; Read expressions from file:
 
diff --git a/files.scm b/files.scm
index 32a756d1..6d367b98 100644
--- a/files.scm
+++ b/files.scm
@@ -68,8 +68,6 @@ EOF
 
 (include "common-declarations.scm")
 
-(register-feature! 'files)
-
 
 (define-foreign-variable strerror c-string "strerror(errno)")
 
diff --git a/irregex.scm b/irregex.scm
index dd48784b..58810122 100644
--- a/irregex.scm
+++ b/irregex.scm
@@ -49,8 +49,6 @@
 
 (include "common-declarations.scm")
 
-(register-feature! 'irregex)
-
 ;; These should probably be taken out of irregex upstream
 (declare (unused filter integer-log cset-size remove))
 
diff --git a/lolevel.scm b/lolevel.scm
index 886b2916..0653903a 100644
--- a/lolevel.scm
+++ b/lolevel.scm
@@ -61,8 +61,6 @@ EOF
 
 (include "common-declarations.scm")
 
-(register-feature! 'lolevel)
-
 
 ;;; Helpers:
 
diff --git a/ports.scm b/ports.scm
index e419bc2a..2d5b40d5 100644
--- a/ports.scm
+++ b/ports.scm
@@ -58,8 +58,6 @@
 
 (include "common-declarations.scm")
 
-(register-feature! 'ports)
-
 
 ;;;; Port-mapping (found in Gauche):
 
diff --git a/tcp.scm b/tcp.scm
index 3c3600cf..f1c269d5 100644
--- a/tcp.scm
+++ b/tcp.scm
@@ -149,7 +149,6 @@ EOF
 
 (include "common-declarations.scm")
 
-(register-feature! 'tcp)
 
 (define-foreign-type sockaddr* (pointer "struct sockaddr"))
 (define-foreign-type sockaddr_in* (pointer "struct sockaddr_in"))
diff --git a/utils.scm b/utils.scm
index 0689a6bf..5caf2898 100644
--- a/utils.scm
+++ b/utils.scm
@@ -50,8 +50,6 @@
 
 (include "common-declarations.scm")
 
-(register-feature! 'utils)
-
 
 ;;; Like `system', but allows format-string and bombs on nonzero return code:
 
Trap