Index: kernel/F5cdata.cc
===================================================================
--- kernel/F5cdata.cc	(revision df638fbb9459cea6306624417e84f53ef4b62f04)
+++ kernel/F5cdata.cc	(revision df638fbb9459cea6306624417e84f53ef4b62f04)
@@ -0,0 +1,25 @@
+#include "mod2.h"
+
+#ifdef HAVE_F5C
+#include "kutil.h"
+#include "structs.h"
+#include "omalloc.h"
+#include "polys.h"
+#include "p_polys.h"
+#include "ideals.h"
+#include "febase.h"
+#include "kstd1.h"
+#include "khstd.h"
+#include "kbuckets.h"
+#include "weight.h"
+#include "intvec.h"
+#include "pInline1.h"
+#include "f5c.h"
+#include "f5cdata.h"
+#include "f5clists.h"
+/*
+=====================
+everything is inlined 
+=====================
+*/
+#endif
Index: kernel/Makefile.in
===================================================================
--- kernel/Makefile.in	(revision 609e27bbde0bf01bf5570326dc8bfcd73aaa4dba)
+++ kernel/Makefile.in	(revision df638fbb9459cea6306624417e84f53ef4b62f04)
@@ -114,5 +114,6 @@
     pDebug.cc pInline2.cc pInline1.cc pInline0.cc \
     pShallowCopyDelete.cc fast_mult.cc digitech.cc \
-    tgb.cc tgbgauss.cc ringgb.cc f5data.cc f5lists.cc f5gb.cc ratgring.cc shiftgb.cc gfan.cc
+    tgb.cc tgbgauss.cc ringgb.cc f5data.cc f5lists.cc f5gb.cc \
+	f5c.cc f5cdata.cc f5clists.cc ratgring.cc shiftgb.cc gfan.cc
 
 # normal C source files
Index: kernel/f5c.cc
===================================================================
--- kernel/f5c.cc	(revision 609e27bbde0bf01bf5570326dc8bfcd73aaa4dba)
+++ kernel/f5c.cc	(revision df638fbb9459cea6306624417e84f53ef4b62f04)
@@ -17,5 +17,5 @@
 #include "pInline1.h"
 #include "f5c.h"
-#include "f5cdata.h"
+#include "cF5cdata.h"
 #include "f5clists.h"
 #include "timer.h"
@@ -25,5 +25,5 @@
 ==========================================================================
 */
-ideal F5Cmain(ideal id, ring r) {
+ideal f5cMain(ideal id, ring r) {
     return id;
 }
Index: kernel/f5c.h
===================================================================
--- kernel/f5c.h	(revision 609e27bbde0bf01bf5570326dc8bfcd73aaa4dba)
+++ kernel/f5c.h	(revision df638fbb9459cea6306624417e84f53ef4b62f04)
@@ -13,6 +13,7 @@
  * OUTPUT:  ideal g (the grÃ¶bner basis of i computed via F5C)
 */
-ideal F5Cmain(ideal i, ring r);
+ideal f5cMain(ideal i, ring r);
 
 #endif
 #endif
+// F5C_HEADER
Index: rnel/f5cdata.cc
===================================================================
--- kernel/f5cdata.cc	(revision 609e27bbde0bf01bf5570326dc8bfcd73aaa4dba)
+++ 	(revision )
@@ -1,25 +1,0 @@
-#include "mod2.h"
-
-#ifdef HAVE_F5C
-#include "kutil.h"
-#include "structs.h"
-#include "omalloc.h"
-#include "polys.h"
-#include "p_polys.h"
-#include "ideals.h"
-#include "febase.h"
-#include "kstd1.h"
-#include "khstd.h"
-#include "kbuckets.h"
-#include "weight.h"
-#include "intvec.h"
-#include "pInline1.h"
-#include "f5c.h"
-#include "f5cdata.h"
-#include "f5clists.h"
-/*
-=====================
-everything is inlined 
-=====================
-*/
-#endif
Index: kernel/f5gb.cc
===================================================================
--- kernel/f5gb.cc	(revision 609e27bbde0bf01bf5570326dc8bfcd73aaa4dba)
+++ kernel/f5gb.cc	(revision df638fbb9459cea6306624417e84f53ef4b62f04)
@@ -321,4 +321,7 @@
             if(pLmDivisibleByNoComp(testNode->getPoly(),u1)) {
                 //Print("Criterion 1 NOT passed!\n");
+                if(idx != gPrev->getLast()->getIndex()) {
+                    Print("DOCH!\n");
+                }
                 return true;
             }
@@ -384,6 +387,7 @@
     
     RNode* testNode; // =   new RNode();
-    
-    if(NULL == rTag->getFirst()) {
+    testNode    =   rules->getFirst();
+    /*
+     if(NULL == rTag->getFirst()) {
         if(NULL != rules->getFirst()) {
             testNode    =   rules->getFirst();
@@ -393,5 +397,6 @@
         }
     }
-    else {
+    
+     else {
 
         if(l->getIndex() > rTag->getFirst()->getRuleIndex()) {
@@ -402,9 +407,9 @@
             //Print("DEBUG\n");
         //Print("L INDEX: %d\n",l->getIndex());
-            /*-------------------------------------
+            *-------------------------------------
              * TODO: WHEN INTERREDUCING THE GB THE
              *       INDEX OF THE PREVIOUS ELEMENTS
              *       GETS HIGHER!
-             *-----------------------------------*/
+             *-----------------------------------*
             //testNode    =   rules->getFirst();
             testNode    =   rTag->get(l->getIndex());
@@ -415,4 +420,5 @@
         }
     }
+    */
     //testNode    =   rules->getFirst();
 	// save the monom t1*label_term(l) as it is tested various times in the following
@@ -1269,5 +1275,6 @@
     //Print("RULES FIRST: %p\n",rules->getFirst());
     //Print("RULES FIRST DATA: %p\n",rules->getFirst()->getRule());
-    RTagList* rTag  =   new RTagList(rules->getFirst());
+    //RTagList* rTag  =   new RTagList(rules->getFirst());
+    RTagList* rTag  =   NULL;
     i = 1;
     /*for(j=0; j<IDELEMS(id); j++) {
@@ -1328,5 +1335,5 @@
         // remove this comment to get "F5"
         //
-         
+        /* 
         if(gPrev->getLength() > gbLength) {
             if(i < IDELEMS(id)) {
@@ -1358,5 +1365,5 @@
         }
         gbLength    =   gPrev->getLength();
-        
+        */ 
         
 
@@ -1403,5 +1410,5 @@
         // computing new groebner basis gbPrev
         //
-        /* 
+         
         if(gPrev->getLength() > gbLength) {
             if(i < IDELEMS(id)) {
@@ -1425,5 +1432,4 @@
             //if(i<IDELEMS(id)) {
                 ideal tempId    =   kInterRed(gbPrev);
-                Print("HERE\n");
                 gbPrev          =   tempId;
                 delete gPrev;
@@ -1432,15 +1438,17 @@
                 gPrev->insert(pOne,1,gbPrev->m[1]);
                 rules    =   new RList();
-                rTag     =   new RTagList(rules->getFirst());
+                //rTag     =   new RTagList(rules->getFirst());
                 for(k=2; k<IDELEMS(gbPrev); k++) {
                     gPrev->insert(pOne,k+1,gbPrev->m[k]);
+                    /*
                     for(l=0; l<k; l++) {
                     }
                     rTag->insert(rules->getFirst());
+                    */
                 }
             //}
             gbLength    =   gPrev->getLength(); 
         }  
-       */   
+        
 
 
Index: kernel/f5gb.h
===================================================================
--- kernel/f5gb.h	(revision 609e27bbde0bf01bf5570326dc8bfcd73aaa4dba)
+++ kernel/f5gb.h	(revision df638fbb9459cea6306624417e84f53ef4b62f04)
@@ -2,5 +2,5 @@
 *  Computer Algebra System SINGULAR     *
 ****************************************/
-/* $Id: f5gb.h,v 1.40 2009-05-29 11:34:22 ederc Exp $ */
+/* $Id: f5gb.h,v 1.41 2009-07-02 13:47:24 ederc Exp $ */
 /*
 * ABSTRACT: f5gb interface
@@ -43,5 +43,5 @@
 ==================================================
 */
-inline LList* F5inc(int i, poly f_i, LList* gPrev, ideal gbPrev, poly ONE, LTagList* lTag, RList* rules, RTagList* rTag);
+LList* F5inc(int i, poly f_i, LList* gPrev, ideal gbPrev, poly ONE, LTagList* lTag, RList* rules, RTagList* rTag);
 
 /*
Index: kernel/f5lists.cc
===================================================================
--- kernel/f5lists.cc	(revision 609e27bbde0bf01bf5570326dc8bfcd73aaa4dba)
+++ kernel/f5lists.cc	(revision df638fbb9459cea6306624417e84f53ef4b62f04)
@@ -1019,4 +1019,6 @@
 
 RNode* RTagNode::getRNode() {
+    //Print("%p\n", this);
+    //Print("%p\n",this->data);
     return this->data;
 }
Index: kernel/mod2.h.in
===================================================================
--- kernel/mod2.h.in	(revision 609e27bbde0bf01bf5570326dc8bfcd73aaa4dba)
+++ kernel/mod2.h.in	(revision df638fbb9459cea6306624417e84f53ef4b62f04)
@@ -6,5 +6,5 @@
  *          DO NOT EDIT!
  *
- *  Version: $Id: mod2.h.in,v 1.35 2009-06-10 07:44:37 Singular Exp $
+ *  Version: $Id: mod2.h.in,v 1.36 2009-07-02 13:47:24 ederc Exp $
  *******************************************************************/
 #ifndef MOD2_H
@@ -196,5 +196,9 @@
 /* procedures to compute groebner bases with the f5 implementation */
 /* still testing */
-#undef HAVE_F5
+#define HAVE_F5 1
+
+/* procedures to compute groebner bases with the f5c implementation */
+/* still testing */
+#define HAVE_F5C 1
 
 /* letterplace gb:*/
