~ chicken-core (chicken-5) 8b8bb18a6ebfef477935356bdf73c6eb2c3f0435
commit 8b8bb18a6ebfef477935356bdf73c6eb2c3f0435 Author: Peter Bex <peter@more-magic.net> AuthorDate: Fri Apr 27 21:11:21 2018 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Fri Apr 27 21:36:05 2018 +0200 Fix import-library-hook in eval-modules so it won't call #f When used in a statically compiled program, the '##sys#import property will be missing from the module if it isn't linked into the program. We were calling the procedure value on the '##sys#import property, instead of checking whether it is set. Found during investigation of #1437 Signed-off-by: felix <felix@call-with-current-continuation.org> diff --git a/eval-modules.scm b/eval-modules.scm index e05e2bd3..5724c294 100644 --- a/eval-modules.scm +++ b/eval-modules.scm @@ -98,6 +98,5 @@ (set! ##sys#import-library-hook (let ((hook ##sys#import-library-hook)) (lambda (mname) - (let ((il (get mname '##sys#import))) - (or (il) - (hook mname)))))) + (cond ((get mname '##sys#import) => (lambda (il) (il))) + (else (hook mname)) ) ) ) )Trap