385abae
Description: <short summary of the patch>
385abae
 TODO: Put a short summary on the line above and replace this paragraph
385abae
 with a longer explanation of this change. Complete the meta-information
385abae
 with other relevant fields (see below for details). To make it easier, the
385abae
 information below has been extracted from the changelog. Adjust it or drop
385abae
 it.
385abae
 .
385abae
 gcl (2.6.12-67) unstable; urgency=medium
385abae
 .
385abae
   * Version_2_6_13pre55
385abae
Author: Camm Maguire <camm@debian.org>
385abae
385abae
---
385abae
The information above should follow the Patch Tagging Guidelines, please
385abae
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
385abae
are templates for supplementary fields that you might want to add:
385abae
385abae
Origin: <vendor|upstream|other>, <url of original patch>
385abae
Bug: <url in upstream bugtracker>
385abae
Bug-Debian: https://bugs.debian.org/<bugnumber>
385abae
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
385abae
Forwarded: <no|not-needed|url proving that it has been forwarded>
385abae
Reviewed-By: <name and email of someone who approved the patch>
385abae
Last-Update: 2018-03-03
385abae
385abae
--- gcl-2.6.12.orig/h/notcomp.h
385abae
+++ gcl-2.6.12/h/notcomp.h
385abae
@@ -374,3 +374,5 @@ EXTER gmp_randfnptr_t Mersenne_Twister_G
385abae
 #endif
385abae
 
385abae
 #define collect(p_,f_) (p_)=&(*(p_)=(f_))->c.c_cdr
385abae
+#define READ_STREAM_OR_FASD(strm_) \
385abae
+  type_of(strm_)==t_stream ? read_object_non_recursive(strm_) : fSread_fasd_top(strm_)
385abae
--- gcl-2.6.12.orig/o/cmpaux.c
385abae
+++ gcl-2.6.12/o/cmpaux.c
385abae
@@ -363,7 +363,7 @@ do_init(object *statVV) {
385abae
 
385abae
   if (ch!='\n') {
385abae
     struct fasd * fd;
385abae
-    faslfile=FFN(fSopen_fasd)(faslfile,sKinput,OBJNULL,Cnil);
385abae
+    faslfile=fSopen_fasd(faslfile,sKinput,OBJNULL,Cnil);
385abae
     fd=(struct fasd *)faslfile->v.v_self;
385abae
     n=fix(fd->table_length);
385abae
     fd->table->v.v_self=alloca(n*sizeof(object));
385abae
@@ -371,7 +371,7 @@ do_init(object *statVV) {
385abae
     fd->table->v.v_dim=faslfile->v.v_self[1]->v.v_fillp=n;
385abae
   }
385abae
 
385abae
-  n=fix(type_of(faslfile)==t_stream ? read_object(faslfile) : FFN(fSread_fasd_top)(faslfile));
385abae
+  n=fix(READ_STREAM_OR_FASD(faslfile));
385abae
   sSPinit->s.s_dbind=fasl_vec=fSmake_vector1_1(n,aet_object,Cnil);
385abae
 
385abae
   /* switch SPinit to point to a vector of function addresses */
385abae
@@ -395,9 +395,9 @@ do_init(object *statVV) {
385abae
   */
385abae
   /* Now we can run the forms f1 f2 in form= (%init f1 f2 ...) */
385abae
 
385abae
-  FFN(fSload_stream)(faslfile,Cnil);
385abae
+  fSload_stream(faslfile,Cnil);
385abae
   if (type_of(faslfile)!=t_stream)
385abae
-    FFN(fSclose_fasd)(faslfile);
385abae
+    fSclose_fasd(faslfile);
385abae
 
385abae
 }
385abae
 
385abae
--- gcl-2.6.12.orig/o/fasdump.c
385abae
+++ gcl-2.6.12/o/fasdump.c
385abae
@@ -561,6 +561,13 @@ DEFUN_NEW("READ-FASD-TOP",object,fSread_
385abae
      { RESTORE_FASD;
385abae
      return result;}
385abae
  }
385abae
+#ifdef STATIC_FUNCTION_POINTERS
385abae
+object
385abae
+fSread_fasd_top(object x) {
385abae
+  return FFN(fSread_fasd_top)(x);
385abae
+}
385abae
+#endif
385abae
+
385abae
 
385abae
 object sLeq;
385abae
 object sSPinit;
385abae
@@ -618,6 +625,12 @@ DEFUN_NEW("OPEN-FASD",object,fSopen_fasd
385abae
     fd->table_length=current_fasd.table_length;
385abae
     return result;
385abae
   }}
385abae
+#ifdef STATIC_FUNCTION_POINTERS
385abae
+object
385abae
+fSopen_fasd(object stream, object direction, object eof, object tabl) {
385abae
+  return FFN(fSopen_fasd)(stream,direction,eof,tabl);
385abae
+}
385abae
+#endif
385abae
 
385abae
 DEFUN_NEW("CLOSE-FASD",object,fSclose_fasd,SI,1,1,NONE,OO,OO,OO,OO,(object ar),"")
385abae
 /* static object */
385abae
@@ -649,6 +662,12 @@ DEFUN_NEW("CLOSE-FASD",object,fSclose_fa
385abae
    return ar;
385abae
   
385abae
  }
385abae
+#ifdef STATIC_FUNCTION_POINTERS
385abae
+object
385abae
+fSclose_fasd(object ar) {
385abae
+  return FFN(fSclose_fasd)(ar);
385abae
+}
385abae
+#endif
385abae
 
385abae
 
385abae
 #define HASHP(x) 1
385abae
--- gcl-2.6.12.orig/o/file.d
385abae
+++ gcl-2.6.12/o/file.d
385abae
@@ -1645,8 +1645,7 @@ DEFUN_NEW("LOAD-STREAM",object,fSload_st
385abae
   for (;;) {
385abae
     preserving_whitespace_flag = FALSE;
385abae
     detect_eos_flag = TRUE;
385abae
-    x = type_of(strm)==t_stream ? read_object_non_recursive(strm) : FFN(fSread_fasd_top)(strm);
385abae
-    if (x == OBJNULL)
385abae
+    if ((x = READ_STREAM_OR_FASD(strm))==OBJNULL)
385abae
       break;
385abae
     {
385abae
       object *base = vs_base, *top = vs_top, *lex = lex_env;
385abae
@@ -1672,6 +1671,12 @@ DEFUN_NEW("LOAD-STREAM",object,fSload_st
385abae
   RETURN1(Ct);
385abae
 
385abae
 }
385abae
+#ifdef STATIC_FUNCTION_POINTERS
385abae
+object
385abae
+fSload_stream(object strm,object print) {
385abae
+  return FFN(fSload_stream)(strm,print);
385abae
+}
385abae
+#endif
385abae
 
385abae
 DEFUN_NEW("LOAD-FASL",object,fSload_fasl,SI,2,2,NONE,OO,OO,OO,OO,(object fasl_filename,object print),"") {
385abae