﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1326	load then import of module inside eval fails to find module	Caolan McMahon		"test-module.scm

{{{
(module test-module *
(import chicken scheme)

(define (hello name)
  (string-append ""Hello, "" name)))
}}}

In csi:

{{{
#;1> (eval '(begin (load ""test-module.scm"") (import test-module) (hello ""world"")))

Error: (import) during expansion of (import ...) - cannot import from undefined module: test-module

	Call history:

	<syntax>	  (eval (quote (begin (load ""test-module.scm"") (import test-module) (hello ""world""))))
	<syntax>	  (quote (begin (load ""test-module.scm"") (import test-module) (hello ""world"")))
	<syntax>	  (##core#quote (begin (load ""test-module.scm"") (import test-module) (hello ""world"")))
	<eval>	  (eval (quote (begin (load ""test-module.scm"") (import test-module) (hello ""world""))))
	<syntax>	  (begin (load ""test-module.scm"") (import test-module) (hello ""world""))
	<syntax>	  (##core#begin (load ""test-module.scm"") (import test-module) (hello ""world""))
	<syntax>	  (load ""test-module.scm"")
	<syntax>	  (import test-module)	<--
}}}

This code works if I enter it directly into csi without the eval.
Interestingly, it also works if I split the eval into two steps:

{{{
#;1> (eval '(begin (load ""test-module.scm"")))
; loading test-module.scm ...
; loading /usr/lib/chicken/8/chicken.import.so ...
#;2> (eval '(begin (import test-module) (hello ""world"")))
""Hello, world"""	defect	closed	major	someday	unknown	4.11.0	invalid			
