57 |
else funcall(fun);} |
else funcall(fun);} |
58 |
|
|
59 |
void |
void |
60 |
call_or_link_closure(object sym, void **link, object *ptr) |
call_or_link_closure(object sym, void **link, void **ptr) |
61 |
{object fun; |
{object fun; |
62 |
fun = sym->s.s_gfdef; |
fun = sym->s.s_gfdef; |
63 |
if (fun == OBJNULL) {FEinvalid_function(sym); return;} |
if (fun == OBJNULL) {FEinvalid_function(sym); return;} |
807 |
{vs_push(i ? va_arg(ll,object) : first); |
{vs_push(i ? va_arg(ll,object) : first); |
808 |
i++;}} |
i++;}} |
809 |
else |
else |
810 |
{while(i < nargs) |
{ |
811 |
{enum ftype typ=SFUN_NEXT_TYPE(argd); |
while(i < nargs) { |
812 |
vs_push((typ==f_object? (i ? va_arg(ll,object) : first): |
enum ftype typ=SFUN_NEXT_TYPE(argd); |
813 |
make_fixnum(i ? va_arg(ll,long) : (long)first))); |
object _xx; |
814 |
i++;}} |
if (typ==f_object) |
815 |
|
_xx=i ? va_arg(ll,object) : first; |
816 |
|
else { |
817 |
|
long _yy; |
818 |
|
_yy=i ? va_arg(ll,long) : (long)first; |
819 |
|
_xx=make_fixnum(_yy); |
820 |
|
} |
821 |
|
vs_push(_xx); |
822 |
|
i++; |
823 |
|
} |
824 |
|
} |
825 |
} |
} |
826 |
|
|
827 |
vs_check; |
vs_check; |