~ chicken-core (chicken-5) e1d3b21427293bc7ce5208c46e54dad89aa8ed70
commit e1d3b21427293bc7ce5208c46e54dad89aa8ed70 Author: Evan Hanson <evhan@foldling.org> AuthorDate: Tue Feb 2 23:33:55 2016 +1300 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Tue Mar 8 22:52:34 2016 +1300 No implicit imports when explicit-use is given diff --git a/batch-driver.scm b/batch-driver.scm index 7521ff16..ead86869 100644 --- a/batch-driver.scm +++ b/batch-driver.scm @@ -182,8 +182,7 @@ (initialize-compiler) (set! explicit-use-flag (memq 'explicit-use options)) (set! emit-debug-info (memq 'debug-info options)) - (let ((initforms `((import-for-syntax scheme chicken) - (import scheme chicken) + (let ((initforms `((import-for-syntax ,@default-syntax-imports) (##core#declare ,@(append default-declarations @@ -192,7 +191,10 @@ '()) (if explicit-use-flag '() - `((uses ,@units-used-by-default))))))) + `((uses ,@default-units))))) + ,@(if explicit-use-flag + '() + `((import ,@default-imports))))) (verbose (memq 'verbose options)) (outfile (cond ((memq 'output-file options) => (lambda (node) diff --git a/c-platform.scm b/c-platform.scm index be17ca7c..ad5483cc 100644 --- a/c-platform.scm +++ b/c-platform.scm @@ -34,8 +34,11 @@ optimizer support compiler)) (module chicken.compiler.c-platform - (default-declarations default-profiling-declarations - units-used-by-default + (;; Batch compilation defaults + default-declarations default-profiling-declarations + default-units default-imports default-syntax-imports + + ;; Compiler flags valid-compiler-options valid-compiler-options-with-argument ;; For consumption by c-backend *only* @@ -75,7 +78,10 @@ (bound-to-procedure ##sys#profile-entry ##sys#profile-exit) ) ) ) -(define units-used-by-default '(library eval chicken-syntax)) +(define default-units '(library eval)) +(define default-imports '(scheme chicken)) +(define default-syntax-imports '(scheme chicken)) + (define words-per-flonum 4) (eq-inline-operator "C_eqp")Trap