hi guys, I want to get a variable bidden from outside environment, such as the code below: -----------------------correct code------------------------ (define fp (open-output-file "/tmp/aaa")) (eval-string "(write 123 fp)" (current-module)) -------------------------end---------------------------------- This code can run successfully. But I want to use this trick in a procedure: -----------------------wrong code------------------------------ (define (func) (let ((fp (open-output-file "/tmp/aaa"))) (eval-string "(write 123 fp)" (current-module)) )) -----------------------end code------------------------------------ Guile will throw : ======================================== scheme@(guile-user)> (func) ERROR: In procedure memoize-variable-access!: ERROR: Unbound variable: fp0 ======================================== Is this a bug? Or I missed something?