diff --git a/src/c/alloc_2.d b/src/c/alloc_2.d index 57f945305..d40ebe385 100644 --- a/src/c/alloc_2.d +++ b/src/c/alloc_2.d @@ -393,6 +393,7 @@ ecl_alloc_instance(cl_index slots) i = ecl_alloc_object(t_instance); i->instance.slots = (cl_object *)ecl_alloc(sizeof(cl_object) * slots); i->instance.length = slots; + i->instance.isgf = ECL_NOT_FUNCALLABLE; i->instance.entry = FEnot_funcallable_vararg; i->instance.slotds = ECL_UNBOUND; return i; diff --git a/src/c/apply.d b/src/c/apply.d index 6851c95b8..f4d094bb9 100644 --- a/src/c/apply.d +++ b/src/c/apply.d @@ -90,13 +90,13 @@ ecl_apply_from_stack_frame(cl_object frame, cl_object x) break; case t_instance: switch (fun->instance.isgf) { - case ECL_STANDARD_DISPATCH: - case ECL_RESTRICTED_DISPATCH: - ret = _ecl_standard_dispatch(frame, fun); - break; case ECL_USER_DISPATCH: fun = fun->instance.slots[fun->instance.length - 1]; goto AGAIN; + case ECL_STANDARD_DISPATCH: + case ECL_RESTRICTED_DISPATCH: + /* ret = _ecl_standard_dispatch(frame, fun); */ + /* break; */ case ECL_READER_DISPATCH: case ECL_WRITER_DISPATCH: ret = APPLY(narg, fun->instance.entry, sp);