#define TS(s) (1<<s)
#define TS_MEMBER(t1,ts) ((TS(t1)) & (ts))
-#define ASSURE_TYPE(val,t) if(type_of(val)!=t) val= Icheck_one_type(val,t)
+#define ASSURE_TYPE(val,t) if (type_of(val)!=t) TYPE_ERROR(val,type_name(t))
object IisArray();
available_pages+=resv_pages;
resv_pages=0;
- vs_push(type_name(t));
- vs_push(make_fixnum(tm->tm_npage));
- CEerror("The storage for ~A is exhausted.~%\
-Currently, ~D pages are allocated.~% \
-Use ALLOCATE to expand the space.",
- "Continues execution.",
- 2, vs_top[-2], vs_top[-1], Cnil, Cnil);
-
- vs_popp;
- vs_popp;
+ CEerror("Continues execution.",
+ "The storage for ~A is exhausted. ~D pages allocated. Use ALLOCATE to expand the space.",
+ 2, type_name(t), make_fixnum(tm->tm_npage));
call_after_gbc_hook(t);
break;
case aet_bit:
i += BV_OFFSET(x);
- AGAIN_BIT:
ASSURE_TYPE(val,t_fixnum);
- {int v = Mfix(val);
- if (v == 0) CLEAR_BITREF(x,i);
- else if (v == 1) SET_BITREF(x,i);
- else {val= fSincorrect_type(val,sLbit);
- goto AGAIN_BIT;}
- break;}
+ switch (Mfix(val)) {
+ case 0:
+ CLEAR_BITREF(x,i);
+ break;
+ case 1:
+ SET_BITREF(x,i);
+ break;
+ default:
+ TYPE_ERROR(val,sLbit);
+ }
+ break;
case aet_fix:
ASSURE_TYPE(val,t_fixnum);
(x->fixa.fixa_self[i]) = Mfix(val);
/* return res; */
/* } */
-object
-Icheck_one_type(object x, enum type t)
-{ if (x->d.t != t)
- { return CEerror("Expected a ~a ","Supply right type",1,type_name(t),Cnil,Cnil,Cnil);
- }
- return x;
-}
-
-
-object
-fSincorrect_type(object val, object type)
-{ return CEerror("Got ~a,Expected a ~a","Supply a new one",1,val,type,Cnil,Cnil);
-}
-
/* static void */
/* Ineed_in_image(object (*foo) (/\* ??? *\/)) */
/* {;} */