Index: .gitignore
===================================================================
--- .gitignore	(revision 2336d0a674d92415a0e20e0b4abf6b1a96ab56e2)
+++ .gitignore	(revision afdd5549fb47d9704dd9bc0d475fe4fb12126213)
@@ -6,4 +6,5 @@
 *.exe
 depend
+tags
 Makefile
 GNUMakefile
Index: coeffs/coeffs.h
===================================================================
--- coeffs/coeffs.h	(revision 2336d0a674d92415a0e20e0b4abf6b1a96ab56e2)
+++ coeffs/coeffs.h	(revision afdd5549fb47d9704dd9bc0d475fe4fb12126213)
@@ -110,5 +110,4 @@
 
    coeffs next;
-   n_coeffType fieldtype;
    unsigned int  ringtype;  /* 0 => coefficient field, 1 => coeffs from Z/2^m */
 
Index: coeffs/modulop.cc
===================================================================
--- coeffs/modulop.cc	(revision 2336d0a674d92415a0e20e0b4abf6b1a96ab56e2)
+++ coeffs/modulop.cc	(revision afdd5549fb47d9704dd9bc0d475fe4fb12126213)
@@ -361,8 +361,9 @@
 #endif
     }
+    r->type=n_Zp;
+    r->cfInitChar=npInitChar;
     r->cfKillChar=npKillChar;
     r->cfSetChar=npSetChar;
     npSetChar(r);
-    r->cfSetChar=NULL;
     r->cfInit = npInit;
     r->nInit_bigint=npMap0;
Index: coeffs/numbers.cc
===================================================================
--- coeffs/numbers.cc	(revision 2336d0a674d92415a0e20e0b4abf6b1a96ab56e2)
+++ coeffs/numbers.cc	(revision afdd5549fb47d9704dd9bc0d475fe4fb12126213)
@@ -266,4 +266,5 @@
   n->nGetUnit = (nMapFunc)NULL;
 #endif
+  #if 0 /*vertagt*/
   if (nField_is_Extension(r))
   {
@@ -305,4 +306,5 @@
 #endif
   }
+  #endif
 #ifdef HAVE_RINGS
   /* -------------- Z/2^m ----------------------- */
@@ -321,5 +323,5 @@
      n->cfInit  = nrzInit;
      n->cfDelete= nrzDelete;
-     n->nCopy  = nrzCopy;
+     n->cfCopy  = nrzCopy;
      n->cfCopy = cfrzCopy;
      n->nSize  = nrzSize;
@@ -374,5 +376,5 @@
     n->nNeg   = nlNeg;
     n->nInvers= nlInvers;
-    n->nCopy  = nlCopy;
+    n->cfCopy  = nlCopy;
     n->nGreater = nlGreater;
     n->nEqual = nlEqual;
@@ -454,5 +456,5 @@
     n->nNeg   = nfNeg;
     n->nInvers= nfInvers;
-    n->nCopy  = ndCopy;
+    n->cfCopy  = ndCopy;
     n->nGreater = nfGreater;
     n->nEqual = nfEqual;
@@ -484,5 +486,5 @@
     n->nNeg   = nrNeg;
     n->nInvers= nrInvers;
-    n->nCopy  = ndCopy;
+    n->cfCopy  = ndCopy;
     n->nGreater = nrGreater;
     n->nEqual = nrEqual;
@@ -514,5 +516,5 @@
     n->nNeg   = ngfNeg;
     n->nInvers= ngfInvers;
-    n->nCopy  = ngfCopy;
+    n->cfCopy  = ngfCopy;
     n->nGreater = ngfGreater;
     n->nEqual = ngfEqual;
@@ -545,5 +547,5 @@
     n->nNeg   = ngcNeg;
     n->nInvers= ngcInvers;
-    n->nCopy  = ngcCopy;
+    n->cfCopy  = ngcCopy;
     n->nGreater = ngcGreater;
     n->nEqual = ngcEqual;
@@ -571,5 +573,5 @@
 #endif
 #ifdef HAVE_RINGS
-  if (n->nGetUnit==(nMapFunc)NULL) n->nGetUnit=n->nCopy;
+  if (n->nGetUnit==(nMapFunc)NULL) n->nGetUnit=n->cfCopy;
 #endif
   if (!errorreported)
Index: coeffs/numbers.h
===================================================================
--- coeffs/numbers.h	(revision 2336d0a674d92415a0e20e0b4abf6b1a96ab56e2)
+++ coeffs/numbers.h	(revision afdd5549fb47d9704dd9bc0d475fe4fb12126213)
@@ -118,26 +118,24 @@
 
 
-static inline n_coeffType nField_is(const coeffs r)
-{ return r->fieldtype; }
 static inline BOOLEAN nField_is_Zp(const coeffs r)
-{ return nField_is(r)==n_Zp; }
+{ return getCoeffType(r)==n_Zp; }
 
 static inline BOOLEAN nField_is_Zp(const coeffs r, int p)
-{ return (nField_is_Zp(r)  && (r->ch == ABS(p))); }
+{ return (getCoeffType(r)  && (r->ch == ABS(p))); }
 
 static inline BOOLEAN nField_is_Q(const coeffs r)
-{ return nField_is(r)==n_Q; }
+{ return getCoeffType(r)==n_Q; }
 
 static inline BOOLEAN nField_is_numeric(const coeffs r) /* R, long R, long C */
-{  return (nField_is(r)==n_R) || (nField_is(r)==n_long_R) || (nField_is(r)==n_long_C); }
+{  return (getCoeffType(r)==n_R) || (getCoeffType(r)==n_long_R) || (getCoeffType(r)==n_long_C); }
 
 static inline BOOLEAN nField_is_R(const coeffs r)
-{ return nField_is(r)==n_R; }
+{ return getCoeffType(r)==n_R; }
 
 static inline BOOLEAN nField_is_GF(const coeffs r)
-{ return nField_is(r)==n_GF; }
+{ return getCoeffType(r)==n_GF; }
 
 static inline BOOLEAN nField_is_GF(const coeffs r, int q)
-{ return (nField_is(r)==n_GF) && (r->ch == q); }
+{ return (getCoeffType(r)==n_GF) && (r->ch == q); }
 
 static inline BOOLEAN nField_is_Zp_a(const coeffs r)
@@ -151,8 +149,8 @@
 
 static inline BOOLEAN nField_is_long_R(const coeffs r)
-{ return nField_is(r)==n_long_R; }
+{ return getCoeffType(r)==n_long_R; }
 
 static inline BOOLEAN nField_is_long_C(const coeffs r)
-{ return nField_is(r)==n_long_C; }
+{ return getCoeffType(r)==n_long_C; }
 
 static inline BOOLEAN nField_has_simple_inverse(const coeffs r)
