3848 |
case scm_tcs_closures: |
case scm_tcs_closures: |
3849 |
{ |
{ |
3850 |
SCM formals = SCM_CLOSURE_FORMALS (proc); |
SCM formals = SCM_CLOSURE_FORMALS (proc); |
3851 |
if (SCM_NULLP (formals) || SCM_SYMBOLP (formals)) |
if (SCM_NULLP (formals) || !SCM_CONSP (formals)) |
3852 |
return scm_i_call_closure_0; |
return scm_i_call_closure_0; |
3853 |
else |
else |
3854 |
return 0; |
return 0; |
3961 |
case scm_tcs_closures: |
case scm_tcs_closures: |
3962 |
{ |
{ |
3963 |
SCM formals = SCM_CLOSURE_FORMALS (proc); |
SCM formals = SCM_CLOSURE_FORMALS (proc); |
3964 |
if ((SCM_CONSP (formals) && SCM_NULLP (SCM_CDR (formals))) |
if (!SCM_NULLP (formals) |
3965 |
|| SCM_SYMBOLP (formals)) |
&& (!SCM_CONSP (formals) || !SCM_CONSP (SCM_CDR (formals)))) |
3966 |
return call_closure_1; |
return call_closure_1; |
3967 |
else |
else |
3968 |
return 0; |
return 0; |
4037 |
case scm_tcs_closures: |
case scm_tcs_closures: |
4038 |
{ |
{ |
4039 |
SCM formals = SCM_CLOSURE_FORMALS (proc); |
SCM formals = SCM_CLOSURE_FORMALS (proc); |
4040 |
if (!SCM_CONSP (formals) |
if (!SCM_NULLP (formals) |
4041 |
|| (SCM_CONSP (SCM_CDR (formals)) |
&& (!SCM_CONSP (formals) |
4042 |
&& SCM_NULLP (SCM_CDDR (formals)))) |
|| (!SCM_NULLP (SCM_CDR (formals)) |
4043 |
|
&& (!SCM_CONSP (SCM_CDR (formals)) |
4044 |
|
|| !SCM_CONSP (SCM_CDDR (formals)))))) |
4045 |
return call_closure_2; |
return call_closure_2; |
4046 |
else |
else |
4047 |
return 0; |
return 0; |