diff options
author | Camm Maguire <camm@debian.org> | 2014-04-14 16:38:04 +0000 |
---|---|---|
committer | Camm Maguire <camm@debian.org> | 2014-04-14 16:38:04 +0000 |
commit | b24585ed8bae36a710a45b16bf5f87dd8e20fd66 (patch) | |
tree | 5723d57bde1f8e0377e9827563b68a7f09d24ffa | |
parent | 8f51cddb41d1b9506be8a98a7de8aff3785f6b31 (diff) | |
download | gcl-b24585ed8bae36a710a45b16bf5f87dd8e20fd66.tar.gz |
FFN cleanups 2
-rw-r--r-- | gcl/h/protoize.h | 2 | ||||
-rwxr-xr-x | gcl/o/cfun.c | 2 | ||||
-rwxr-xr-x | gcl/o/cmpaux.c | 2 | ||||
-rwxr-xr-x | gcl/o/eval.c | 7 | ||||
-rwxr-xr-x | gcl/o/makefun.c | 3 |
5 files changed, 11 insertions, 5 deletions
diff --git a/gcl/h/protoize.h b/gcl/h/protoize.h index fc20431f..7585be51 100644 --- a/gcl/h/protoize.h +++ b/gcl/h/protoize.h @@ -1834,3 +1834,5 @@ object number_dpb(object,object,object); object number_dpf(object,object,object); + +extern void *feval_src; diff --git a/gcl/o/cfun.c b/gcl/o/cfun.c index 4eda12a1..a87c0ce4 100755 --- a/gcl/o/cfun.c +++ b/gcl/o/cfun.c @@ -43,7 +43,7 @@ make_cfun(void (*self)(), object name, object data, char *start, int size) { } else if (size) FEerror("Bad call to make_cfun",0); return fSinit_function(list(6,Cnil,Cnil,make_fixnum((fixnum)self),Cnil,Cnil,name), - (void *)fSeval_src,data,Cnil,-1,0,(((1<<6)-1)<<6)|(((1<<5)-1)<<12)|(1<<17)); + feval_src,data,Cnil,-1,0,(((1<<6)-1)<<6)|(((1<<5)-1)<<12)|(1<<17)); } diff --git a/gcl/o/cmpaux.c b/gcl/o/cmpaux.c index a33cb438..d8cc7d51 100755 --- a/gcl/o/cmpaux.c +++ b/gcl/o/cmpaux.c @@ -309,7 +309,7 @@ object_to_fixnum(object x) case t_fixnum: i = fix(x); break; case t_bignum: - i = FFN(fSmpz_get_si)(x); break; + i = mpz_get_si(MP(x)); break; break; case t_ratio: i = number_to_double(x); break; diff --git a/gcl/o/eval.c b/gcl/o/eval.c index 5ab7bbd0..e12e69bd 100755 --- a/gcl/o/eval.c +++ b/gcl/o/eval.c @@ -1009,7 +1009,12 @@ DEFUN("FSET-IN",object,fSfset_in,SI,2,2,NONE,OO,OO,OO,OO,(object sym,object src) RETURN1(x); } - +#ifdef STATIC_FUNCTION_POINTERS +object +fSfset_in(object sym,object src) { + RETURN1 FFN(fSfset_in)(sym,src); +} +#endif LFD(siLevalhook)(void) { diff --git a/gcl/o/makefun.c b/gcl/o/makefun.c index 670cc824..870d6245 100755 --- a/gcl/o/makefun.c +++ b/gcl/o/makefun.c @@ -39,7 +39,6 @@ object make_fun(void *addr,object data,object call,object env,ufixnum argd,ufixnum sizes) { object x; - extern void *feval_src; x=alloc_object(t_function); x->fun.fun_self=addr; @@ -119,7 +118,7 @@ fSinit_function(object x,object y,object z,object w,fixnum a,fixnum b,fixnum c) DEFUN("MAKE-ANONYMOUS-CLOSURE",object,fSmake_anonymous_closure,SI,0,0,NONE,OO,OO,OO,OO,(),"") { - RETURN1(FFN(fSinit_function)(list(5,Cnil,Cnil,Cnil,Cnil,Cnil),(void *)fSanonymous_closure,Cnil,MMcons(MMcons(Cnil,Cnil),Cnil),-1,0,0)); + RETURN1(FFN(fSinit_function)(list(5,Cnil,Cnil,Cnil,Cnil,Cnil),(void *)FFN(fSanonymous_closure),Cnil,MMcons(MMcons(Cnil,Cnil),Cnil),-1,0,0)); } |