mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-10 05:50:26 +02:00
* eval.c (SCM_APPLY): Fixed bugs in the applicable-smob calls.
This commit is contained in:
parent
a2d47b23b2
commit
afa38f6e60
1 changed files with 5 additions and 6 deletions
|
@ -3496,15 +3496,14 @@ tail:
|
|||
case scm_tc7_smob:
|
||||
if (!SCM_SMOB_DESCRIPTOR (proc).apply)
|
||||
goto badproc;
|
||||
if (SCM_NULLP (args))
|
||||
if (SCM_UNBNDP (arg1))
|
||||
RETURN (scm_smob_apply_0 (proc))
|
||||
else if (SCM_NULLP (args))
|
||||
RETURN (scm_smob_apply_1 (proc, arg1))
|
||||
else if (SCM_NULLP (SCM_CDR (args)))
|
||||
RETURN (scm_smob_apply_1 (proc, SCM_CAR (args)))
|
||||
else if (SCM_NULLP (SCM_CDDR (args)))
|
||||
RETURN (scm_smob_apply_2 (proc, SCM_CAR (args), SCM_CADR (args)))
|
||||
RETURN (scm_smob_apply_2 (proc, arg1, SCM_CAR (args)))
|
||||
else
|
||||
RETURN (scm_smob_apply_3 (proc, SCM_CAR (args), SCM_CADR (args),
|
||||
SCM_CDDR (args)));
|
||||
RETURN (scm_smob_apply_3 (proc, arg1, SCM_CAR (args), SCM_CDR (args)));
|
||||
case scm_tc7_contin:
|
||||
SCM_ASRTGO (SCM_NULLP (args), wrongnumargs);
|
||||
scm_call_continuation (proc, arg1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue