diff --git a/bin/ikarus b/bin/ikarus index 8e0e932..78ea212 100755 Binary files a/bin/ikarus and b/bin/ikarus differ diff --git a/bin/ikarus-fasl.c b/bin/ikarus-fasl.c index 204da19..c3436b3 100644 --- a/bin/ikarus-fasl.c +++ b/bin/ikarus-fasl.c @@ -344,8 +344,7 @@ static ikp do_read(ikpcb* pcb, fasl_port* p){ ikp rtd; if(gensym_val == unbound_object){ rtd = ik_alloc(pcb, align(rtd_size)) + vector_tag; - ikp base_sym = ik_cstring_to_symbol("$base-rtd", pcb); - ikp base_rtd = ref(base_sym, off_symbol_system_value); + ikp base_rtd = pcb->base_rtd; ref(rtd, off_rtd_rtd) = base_rtd; ref(rtd, off_rtd_name) = name; ref(rtd, off_rtd_length) = fix(n); diff --git a/bin/ikarus-runtime.c b/bin/ikarus-runtime.c index e46b2f4..216d410 100644 --- a/bin/ikarus-runtime.c +++ b/bin/ikarus-runtime.c @@ -327,7 +327,6 @@ ikpcb* ik_make_pcb(){ } /* initialize base rtd */ { - ikp s = ik_cstring_to_symbol("$base-rtd", pcb); ikp r = ik_alloc(pcb, align(rtd_size)) + rtd_tag; ref(r, off_rtd_rtd) = r; ref(r, off_rtd_length) = (ikp) (rtd_size-wordsize); @@ -335,8 +334,6 @@ ikpcb* ik_make_pcb(){ ref(r, off_rtd_fields) = 0; ref(r, off_rtd_printer) = 0; ref(r, off_rtd_symbol) = 0; - ref(s, off_symbol_system_value) = r; - ref(s, off_symbol_value) = r; pcb->base_rtd = r; } return pcb;