~ chicken-core (chicken-5) fa104a8a22786a46377655cdff3dd474919dddda
commit fa104a8a22786a46377655cdff3dd474919dddda Author: Evan Hanson <evhan@foldling.org> AuthorDate: Sun Jan 3 19:03:15 2016 +1300 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Tue Mar 8 22:52:32 2016 +1300 Explicitly `##core#quote` required library ids in eval.scm The standard `quote` syntax isn't available in environments that haven't imported the "scheme" module. diff --git a/eval.scm b/eval.scm index 6a15f57c..e0a53beb 100644 --- a/eval.scm +++ b/eval.scm @@ -709,7 +709,7 @@ (compile (if (null? rs) '(##core#undefined) - `(##sys#require ,@(map (lambda (x) `',x) rs)) ) + `(##sys#require ,@(map (lambda (x) `(##core#quote ,x)) rs)) ) e #f tf cntr se) ) ) ] [(##core#require-extension) @@ -1285,7 +1285,7 @@ (impform (if comp? `(##core#declare (uses ,id)) - `(##sys#load-library ',id #f) ) + `(##sys#load-library (##core#quote ,id) #f)) impid #f) #t id) ) ((memq id ##sys#explicit-library-modules) @@ -1294,12 +1294,12 @@ (s (and info (assq 'syntax info)))) (values `(##core#begin - ,@(if s `((##core#require-for-syntax ',id)) '()) + ,@(if s `((##core#require-for-syntax (##core#quote ,id))) '()) ,(impform (if (not nr) (if comp? - `(##core#declare (uses ,id)) - `(##sys#load-library ',id #f) ) + `(##core#declare (uses ,id)) + `(##sys#load-library (##core#quote ,id) #f)) '(##core#undefined)) impid #f)) #t id) ) ) @@ -1313,13 +1313,13 @@ (values (impform `(##core#begin - ,@(if s `((##core#require-for-syntax ',id)) '()) + ,@(if s `((##core#require-for-syntax (##core#quote ,id))) '()) ,@(if (or nr (and (not rr) s)) '() (begin (add-req id #f) `((##sys#require - ,@(map (lambda (id) `',id) + ,@(map (lambda (id) `(##core#quote ,id)) (cond (rr (cdr rr)) (else (list id)) ) ) ) ) ) ) ) impid #f) @@ -1328,7 +1328,7 @@ (add-req id #f) (values (impform - `(##sys#require ',id) + `(##sys#require (##core#quote ,id)) impid #f) #f id))))))) (let loop ((id spec))Trap