2008/5/16 Remco Bras <[EMAIL PROTECTED]>:
> Hello,
>
> after the last exchange in this thread, I wrote and tested a prototype of a
> repl for my app. The code for this is as follows:
>
> int
> exec_guile_shell (void *unused_arg)
> {
> scm_init_guile();
[...]
> This is run when the app starts, after using scm_c_define_gsubr to define the
> primitive interface my app exports and after scm_c_primitive_load is used to
> read in user-defined scheme files.
[...]
> For the most part, this works fine, but if I use this REPL to evaluate a call
> to one of the functions I have defined using scm_c_define_gsubr, for example
> (stop-repl), the function is unbound in the environment the REPL uses. I've
> tried using scm_interaction_environment() as a second argument to scm_eval
> rather than using scm_primitive_eval, but that did not solve this problem.
What environment (or module) are your gsubrs defined in, and how
exactly does your C code achieve this?
Does exec_guile_shell() run in a separate thread from the thread where
the gsubrs were defined?
Neil