thanks to the ever helpful Matthew Flatt now we have a patch that works
without recompiling racket while they are looking into the bug.
it seems that MZ_REGISTER_STATIC() works only after scheme_basic_env()
is called, which breaks when calling Interpreter::Register() and
Interpreter::Initialise()
I mentioned it before, but maybe this is a good moment to get into that
again; How about a tracer for fluxus?
racket has a tracer, and it also displays the backtrace, although i
always had the feeling that for some reason it does not work that well
with fluxus or embedded applications.
best,
gabor
diff --git a/modules/scheme/fluxus.ss b/modules/scheme/fluxus.ss
index 3ca01da..f7d8c8c 100644
--- a/modules/scheme/fluxus.ss
+++ b/modules/scheme/fluxus.ss
@@ -7,7 +7,7 @@
"help.ss"
"camera.ss"
"building-blocks.ss"
- "collada-import.ss"
+ ;"collada-import.ss"
"randomness.ss"
"poly-tools.ss"
"pixels-tools.ss"
@@ -25,7 +25,7 @@
(all-from-out "help.ss")
(all-from-out "camera.ss")
(all-from-out "building-blocks.ss")
- (all-from-out "collada-import.ss")
+ ;(all-from-out "collada-import.ss")
(all-from-out "randomness.ss")
(all-from-out "poly-tools.ss")
(all-from-out "pixels-tools.ss")
diff --git a/src/Interpreter.cpp b/src/Interpreter.cpp
index 6424a09..c207c35 100644
--- a/src/Interpreter.cpp
+++ b/src/Interpreter.cpp
@@ -81,6 +81,7 @@ void Interpreter::Initialise()
MZ_GC_REG();
m_Scheme=scheme_basic_env();
+ Interpreter::Register();
scheme_pipe(&m_OutReadPort,&m_OutWritePort);
scheme_pipe(&m_ErrReadPort,&m_ErrWritePort);
diff --git a/src/main.cpp b/src/main.cpp
index 6c37dca..2075568 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -266,7 +266,7 @@ int run(void *data)
char **argv = myargs->argv;
// we create our own Scheme_Env in here, as we need
// to be able to reset it with F6. Seems to be ok to ignore se...
- Interpreter::Register();
+ //Interpreter::Register();
Interpreter::Initialise();
srand(time(NULL));