summaryrefslogtreecommitdiff
path: root/module
diff options
context:
space:
mode:
Diffstat (limited to 'module')
-rw-r--r--module/ice-9/boot-9.scm17
1 files changed, 16 insertions, 1 deletions
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index 101a2755a..d7cef2177 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -4601,7 +4601,22 @@ R7RS."
(values read read-syntax)))
(lambda (read* read-syntax*)
(set! read read*)
- (set! read-syntax read-syntax*)))
+ (set! read-syntax read-syntax*)
+
+ (set! primitive-load
+ (lambda (file-name)
+ (when %load-hook
+ (%load-hook file-name))
+ (call-with-input-file file-name
+ (lambda (port)
+ (let lp ((expr (read-syntax port)))
+ (let ((next (read-syntax port)))
+ (if (eof-object? next)
+ (primitive-eval expr)
+ (begin
+ (primitive-eval expr)
+ (lp next))))))
+ #:encoding "UTF-8" #:guess-encoding #t)))))