31 |
#include "include.h" |
#include "include.h" |
32 |
#define dcheck_type(a,b) check_type(a,b) |
#define dcheck_type(a,b) check_type(a,b) |
33 |
|
|
34 |
|
#if 0 |
35 |
|
#define CMPAUX_DEBUG |
36 |
|
#endif |
37 |
|
|
38 |
DEFUNO_NEW("SPECIALP",object,fSspecialp,SI |
DEFUNO_NEW("SPECIALP",object,fSspecialp,SI |
39 |
,1,1,NONE,OO,OO,OO,OO,void,siLspecialp,(object sym),"") |
,1,1,NONE,OO,OO,OO,OO,void,siLspecialp,(object sym),"") |
40 |
{ |
{ |
346 |
int n=fasl_vec->v.v_fillp -1; |
int n=fasl_vec->v.v_fillp -1; |
347 |
int i; |
int i; |
348 |
object form; |
object form; |
349 |
|
#ifdef CMPAUX_DEBUG |
350 |
|
fprintf ( stderr, |
351 |
|
"do_init: START\n" ); |
352 |
|
fflush ( stderr ); |
353 |
|
#endif /* CMPAUX_DEBUG */ |
354 |
check_type(fasl_vec,t_vector); |
check_type(fasl_vec,t_vector); |
355 |
form = fasl_vec->v.v_self[n]; |
form = fasl_vec->v.v_self[n]; |
356 |
dcheck_type(form,t_cons); |
dcheck_type(form,t_cons); |
387 |
{object *top=vs_top; |
{object *top=vs_top; |
388 |
|
|
389 |
for(i=0 ; i< form->v.v_fillp; i++) |
for(i=0 ; i< form->v.v_fillp; i++) |
390 |
{ |
{ |
391 |
eval(form->v.v_self[i]); |
#ifdef CMPAUX_DEBUG |
392 |
|
fprintf ( stderr, |
393 |
|
"do_init: second for loop - i = %d, form->v.v_fillp = %d, form->v.v_self[%d] = %x....", |
394 |
|
i, form->v.v_fillp, i, form->v.v_self[i] ); |
395 |
|
fflush ( stderr ); |
396 |
|
#endif /* CMPAUX_DEBUG */ |
397 |
|
eval(form->v.v_self[i]); |
398 |
|
#ifdef CMPAUX_DEBUG |
399 |
|
fprintf ( stderr, |
400 |
|
" eval succeeded\n" ); |
401 |
|
fflush ( stderr ); |
402 |
|
#endif /* CMPAUX_DEBUG */ |
403 |
vs_top=top; |
vs_top=top; |
404 |
} |
} |
405 |
} |
} |