#endif
#define collect(p_,f_) (p_)=&(*(p_)=(f_))->c.c_cdr
+#define READ_STREAM_OR_FASD(strm_) \
+ type_of(strm_)==t_stream ? read_object_non_recursive(strm_) : fSread_fasd_top(strm_)
if (ch!='\n') {
struct fasd * fd;
- faslfile=FFN(fSopen_fasd)(faslfile,sKinput,OBJNULL,Cnil);
+ faslfile=fSopen_fasd(faslfile,sKinput,OBJNULL,Cnil);
fd=(struct fasd *)faslfile->v.v_self;
n=fix(fd->table_length);
fd->table->v.v_self=alloca(n*sizeof(object));
fd->table->v.v_dim=faslfile->v.v_self[1]->v.v_fillp=n;
}
- n=fix(type_of(faslfile)==t_stream ? read_object(faslfile) : FFN(fSread_fasd_top)(faslfile));
+ n=fix(READ_STREAM_OR_FASD(faslfile));
sSPinit->s.s_dbind=fasl_vec=fSmake_vector1_1(n,aet_object,Cnil);
/* switch SPinit to point to a vector of function addresses */
*/
/* Now we can run the forms f1 f2 in form= (%init f1 f2 ...) */
- FFN(fSload_stream)(faslfile,Cnil);
+ fSload_stream(faslfile,Cnil);
if (type_of(faslfile)!=t_stream)
- FFN(fSclose_fasd)(faslfile);
+ fSclose_fasd(faslfile);
}
{ RESTORE_FASD;
return result;}
}
+#ifdef STATIC_FUNCTION_POINTERS
+object
+fSread_fasd_top(object x) {
+ return FFN(fSread_fasd_top)(x);
+}
+#endif
+
object sLeq;
object sSPinit;
fd->table_length=current_fasd.table_length;
return result;
}}
+#ifdef STATIC_FUNCTION_POINTERS
+object
+fSopen_fasd(object stream, object direction, object eof, object tabl) {
+ return FFN(fSopen_fasd)(stream,direction,eof,tabl);
+}
+#endif
DEFUN_NEW("CLOSE-FASD",object,fSclose_fasd,SI,1,1,NONE,OO,OO,OO,OO,(object ar),"")
/* static object */
return ar;
}
+#ifdef STATIC_FUNCTION_POINTERS
+object
+fSclose_fasd(object ar) {
+ return FFN(fSclose_fasd)(ar);
+}
+#endif
#define HASHP(x) 1
for (;;) {
preserving_whitespace_flag = FALSE;
detect_eos_flag = TRUE;
- x = type_of(strm)==t_stream ? read_object_non_recursive(strm) : FFN(fSread_fasd_top)(strm);
- if (x == OBJNULL)
+ if ((x = READ_STREAM_OR_FASD(strm))==OBJNULL)
break;
{
object *base = vs_base, *top = vs_top, *lex = lex_env;
RETURN1(Ct);
}
+#ifdef STATIC_FUNCTION_POINTERS
+object
+fSload_stream(object strm,object print) {
+ return FFN(fSload_stream)(strm,print);
+}
+#endif
DEFUN_NEW("LOAD-FASL",object,fSload_fasl,SI,2,2,NONE,OO,OO,OO,OO,(object fasl_filename,object print),"") {