d60bed
Description: <short summary="" of="" the="" patch="">
d60bed
 TODO: Put a short summary on the line above and replace this paragraph
d60bed
 with a longer explanation of this change. Complete the meta-information
d60bed
 with other relevant fields (see below for details). To make it easier, the
d60bed
 information below has been extracted from the changelog. Adjust it or drop
d60bed
 it.
d60bed
 .
d60bed
 gcl (2.6.12-83) unstable; urgency=high
d60bed
 .
d60bed
   * Version_2_6_13pre79
d60bed
   * Fix acl2 arm builds (Closes: #919477).
d60bed
Author: Camm Maguire <camm@debian.org>
d60bed
Bug-Debian: https://bugs.debian.org/919477
d60bed
d60bed
---
d60bed
The information above should follow the Patch Tagging Guidelines, please
d60bed
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
d60bed
are templates for supplementary fields that you might want to add:
d60bed
d60bed
Origin: <vendor|upstream|other>, <url of="" original="" patch="">
d60bed
Bug: <url in="" upstream="" bugtracker="">
d60bed
Bug-Debian: https://bugs.debian.org/<bugnumber>
d60bed
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
d60bed
Forwarded: <no|not-needed|url proving="" that="" it="" has="" been="" forwarded="">
d60bed
Reviewed-By: <name and="" email="" of="" someone="" who="" approved="" the="" patch="">
d60bed
Last-Update: 2019-03-21
d60bed
d60bed
--- gcl-2.6.12.orig/h/notcomp.h
d60bed
+++ gcl-2.6.12/h/notcomp.h
d60bed
@@ -175,7 +175,7 @@ TS_MEMBER(t0,TS(t1)|TS(t2)|TS(t3)...)
d60bed
 #define TS(s) (1<
d60bed
 #define TS_MEMBER(t1,ts) ((TS(t1)) & (ts))
d60bed
 
d60bed
-#define ASSURE_TYPE(val,t) if(type_of(val)!=t) val= Icheck_one_type(val,t)
d60bed
+#define ASSURE_TYPE(val,t) if (type_of(val)!=t) TYPE_ERROR(val,type_name(t))
d60bed
 
d60bed
 object IisArray();
d60bed
 
d60bed
--- gcl-2.6.12.orig/o/alloc.c
d60bed
+++ gcl-2.6.12/o/alloc.c
d60bed
@@ -526,16 +526,9 @@ exhausted_report(enum type t,struct type
d60bed
 
d60bed
   available_pages+=resv_pages;
d60bed
   resv_pages=0;
d60bed
-  vs_push(type_name(t));
d60bed
-  vs_push(make_fixnum(tm->tm_npage));
d60bed
-  CEerror("The storage for ~A is exhausted.~%\
d60bed
-Currently, ~D pages are allocated.~%	     \
d60bed
-Use ALLOCATE to expand the space.",
d60bed
-	  "Continues execution.",
d60bed
-	  2, vs_top[-2], vs_top[-1], Cnil, Cnil);
d60bed
-
d60bed
-  vs_popp;
d60bed
-  vs_popp;
d60bed
+  CEerror("Continues execution.",
d60bed
+	  "The storage for ~A is exhausted. ~D pages allocated. Use ALLOCATE to expand the space.",
d60bed
+	  2, type_name(t), make_fixnum(tm->tm_npage));
d60bed
 
d60bed
   call_after_gbc_hook(t);
d60bed
 
d60bed
--- gcl-2.6.12.orig/o/array.c
d60bed
+++ gcl-2.6.12/o/array.c
d60bed
@@ -211,14 +211,18 @@ DEFUN_NEW("ASET1", object, fSaset1, SI,
d60bed
       break;
d60bed
     case aet_bit:
d60bed
       i +=  BV_OFFSET(x);
d60bed
-    AGAIN_BIT: 
d60bed
       ASSURE_TYPE(val,t_fixnum);
d60bed
-      {int v = Mfix(val);
d60bed
-       if (v == 0) CLEAR_BITREF(x,i);
d60bed
-       else if (v == 1) SET_BITREF(x,i);
d60bed
-       else {val= fSincorrect_type(val,sLbit);
d60bed
-	     goto AGAIN_BIT;}
d60bed
-       break;}
d60bed
+      switch (Mfix(val)) {
d60bed
+      case 0:
d60bed
+	CLEAR_BITREF(x,i);
d60bed
+	break;
d60bed
+      case 1:
d60bed
+	SET_BITREF(x,i);
d60bed
+	break;
d60bed
+      default:
d60bed
+	TYPE_ERROR(val,sLbit);
d60bed
+      }
d60bed
+      break;
d60bed
     case aet_fix:
d60bed
       ASSURE_TYPE(val,t_fixnum);
d60bed
       (x->fixa.fixa_self[i]) = Mfix(val);
d60bed
--- gcl-2.6.12.orig/o/utils.c
d60bed
+++ gcl-2.6.12/o/utils.c
d60bed
@@ -169,20 +169,6 @@ Ifuncall_n(object fun,int n,...) {
d60bed
 /*   return res; */
d60bed
 /* } */
d60bed
 
d60bed
-object
d60bed
-Icheck_one_type(object x, enum type t)
d60bed
-{ if (x->d.t != t)
d60bed
-    { return CEerror("Expected a ~a ","Supply right type",1,type_name(t),Cnil,Cnil,Cnil);
d60bed
-    }
d60bed
-  return x;
d60bed
-}
d60bed
-
d60bed
-
d60bed
-object
d60bed
-fSincorrect_type(object val, object type)
d60bed
-{ return CEerror("Got ~a,Expected a ~a","Supply a new one",1,val,type,Cnil,Cnil);
d60bed
-}
d60bed
-
d60bed
 /* static void */
d60bed
 /* Ineed_in_image(object (*foo) (/\* ??? *\/)) */
d60bed
 /* {;} */