~ 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