Have you run CHICKEN_run once before this call happens?


yes, an thak you for the reply! i call CHICKEN_run(NULL) just after CHICKEN_initialize(...);
here is my init sequence in case you see anything:

i also get a crash if i type something like (car {1 2 3}) im not sure why some types of errors are cause but others crash.


-----------------------------------------------------------------

  GracePreferences* prefs=GracePreferences::getInstance();
  int hsize=prefs->getSchemeHeapSize();
  int ssize=prefs->getSchemeStackSize();

  res = CHICKEN_initialize(hsize, ssize, 0, (void*)C_grace_toplevel);
  if (res==0) {
reportChickenError( T(">>> Error: Chicken failed to initialize. \n") );
    return false;
  }

  res = CHICKEN_run(NULL);
  if (res==0) {
reportChickenError( T(">>> Error: Chicken failed to initialize. \n") );
    return false;
  }

  res = CHICKEN_eval_string_to_string( (char*)"(chicken-version)",
                                       buffer, 8192);
  if (res>0)
    text = text + T(", version ") + String(buffer).unquoted();
  text += T("\n(c) 2000-2007 Felix L. Winkelmann\n");
  console->postConsoleTextMessage(text);
  memset(buffer, 0,8192);
  if (res==0) {
reportChickenError( T(">>> Error: Chicken failed to initialize. \n") );
    return false;
  }
  CHICKEN_eval_string("(require-extension srfi-18)", &r);
  CHICKEN_eval_string("(require-extension srfi-1)", &r);
CHICKEN_eval_string("(define *grace-std-out* (make-output-port print-message (lambda () #f)))", NULL); res = CHICKEN_eval_string("(current-output-port *grace-std-out*)", NULL);
  if ( res==0 )
    reportChickenError();

res = CHICKEN_eval_string("(define *grace-err-out* (make-output- port print-error (lambda () #f)))", NULL);
  if ( res==0 )
    reportChickenError();

res = CHICKEN_eval_string("(current-error-port *grace-err-out*)", NULL);
  if ( res==0 )
    reportChickenError();


_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to