--- stack/stack.h 2002/03/09 09:58:31 1.6 +++ stack/stack.h 2002/03/10 09:13:36 1.8 @@ -36,6 +36,7 @@ } type:4; /* Type of stack element */ int gc_garb:1; + int gc_protect:1; union { void *ptr; /* Pointer to the content */ @@ -69,7 +70,6 @@ defined symbols */ typedef struct { stackitem *gc_ref; - stackitem *gc_protect; int gc_limit, gc_count; stackitem *head; /* Head of the stack */ @@ -92,6 +92,7 @@ symbol **hash(hashtbl, const char*); value* new_val(environment*); void gc_mark(value*); +void gc_maybe(environment *env); extern void gc_init(environment*); void push_val(environment*, value*); void push_int(environment*, int); @@ -139,8 +140,8 @@ extern void readline(environment*); extern void sx_72656164(environment*); extern void foreach(environment*); -void protect(environment*, value*); -void unprotect(environment*); +void protect(value*); +void unprotect(value*); extern void copying(environment*); extern void warranty(environment*); extern void sx_2a(environment*);