63 |
for (i = 0; i < x->s.s_fillp; i++) |
for (i = 0; i < x->s.s_fillp; i++) |
64 |
x->s.s_self[i] = st->st.st_self[i]; |
x->s.s_self[i] = st->st.st_self[i]; |
65 |
} |
} |
66 |
|
x->s.s_hash = ihash_equal1(x,0); |
67 |
END_NO_INTERRUPT;} |
END_NO_INTERRUPT;} |
68 |
return(vs_pop); |
return(vs_pop); |
69 |
} |
} |
509 |
big=this_gensym_counter; |
big=this_gensym_counter; |
510 |
sign=BIG_SIGN(big); |
sign=BIG_SIGN(big); |
511 |
size = mpz_sizeinbase(MP(big),10)+2+(sign<0? 1 : 0); |
size = mpz_sizeinbase(MP(big),10)+2+(sign<0? 1 : 0); |
512 |
if (!(p=alloca(size))) |
if (!(p=ZALLOCA(size))) |
513 |
FEerror("Cannot alloca gensym name", 0); |
FEerror("Cannot alloca gensym name", 0); |
514 |
mpz_get_str(p,10,MP(big)); |
mpz_get_str(p,10,MP(big)); |
515 |
j=size-5; |
j=size-5; |
518 |
q=p+j; |
q=p+j; |
519 |
break; |
break; |
520 |
case t_fixnum: |
case t_fixnum: |
521 |
for (size=1,f=this_gensym_counter->FIX.FIXVAL;f;f/=10,size++); |
for (size=1,f=fix(this_gensym_counter);f;f/=10,size++); |
522 |
q=p=alloca(size+5); |
q=p=ZALLOCA(size+5); |
523 |
if ((j=snprintf(p,size+5,"%d",(int)this_gensym_counter->FIX.FIXVAL))<=0) |
if ((j=snprintf(p,size+5,"%d",(int)fix(this_gensym_counter)))<=0) |
524 |
FEerror("Cannot write gensym counter",0); |
FEerror("Cannot write gensym counter",0); |
525 |
q=p+j; |
q=p+j; |
526 |
break; |
break; |