~ 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