~ chicken-core (chicken-5) 6a15da5387f129e8965d37327aa588e744928345
commit 6a15da5387f129e8965d37327aa588e744928345
Author: Evan Hanson <evhan@foldling.org>
AuthorDate: Mon Jan 4 14:32:14 2016 +1300
Commit: Evan Hanson <evhan@foldling.org>
CommitDate: Tue Mar 8 22:52:33 2016 +1300
Use full filename of found extensions when loading code
Avoids loading files without extensions, such as executables, when using
`require` and loading import libraries.
Fixes #133.
diff --git a/eval.scm b/eval.scm
index 21093b8e..33a6a9e8 100644
--- a/eval.scm
+++ b/eval.scm
@@ -1183,17 +1183,17 @@
(define ##sys#setup-mode #f)
(define ##sys#find-extension
- (let ((string-append string-append) )
+ (let ((file-exists? file-exists?)
+ (string-append string-append))
(lambda (p inc?)
(let ((rp (##sys#repository-path)))
(define (check path)
(let ((p0 (string-append path "/" p)))
- (and (or (and rp
- (not ##sys#dload-disabled)
- (##sys#fudge 24) ; dload?
- (file-exists? (##sys#string-append p0 ##sys#load-dynamic-extension)))
- (file-exists? (##sys#string-append p0 source-file-extension)) )
- p0) ) )
+ (or (and rp
+ (not ##sys#dload-disabled)
+ (##sys#fudge 24) ; dload?
+ (file-exists? (##sys#string-append p0 ##sys#load-dynamic-extension)))
+ (file-exists? (##sys#string-append p0 source-file-extension)))))
(let loop ((paths (##sys#append
(if ##sys#setup-mode '(".") '())
(if rp (list rp) '())
Trap