~ 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