Index: xldmem.h =================================================================== RCS file: /NOKOMIS/users/luke/SRC/xlispstat/xldmem.h,v retrieving revision 1.16 diff -r1.16 xldmem.h 265a266 > #define WEAKBOX 13 268,269c269,270 < #define CONS 13 < #define COMPLEX 14 --- > #define CONS 16 > #define COMPLEX 17 271c272 < #define RATIO 15 --- > #define RATIO 18 273,275c274,276 < #define USTREAM 16 < #define DARRAY 17 < #define RNDSTATE 18 --- > #define USTREAM 19 > #define DARRAY 20 > #define RNDSTATE 21 277c278 < #define BCCLOSURE 19 --- > #define BCCLOSURE 22 Index: xldmem.c =================================================================== RCS file: /NOKOMIS/users/luke/SRC/xlispstat/xldmem.c,v retrieving revision 1.32 diff -r1.32 xldmem.c 12a13 > static VOID check_weak_boxes(V); 223a225,226 > type_info[WEAKBOX].allocated = FALSE; > type_info[WEAKBOX].has_children = FALSE; 1130a1134 > check_weak_boxes(); 2938a2943,2965 > static void check_weak_boxes() > { > LVAL last = NIL, next = xlweakboxes; > > while (ntype(next) == WEAKBOX) { > if (is_new_node(next)) { > /* delete box from weak box list */ > LVAL tail = cdr(next); > if (null(last)) > xlweakboxes = tail; > else > Rplacd(last, tail); > next = tail; > } > else { > if (is_new_node(car(next))) > Rplaca(next, NIL); > last = next; > next = cdr(next); > } > } > } > 2946a2974,2993 > } > > LVAL xmkweakbox(V) > { > LVAL val = xlgetarg(); > LVAL box = consa(val); > xllastarg(); > ntype(box) = WEAKBOX; > Rplacd(box, xlweakboxes); > xlweakboxes = box; > return box; > } > > #define weakboxp(x) (ntype(x) == WEAKBOX) > #define xlgaweakbox() (testarg(typearg(weakboxp))) > LVAL xweakboxval(V) > { > LVAL box = xlgaweakbox(); > xllastarg(); > return car(box); Index: xlftab.h =================================================================== RCS file: /NOKOMIS/users/luke/SRC/xlispstat/xlftab.h,v retrieving revision 1.32 diff -r1.32 xlftab.h 125c125,126 < xgc(V),xexpand(V),xalloc(V),xmem(V),xregfinal(V); --- > xgc(V),xexpand(V),xalloc(V),xmem(V),xregfinal(V), > xmkweakbox(V),xweakboxval(V); Index: xlftab.c =================================================================== RCS file: /NOKOMIS/users/luke/SRC/xlispstat/xlftab.c,v retrieving revision 1.37 diff -r1.37 xlftab.c 312a313,314 > { "MAKE-WEAK-BOX", S, xmkweakbox }, > { "WEAK-BOX-VALUE", S, xweakboxval }, 865,866d866 < { NULL, S, xnotimp }, < { NULL, S, xnotimp }, Index: xlglob.h =================================================================== RCS file: /NOKOMIS/users/luke/SRC/xlispstat/xlglob.h,v retrieving revision 1.19 diff -r1.19 xlglob.h 115a116 > XLGLOBAL LVAL a_weakbox; 206a208,210 > > /* Weak box list */ > XLGLOBAL LVAL xlweakboxes; Index: xlglob.c =================================================================== RCS file: /NOKOMIS/users/luke/SRC/xlispstat/xlglob.c,v retrieving revision 1.22 diff -r1.22 xlglob.c 144a145 > LVAL a_weakbox=NULL; 195a197,199 > > /* Weak box list */ > LVAL xlweakboxes = NIL; Index: xlimage.c =================================================================== RCS file: /NOKOMIS/users/luke/SRC/xlispstat/xlimage.c,v retrieving revision 1.22 diff -r1.22 xlimage.c 110a111,113 > /* write out the weak box list head */ > writeptr(cvoptr(xlweakboxes)); > 132a136 > case WEAKBOX: 321a326,328 > /* read in the weak box list head */ > xlweakboxes = cviptr(readptr()); > 340a348 > case WEAKBOX: Index: xlprin.c =================================================================== RCS file: /NOKOMIS/users/luke/SRC/xlispstat/xlprin.c,v retrieving revision 1.33 diff -r1.33 xlprin.c 562a563,569 > case WEAKBOX: > #ifdef PRINTCIRCLE > if (checkcircle(fptr, vptr)) break; > #endif /* PRINTCIRCLE */ > checkreadable(vptr); > putatm(fptr,"Weak Box",vptr); > break; Index: xlinit.c =================================================================== RCS file: /NOKOMIS/users/luke/SRC/xlispstat/xlinit.c,v retrieving revision 1.33 diff -r1.33 xlinit.c 555a556 > a_weakbox = xlenter("SYSTEM:WEAK-BOX"); Index: xlsys.c =================================================================== RCS file: /NOKOMIS/users/luke/SRC/xlispstat/xlsys.c,v retrieving revision 1.24 diff -r1.24 xlsys.c 131a132 > case WEAKBOX: return (a_weakbox); 175a177 > if (arg == a_weakbox) return WEAKBOX;