Description: TODO: Put a short summary on the line above and replace this paragraph with a longer explanation of this change. Complete the meta-information with other relevant fields (see below for details). To make it easier, the information below has been extracted from the changelog. Adjust it or drop it. . gcl (2.6.12-67) unstable; urgency=medium . * Version_2_6_13pre55 Author: Camm Maguire --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: , Bug: Bug-Debian: https://bugs.debian.org/ Bug-Ubuntu: https://launchpad.net/bugs/ Forwarded: Reviewed-By: Last-Update: 2018-03-03 --- gcl-2.6.12.orig/h/notcomp.h +++ gcl-2.6.12/h/notcomp.h @@ -374,3 +374,5 @@ EXTER gmp_randfnptr_t Mersenne_Twister_G #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_) --- gcl-2.6.12.orig/o/cmpaux.c +++ gcl-2.6.12/o/cmpaux.c @@ -363,7 +363,7 @@ do_init(object *statVV) { 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)); @@ -371,7 +371,7 @@ do_init(object *statVV) { 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 */ @@ -395,9 +395,9 @@ do_init(object *statVV) { */ /* 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); } --- gcl-2.6.12.orig/o/fasdump.c +++ gcl-2.6.12/o/fasdump.c @@ -561,6 +561,13 @@ DEFUN_NEW("READ-FASD-TOP",object,fSread_ { 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; @@ -618,6 +625,12 @@ DEFUN_NEW("OPEN-FASD",object,fSopen_fasd 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 */ @@ -649,6 +662,12 @@ DEFUN_NEW("CLOSE-FASD",object,fSclose_fa return ar; } +#ifdef STATIC_FUNCTION_POINTERS +object +fSclose_fasd(object ar) { + return FFN(fSclose_fasd)(ar); +} +#endif #define HASHP(x) 1 --- gcl-2.6.12.orig/o/file.d +++ gcl-2.6.12/o/file.d @@ -1645,8 +1645,7 @@ DEFUN_NEW("LOAD-STREAM",object,fSload_st 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; @@ -1672,6 +1671,12 @@ DEFUN_NEW("LOAD-STREAM",object,fSload_st 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),"") {