~ chicken-core (chicken-5) 7bd90e5d67101fdc96bddea077bc66b80fb744ee
commit 7bd90e5d67101fdc96bddea077bc66b80fb744ee
Author: Evan Hanson <evhan@foldling.org>
AuthorDate: Tue Jan 16 23:02:01 2018 +1300
Commit: Evan Hanson <evhan@foldling.org>
CommitDate: Tue Jan 16 23:34:48 2018 +1300
Simplify `find-module/import-library' slightly
We can use `or' to handle the situation where the module wasn't found,
rather than `unless' and `set!'.
diff --git a/modules.scm b/modules.scm
index b02717cb..f726415c 100644
--- a/modules.scm
+++ b/modules.scm
@@ -581,11 +581,9 @@
(##sys#find-module mname 'import)))))
(define (find-module/import-library lib loc)
- (let* ((mname (##sys#resolve-module-name lib loc))
- (mod (##sys#find-module mname #f loc)))
- (unless mod
- (set! mod (##sys#import-library-hook mname)))
- mod))
+ (let ((mname (##sys#resolve-module-name lib loc)))
+ (or (##sys#find-module mname #f loc)
+ (##sys#import-library-hook mname))))
(define (##sys#decompose-import x r c loc)
(let ((%only (r 'only))
Trap