add: prefix_all_defined_symbol = scheme_intern_symbol("prefix-all-defined"); prefix_all_defined_except_symbol = scheme_intern_symbol("prefix-all-defined-except");
context: void scheme_finish_kernel(Scheme_Env *env){  /* When this function is called, the initial namespace has all the     primitive bindings for syntax and procedures. This function fills     in the module wrapper for #%kernel. */  Scheme_Bucket_Table *ht;  int i, j, count, syntax_start = 0;  Scheme_Bucket **bs;  Scheme_Object **exs, *w, *rn;  Scheme_Object *insp;  REGISTER_SO(kernel);  kernel = MALLOC_ONE_TAGGED(Scheme_Module);  kernel->so.type = scheme_module_type;  insp = scheme_get_param(scheme_current_config(), MZCONFIG_CODE_INSPECTOR);    scheme_initial_env->module = kernel;  scheme_initial_env->insp = insp;  kernel->modname = kernel_symbol;  kernel->requires = scheme_null;  kernel->et_requires = scheme_null;  kernel->tt_requires = scheme_null;  kernel->insp = insp;    /* Provide all syntax and variables: */  count = 0;  for (j = 0; j < 2; j++) {    if (!j)      ht = scheme_initial_env->toplevel;    else {      ht = scheme_initial_env->syntax;      syntax_start = count;    }    bs = ht->buckets;    for (i = ht->size; i--; ) {      Scheme_Bucket *b = bs[i];      if (b && b->val)	count++;    }  }  exs = MALLOC_N(Scheme_Object *, count);  count = 0;  for (j = 0; j < 2; j++) {    if (!j)      ht = scheme_initial_env->toplevel;    else      ht = scheme_initial_env->syntax;    bs = ht->buckets;    for (i = ht->size; i--; ) {      Scheme_Bucket *b = bs[i];      if (b && b->val)	exs[count++] = (Scheme_Object *)b->key;    }  }   kernel->functional = 1;  kernel->et_functional = 1;  kernel->tt_functional = 1;  kernel->no_cert = 1;  kernel->provides = exs;  kernel->provide_srcs = NULL;  kernel->provide_src_names = exs;  kernel->num_provides = count;  kernel->num_var_provides = syntax_start;  scheme_initial_env->running = 1;  scheme_initial_env->et_running = 1;  scheme_initial_env->attached = 1;  rn = scheme_make_module_rename(0, mzMOD_RENAME_NORMAL, NULL);  for (i = kernel->num_provides; i--; ) {    scheme_extend_module_rename(rn, kernel_symbol, exs[i], exs[i], kernel_symbol, exs[i], 0);  }  scheme_sys_wraps(NULL);  REGISTER_SO(scheme_module_stx);  REGISTER_SO(scheme_begin_stx);  REGISTER_SO(scheme_define_values_stx);  REGISTER_SO(scheme_define_syntaxes_stx);  REGISTER_SO(define_for_syntaxes_stx);  REGISTER_SO(require_stx);  REGISTER_SO(require_for_syntax_stx);  REGISTER_SO(require_for_template_stx);  REGISTER_SO(provide_stx);  REGISTER_SO(set_stx);  REGISTER_SO(app_stx);  REGISTER_SO(top_stx);  REGISTER_SO(lambda_stx);  REGISTER_SO(case_lambda_stx);  REGISTER_SO(let_values_stx);  REGISTER_SO(letrec_values_stx);  REGISTER_SO(if_stx);  REGISTER_SO(begin0_stx);  REGISTER_SO(set_stx);  REGISTER_SO(with_continuation_mark_stx);  REGISTER_SO(letrec_syntaxes_stx);  REGISTER_SO(fluid_let_syntax_stx);  w = scheme_sys_wraps0;  scheme_module_stx = scheme_datum_to_syntax(scheme_intern_symbol("module"), scheme_false, w, 0, 0);  scheme_begin_stx = scheme_datum_to_syntax(scheme_intern_symbol("begin"), scheme_false, w, 0, 0);  scheme_define_values_stx = scheme_datum_to_syntax(scheme_intern_symbol("define-values"), scheme_false, w, 0, 0);  scheme_define_syntaxes_stx = scheme_datum_to_syntax(scheme_intern_symbol("define-syntaxes"), scheme_false, w, 0, 0);  define_for_syntaxes_stx = scheme_datum_to_syntax(scheme_intern_symbol("define-values-for-syntax"), scheme_false, w, 0, 0);  require_stx = scheme_datum_to_syntax(scheme_intern_symbol("require"), scheme_false, w, 0, 0);  require_for_syntax_stx = scheme_datum_to_syntax(scheme_intern_symbol("require-for-syntax"), scheme_false, w, 0, 0);  require_for_template_stx = scheme_datum_to_syntax(scheme_intern_symbol("require-for-template"), scheme_false, w, 0, 0);  provide_stx = scheme_datum_to_syntax(scheme_intern_symbol("provide"), scheme_false, w, 0, 0);  set_stx = scheme_datum_to_syntax(scheme_intern_symbol("set!"), scheme_false, w, 0, 0);  app_stx = scheme_datum_to_syntax(scheme_intern_symbol("#%app"), scheme_false, w, 0, 0);  top_stx = scheme_datum_to_syntax(scheme_intern_symbol("#%top"), scheme_false, w, 0, 0);  lambda_stx = scheme_datum_to_syntax(scheme_intern_symbol("lambda"), scheme_false, w, 0, 0);  case_lambda_stx = scheme_datum_to_syntax(scheme_intern_symbol("case-lambda"), scheme_false, w, 0, 0);  let_values_stx = scheme_datum_to_syntax(scheme_intern_symbol("let-values"), scheme_false, w, 0, 0);  letrec_values_stx = scheme_datum_to_syntax(scheme_intern_symbol("letrec-values"), scheme_false, w, 0, 0);  if_stx = scheme_datum_to_syntax(scheme_intern_symbol("if"), scheme_false, w, 0, 0);  begin0_stx = scheme_datum_to_syntax(scheme_intern_symbol("begin0"), scheme_false, w, 0, 0);  set_stx = scheme_datum_to_syntax(scheme_intern_symbol("set!"), scheme_false, w, 0, 0);  with_continuation_mark_stx = scheme_datum_to_syntax(scheme_intern_symbol("with-continuation-mark"), scheme_false, w, 0, 0);  letrec_syntaxes_stx = scheme_datum_to_syntax(scheme_intern_symbol("letrec-syntaxes+values"), scheme_false, w, 0, 0);  fluid_let_syntax_stx = scheme_datum_to_syntax(scheme_intern_symbol("fluid-let-syntax"), scheme_false, w, 0, 0);  REGISTER_SO(prefix_symbol);  REGISTER_SO(only_symbol);  REGISTER_SO(rename_symbol);  REGISTER_SO(all_except_symbol);  REGISTER_SO(prefix_all_except_symbol);  REGISTER_SO(all_from_symbol);  REGISTER_SO(all_from_except_symbol);  REGISTER_SO(all_defined_symbol);  REGISTER_SO(all_defined_except_symbol);  REGISTER_SO(struct_symbol);  REGISTER_SO(protect_symbol);  prefix_symbol = scheme_intern_symbol("prefix");  only_symbol = scheme_intern_symbol("only");  rename_symbol = scheme_intern_symbol("rename");  all_except_symbol = scheme_intern_symbol("all-except");  prefix_all_except_symbol = scheme_intern_symbol("prefix-all-except");  all_from_symbol = scheme_intern_symbol("all-from");  all_from_except_symbol = scheme_intern_symbol("all-from-except");  all_defined_symbol = scheme_intern_symbol("all-defined");  all_defined_except_symbol = scheme_intern_symbol("all-defined-except");  struct_symbol = scheme_intern_symbol("struct");  protect_symbol = scheme_intern_symbol("protect");}