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));

Reply via email to