[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Module/Namespace problems at scm_init_*_module time.
From: |
Rob Browning |
Subject: |
Module/Namespace problems at scm_init_*_module time. |
Date: |
01 Dec 2000 17:10:14 -0600 |
User-agent: |
Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7 |
I'm in the process of reworking a lot of g-wrap, and I'm adding
fancier support for shared libraries, but I'm kind of stumped at the
moment on what I suspect is a namespace issue.
Basically, I need to be able to invoke some scheme code from within a
scm_init_*_module file, but as far as gh_eval_str is concerned,
nothing is defined (i.e. not current-module, quote, newline,
nothing...). However, gh_lookup can find some things.
So my first question is, is there something I need to do in the
scm*init function to get to the point of having a normal scheme side
namespace?
My second question is related, but more specific to my current
situation.
Presume I've got a module named (g-wrap runtime) that's implemented in
g-wrap/runtime.scm, and it's defined as follows:
(define-module (g-wrap runtime))
(define (some-scm-func-scm_init_runtime_wrappers_module-needs ...) ...)
...
(use-modules (g-wrap runtime-wrappers))
so (g-wrap runtime-wrappers) won't load until after the scm side
function it needs has been defined.
If I want for runtime-wrappers to be able to see the scm func that it
needs (the one defined above), then I need to "use" (g-wrap runtime)
from g-wrap/libruntime-wrappers.so somehow, but so far I haven't had
any luck.
I tried to put a
gh_eval_str("(use-modules (g-wrap runtime))");
in _init, but that failed claiming that use-modules isn't defined.
and I tried using
gh_display(gh_call1(gh_lookup("process-use-modules"),
gh_list(gh_list(gh_symbol2scm("g-wrap"),
gh_symbol2scm("runtime"),
SCM_UNDEFINED),
SCM_UNDEFINED)));
directly, but that fails too, though it does appear to successfully
call process-use-modules.
So is there a way to get this to work, or am I going to have to
rethink my approach?
Thanks
--
Rob Browning <address@hidden> PGP=E80E0D04F521A094 532B97F5D64E3930
- Module/Namespace problems at scm_init_*_module time.,
Rob Browning <=