diff -ruN klic-3.003-2002-02-20/include/klic/gc_macro.h klic-3.003-2002-02-20a/include/klic/gc_macro.h
--- klic-3.003-2002-02-20/include/klic/gc_macro.h	Mon Feb 18 16:21:34 2002
+++ klic-3.003-2002-02-20a/include/klic/gc_macro.h	Wed Feb 20 12:40:34 2002
@@ -62,9 +62,6 @@
 
 #define GC_method_table GC_method_table0(GC_CLASS_NAME())
 
-#define GC_USE_CLASS(class) \
-extern struct consumer_object_method_table GC_method_table0(class)
-
 #define GC_CLASS_NAME_STRING G_stringify(GC_CLASS_NAME())
 
 #define    GC_FAIL(errmsg)    fatal(errmsg)
@@ -86,20 +83,6 @@
   return g_allocp; \
 }while(0)
 
-#define    GC_RETURN_FROM_GENERIC \
-do{ \
-  if (G_ISREF(GC_TERM)) { \
-    GC_RETURN_WITH_HOOK(GC_TERM); \
-  } else if (G_ISREF(G_CDR_OF(GC_TERM))) { \
-    GC_RETURN_WITH_HOOK(G_CDR_OF(GC_TERM)); \
-  } else if (G_CDR_OF(GC_TERM) == NILATOM) { \
-    GC_TERMINATE; \
-  } else { \
-    debug_printf("### %k ###", GC_TERM); \
-    fatal("Invalid data"); \
-  } \
-}while(0)
-
 #define GC_TERMINATE \
 do{ \
   method_result = GC_SUCCEEDED; \
@@ -159,56 +142,6 @@
   } \
 }while(0)
 
-#define GC_SWITCH_ON_METHOD_BEFORE(atomic,list,functor,generic,susp,invalid_data) \
-do{ \
-  while (1) { \
-    switch(ptagof(GC_TERM)) { \
-    case CONS: \
-    { \
-      q g_car = G_CAR_OF(GC_TERM); \
-      switch(ptagof(g_car)) { \
-      case ATOMIC: goto atomic; \
-      case CONS: goto list; \
-      case FUNCTOR: \
-        if (isref(G_FUNCTOR_OF(g_car))) goto generic; \
-        else goto functor; \
-      default: \
-        GC_SUSPEND(g_car); \
-      } \
-    } \
-    case ATOMIC: \
-      if (GC_TERM == NILATOM) { \
-        GC_TERMINATE; \
-      } else goto invalid_data; \
-    case FUNCTOR: goto functor; \
-    case VARREF: \
-      GC_DEREF_AND_TEST(GC_TERM, susp); \
-    default: goto invalid_data; \
-    } \
-  } \
-}while(0)
-
-#define GC_SWITCH_ON_ATOM_METHOD switch((unsigned long)(G_CAR_OF(GC_TERM)))
-
-#define GC_ATOM_METHOD_CASE(atom) \
-   case G_MAKESYM(atom): \
-     { q g_car = G_CAR_OF(G_atom(GC_TERM)); \
-         g_allocp = GC_body(g_car) (GC_SELF,g_car,g_allocp); \
-       if (method_result) GC_SUSPEND(method_result); \
-       GC_RETURN; \
-     }
-
-#define GC_SWITCH_ON_FUNCTOR_METHOD \
-          switch((long)G_FUNCTOR_OF(G_CAR_OF(GC_TERM)))
-
-#define GC_FUNCTOR_METHOD_CASE(fa) \
-   case (long)G_MAKESYM(G_functor(fa)): \
-     { q g_car = G_CAR_OF(GC_TERM); \
-       g_allocp = GC_body(fa) (GC_SELF,g_car,g_allocp); \
-       if (method_result) GC_SUSPEND(method_result); \
-       break; \
-     }
-
 /***************************************************************************/
 
 #define GC_DEREF(x) \
@@ -323,43 +256,10 @@
 
 
 /****************************************************/
-#define GC_SWITCH_ON_METHOD switch(g_method_functor)
-
-#define GC_METHOD_CASE(fa) \
-  case (long) G_functor(fa): \
-  g_allocp = GC_body(fa) (GC_SELF,g_method_functor,GC_ARGV,g_allocp); \
-  break
-
-#define GC_METHOD_CASE_DEFAULT \
-  default: fatal("undefined method")
-
-#define GCDEF_FUNCTOR_METHOD(fa) \
-  static q * \
-  GC_body(fa) (GC_SELF,GC_TERM,g_allocp) \
-    GC_OBJ_TYPE *GC_SELF; \
-    q GC_TERM; \
-    q *g_allocp;
-
-#define GCSET_NEWOBJ(newgobj) \
-do{ \
-  GD_ALLOC_AREA((newgobj), (GC_OBJ_TYPE *), GC_OBJ_SIZE(GC_SELF)); \
-  (newgobj)->method_table = GC_SELF->method_table; \
-}while(0)
-
-#define GC_SUSPEND_GOAL(var, goal) \
-do{ g_allocp = GC_suspend_goal((var), (goal), g_allocp); }while(0)
-
-#define GCSET_UNIFY_GOAL(goalp, x, y) \
-do{ g_allocp = GC_make_unify_goal((goalp), (x), (y), g_allocp); }while(0)
 
 #define GC_GSUCCESS GENERIC_SUCCEEDED
 #define GC_GFAILURE    GENERIC_FAILED
 
-#define GC_GRETURN(x)  do{ return (q) (x); }while(0)
-
-#define GC_GFAIL  do{ return (q) GC_GFAILURE; }while(0)
-#define GC_GSUCCEED  do{ return (q) GC_GSUCCESS; }while(0)
-
 /**********************************************************************/
 
 #define GCDEF_UNIFY() \
@@ -369,17 +269,8 @@
     q GC_TERM; \
     q *g_allocp;
 
-#define GCDEF_SEND() \
-  static q *\
-  GC_rappend(active_unify) (GC_SELF,GC_TERM,g_allocp) \
-    GC_OBJ_TYPE *GC_SELF; \
-    q GC_TERM; \
-    q *g_allocp;
-
 #define GC_PRINT(x) klic_fprintf(g_fp, (x))
 
-#define GC_PUTC(x)  klic_putc((x), g_fp)
-
 #define GC_RETURN_FROM_PRINT  do{ return 1L; }while(0)
 
 #define GCDEF_PRINT() \
@@ -391,16 +282,6 @@
     unsigned long g_depth; \
     unsigned long g_length;
 
-#define GC_PRINT_KL1_TERMS(x,b,s) \
-do{ \
-  int i; \
-  general_print((((q *)(x))+(b)),g_fp,g_depth,g_length); \
-  for(i=(b)+1; i<(b)+(s); i++){ \
-    klic_fprintf(g_fp,","); \
-    general_print((((q *)(x))+i),g_fp,g_depth,g_length); \
-  } \
-}while(0)
-
 /******************************************************************/
 
 #define GCDEF_GC() \
@@ -427,54 +308,13 @@
   return (q *) (newgobj); \
 }while(0)
 
-#define GCDEF_REGIST() \
-  static \
-  long \
-  GC_rappend(regist) (GC_SELF,g_allocp) \
-    GC_OBJ_TYPE *GC_SELF; \
-    q *g_allocp;
-
 #define GCDEF_DEALLOCATE() \
   static void \
   GC_rappend(deallocate) (GC_SELF) \
     GC_OBJ_TYPE* GC_SELF;
 
-#define GCDEF_CLOSE() \
-  static q * \
-  GC_rappend(close) (GC_SELF) \
-    GC_OBJ_TYPE *GC_SELF;
-
-#define GCDEF_GENERIC() \
-static q *\
- GC_rappend(active_unify) (GC_SELF,GC_TERM,g_allocp) \
-    GC_OBJ_TYPE *GC_SELF; \
-    q GC_TERM; \
-    q *g_allocp;
-
 /*******************************************/
 
-#define GCSET_INTARG_FOR_NEW(var,argv_i) \
-do{ \
-  GC_DEREF_FOR_NEW(argv_i); \
-  if(!G_ISINT(argv_i)) GC_FAIL("not integer"); \
-  (var) = G_INTVAL(argv_i); \
-}while(0)
-
-#define GCSET_INTARG(var,argv_i) \
-do{ \
-  GC_DEREF(argv_i); \
-  if(!G_ISINT(argv_i)) GC_FAIL("not integer"); \
-  (var) = G_INTVAL(argv_i); \
-}while(0)
-
-#define GCSET_INTARG_WITHIN_RANGE(var,argv_i,llim,ulim) \
-do{ \
-  GC_DEREF(argv_i); \
-  if(!G_ISINT(argv_i)) GC_FAIL("not integer"); \
-  (var) = G_INTVAL(argv_i); \
-  if((var) < (llim) || (ulim) <= (var)) GC_FAIL("out of range"); \
-}while(0)
-
 #define GCSET_MESSAGE(message)					\
 do{								\
   (message) = G_CAR_OF(GC_TERM);				\
@@ -531,8 +371,6 @@
   }								\
   (arg) = (struct byte_string_object *) G_FUNCTORP(temp);	\
 }while(0)
-
-#define GCSET_NEW_CONS(var)  G_HEAPALLOC(var,2,makecons)
 
 #define GCSET_VAR(self)  ((self) = G_MAKEREF(&(self)))
 
