summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamm Maguire <camm@debian.org>2014-04-14 16:38:04 +0000
committerCamm Maguire <camm@debian.org>2014-04-14 16:38:04 +0000
commitb24585ed8bae36a710a45b16bf5f87dd8e20fd66 (patch)
tree5723d57bde1f8e0377e9827563b68a7f09d24ffa
parent8f51cddb41d1b9506be8a98a7de8aff3785f6b31 (diff)
downloadgcl-b24585ed8bae36a710a45b16bf5f87dd8e20fd66.tar.gz
FFN cleanups 2
-rw-r--r--gcl/h/protoize.h2
-rwxr-xr-xgcl/o/cfun.c2
-rwxr-xr-xgcl/o/cmpaux.c2
-rwxr-xr-xgcl/o/eval.c7
-rwxr-xr-xgcl/o/makefun.c3
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));
}