2868 |
arg1 = SCM_EOL; |
arg1 = SCM_EOL; |
2869 |
goto type_dispatch; |
goto type_dispatch; |
2870 |
} |
} |
2871 |
else if (!SCM_I_OPERATORP (proc)) |
else if (SCM_I_OPERATORP (proc)) |
|
goto badfun; |
|
|
else |
|
2872 |
{ |
{ |
2873 |
arg1 = proc; |
arg1 = proc; |
2874 |
proc = (SCM_I_ENTITYP (proc) |
proc = (SCM_I_ENTITYP (proc) |
2880 |
#endif |
#endif |
2881 |
goto evap1; |
goto evap1; |
2882 |
} |
} |
2883 |
|
else |
2884 |
|
goto badfun; |
2885 |
case scm_tc7_subr_1: |
case scm_tc7_subr_1: |
2886 |
case scm_tc7_subr_2: |
case scm_tc7_subr_2: |
2887 |
case scm_tc7_subr_2o: |
case scm_tc7_subr_2o: |
3011 |
#endif |
#endif |
3012 |
goto type_dispatch; |
goto type_dispatch; |
3013 |
} |
} |
3014 |
else if (!SCM_I_OPERATORP (proc)) |
else if (SCM_I_OPERATORP (proc)) |
|
goto badfun; |
|
|
else |
|
3015 |
{ |
{ |
3016 |
arg2 = arg1; |
arg2 = arg1; |
3017 |
arg1 = proc; |
arg1 = proc; |
3024 |
#endif |
#endif |
3025 |
goto evap2; |
goto evap2; |
3026 |
} |
} |
3027 |
|
else |
3028 |
|
goto badfun; |
3029 |
case scm_tc7_subr_2: |
case scm_tc7_subr_2: |
3030 |
case scm_tc7_subr_0: |
case scm_tc7_subr_0: |
3031 |
case scm_tc7_subr_3: |
case scm_tc7_subr_3: |
3095 |
#endif |
#endif |
3096 |
goto type_dispatch; |
goto type_dispatch; |
3097 |
} |
} |
3098 |
else if (!SCM_I_OPERATORP (proc)) |
else if (SCM_I_OPERATORP (proc)) |
|
goto badfun; |
|
|
else |
|
3099 |
{ |
{ |
3100 |
operatorn: |
operatorn: |
3101 |
#ifdef DEVAL |
#ifdef DEVAL |
3116 |
SCM_EOL)); |
SCM_EOL)); |
3117 |
#endif |
#endif |
3118 |
} |
} |
3119 |
|
else |
3120 |
|
goto badfun; |
3121 |
case scm_tc7_subr_0: |
case scm_tc7_subr_0: |
3122 |
case scm_tc7_cxr: |
case scm_tc7_cxr: |
3123 |
case scm_tc7_subr_1o: |
case scm_tc7_subr_1o: |
3309 |
x = SCM_ENTITY_PROCEDURE (proc); |
x = SCM_ENTITY_PROCEDURE (proc); |
3310 |
goto type_dispatch; |
goto type_dispatch; |
3311 |
} |
} |
3312 |
else if (!SCM_I_OPERATORP (proc)) |
else if (SCM_I_OPERATORP (proc)) |
|
goto badfun; |
|
|
else |
|
3313 |
goto operatorn; |
goto operatorn; |
3314 |
|
else |
3315 |
|
goto badfun; |
3316 |
case scm_tc7_subr_2: |
case scm_tc7_subr_2: |
3317 |
case scm_tc7_subr_1o: |
case scm_tc7_subr_1o: |
3318 |
case scm_tc7_subr_2o: |
case scm_tc7_subr_2o: |
3762 |
#endif |
#endif |
3763 |
RETURN (scm_apply_generic (proc, args)); |
RETURN (scm_apply_generic (proc, args)); |
3764 |
} |
} |
3765 |
else if (!SCM_I_OPERATORP (proc)) |
else if (SCM_I_OPERATORP (proc)) |
|
goto badproc; |
|
|
else |
|
3766 |
{ |
{ |
3767 |
/* operator */ |
/* operator */ |
3768 |
#ifdef DEVAL |
#ifdef DEVAL |
3783 |
else |
else |
3784 |
goto badproc; |
goto badproc; |
3785 |
} |
} |
3786 |
|
else |
3787 |
|
goto badproc; |
3788 |
default: |
default: |
3789 |
badproc: |
badproc: |
3790 |
scm_wrong_type_arg ("apply", SCM_ARG1, proc); |
scm_wrong_type_arg ("apply", SCM_ARG1, proc); |
3895 |
case scm_tcs_struct: |
case scm_tcs_struct: |
3896 |
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC) |
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC) |
3897 |
return scm_call_generic_0; |
return scm_call_generic_0; |
3898 |
else if (!SCM_I_OPERATORP (proc)) |
else if (SCM_I_OPERATORP (proc)) |
3899 |
return NULL; |
return scm_call_0; |
3900 |
return scm_call_0; |
return NULL; |
3901 |
case scm_tc7_smob: |
case scm_tc7_smob: |
3902 |
if (SCM_SMOB_APPLICABLE_P (proc)) |
if (SCM_SMOB_APPLICABLE_P (proc)) |
3903 |
return SCM_SMOB_DESCRIPTOR (proc).apply_0; |
return SCM_SMOB_DESCRIPTOR (proc).apply_0; |
4007 |
case scm_tcs_struct: |
case scm_tcs_struct: |
4008 |
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC) |
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC) |
4009 |
return scm_call_generic_1; |
return scm_call_generic_1; |
4010 |
else if (!SCM_I_OPERATORP (proc)) |
else if (SCM_I_OPERATORP (proc)) |
4011 |
return NULL; |
return scm_call_1; |
4012 |
return scm_call_1; |
return NULL; |
4013 |
case scm_tc7_smob: |
case scm_tc7_smob: |
4014 |
if (SCM_SMOB_APPLICABLE_P (proc)) |
if (SCM_SMOB_APPLICABLE_P (proc)) |
4015 |
return SCM_SMOB_DESCRIPTOR (proc).apply_1; |
return SCM_SMOB_DESCRIPTOR (proc).apply_1; |
4086 |
case scm_tcs_struct: |
case scm_tcs_struct: |
4087 |
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC) |
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC) |
4088 |
return scm_call_generic_2; |
return scm_call_generic_2; |
4089 |
else if (!SCM_I_OPERATORP (proc)) |
else if (SCM_I_OPERATORP (proc)) |
4090 |
return NULL; |
return scm_call_2; |
4091 |
return scm_call_2; |
return NULL; |
4092 |
case scm_tc7_smob: |
case scm_tc7_smob: |
4093 |
if (SCM_SMOB_APPLICABLE_P (proc)) |
if (SCM_SMOB_APPLICABLE_P (proc)) |
4094 |
return SCM_SMOB_DESCRIPTOR (proc).apply_2; |
return SCM_SMOB_DESCRIPTOR (proc).apply_2; |