diff -r 5cd656a07aa5 src/bar.c
--- a/bar.c	Thu May 14 06:01:00 2009 -0400
+++ b/bar.c	Thu May 14 07:38:17 2009 -0400
@@ -237,7 +237,7 @@
     g = callocobject();
     e = S_V_I(a,0L);
     f = S_V_I(a,1L);
-    erg += sum(f,g);
+    erg += sym_sum(f,g);
     j=0L;
     for (i=0L;i<S_V_LI(e);i++)
         j += S_V_II(e,i)*(i+1L);
@@ -427,7 +427,7 @@
     for (i=0L;i<S_V_LI(b);i++)
         erg += kranztypus_to_matrix(S_V_I(c,i),S_V_I(b,i));
     erg += freeall(c);
-    erg += sort(b); /* AK 130592 */
+    erg += sym_sort(b); /* AK 130592 */
     ENDR("makevectorof_class_bar");
 }
 
@@ -615,7 +615,7 @@
     c = callocobject();
     d = callocobject();
     erg += lehmercode_bar(a,c);
-    erg += sum(S_V_I(c,1L),b);
+    erg += sym_sum(S_V_I(c,1L),b);
     for(i=0L;i<S_P_LI(a);i++)
         {
         if (S_V_II(S_V_I(c,0L),i) == 1L)
diff -r 5cd656a07aa5 src/def.h
--- a/def.h	Thu May 14 06:01:00 2009 -0400
+++ b/def.h	Thu May 14 07:38:17 2009 -0400
@@ -3105,7 +3105,7 @@
 extern INT so_character ();
 extern INT so_dimension ();
 extern OBJECTKIND s_o_k();
-extern INT sort();
+extern INT sym_sort();
 extern INT sort_rows_tableaux_apply();
 extern INT sort_vector();
 extern OBJECTSELF s_o_s();
@@ -3271,7 +3271,7 @@
 extern INT sub_part_part();
 extern INT substitute_one_matrix ();
 extern INT substitute_one_monopoly ();
-extern INT sum();
+extern INT sym_sum();
 extern INT sum_integervector();
 extern INT sum_matrix();
 extern INT sum_vector();
diff -r 5cd656a07aa5 src/di.c
--- a/di.c	Thu May 14 06:01:00 2009 -0400
+++ b/di.c	Thu May 14 07:38:17 2009 -0400
@@ -1355,7 +1355,7 @@
 				m_il_nv(0L,weight_watcher);
 				m_il_nv(0L,perm_vec);
 				copy(S_V_I(FP,0L),fix);
-				sort(fix);
+				sym_sort(fix);
 
 				get_perm(hweight,p,b,S_I_I(n),S_I_I(m),0L,
 						 perm_vec,weight_watcher,fix);
@@ -1502,7 +1502,7 @@
 	if(ind == m)
 	{
 		mult_perm_fix(p,fix,hfix);
-		sort(hfix);
+		sym_sort(hfix);
 		if(!hfix_in_ww(hfix,ww))
 		{
 			inc(ww);
diff -r 5cd656a07aa5 src/ga.c
--- a/ga.c	Thu May 14 06:01:00 2009 -0400
+++ b/ga.c	Thu May 14 07:38:17 2009 -0400
@@ -632,7 +632,7 @@
     else if (what == 0L)
         erg += vertikal_sum(S_V_L(a),c);
     erg += copy(a,d);
-    erg += sort(d);
+    erg += sym_sort(d);
     erg += m_il_p(S_V_II(d,S_V_LI(d)-1L),e); /* identitaet */
     for (i=0L,k=0L,j=S_V_LI(d);i<S_P_LI(e);i++)
         if (i+1L == S_V_II(d,k) )
@@ -722,7 +722,7 @@
 
     j=0L;
     erg += append(h,g,h2); 
-    erg += sort(h2);
+    erg += sym_sort(h2);
     for (i=0L;i<S_V_LI(g);i++)
         {
         erg += m_i_i(S_V_II(g,i),S_P_I(a,j));
diff -r 5cd656a07aa5 src/galois.c
--- a/galois.c	Thu May 14 06:01:00 2009 -0400
+++ b/galois.c	Thu May 14 07:38:17 2009 -0400
@@ -758,7 +758,7 @@
 		}
         }
     FREEALL2(v,nv);
-    sort(res);
+    sym_sort(res);
     }
     S3R(k,phg_c,phg_d,"all_points_phg_store",res);
     ENDR("all_points");
diff -r 5cd656a07aa5 src/macro.h
--- a/macro.h	Thu May 14 06:01:00 2009 -0400
+++ b/macro.h	Thu May 14 07:38:17 2009 -0400
@@ -1,6 +1,8 @@
 /* file: macro.h symmetrica source code */
 #ifndef MACRO_H
 
+#include "string.h"
+
 #ifdef SYMMAGMA
 #define SYM_MALLOC(a) mem_malloc(a)
 #else
 #define C_O_K(a,b) ((a)->ob_kind = (OBJECTKIND)(b))
--- a/nc.c	Thu May 14 06:01:00 2009 -0400
+++ b/nc.c	Thu May 14 07:38:17 2009 -0400
@@ -204,7 +204,7 @@
     erg += mult(S_NC_C(a),S_NC_C(b),d);
     erg += m_gl_co(S_NC_GL(a),e);
     erg += mult_apply(e,d);
-    erg += sum(d,e);
+    erg += sym_sum(d,e);
     erg += m_gl_go(S_NC_GL(a),d);
     erg += div(e,d,c);
     erg += freeall(e);
@@ -617,7 +617,7 @@
         erg += mult_nc_kranz(c,a,e);
         erg += mult(S_V_I(e,1L),f,c);
         erg += div(c,g,c);
-        erg += sum(c,S_V_I(S_NC_C(b),S_I_I(d)));
+        erg += sym_sum(c,S_V_I(S_NC_C(b),S_I_I(d)));
     }
     erg += freeall(c); 
     erg += freeall(d); 
@@ -712,7 +712,7 @@
     for(j = 0L; j<S_V_LI(c);j++) {
         kranztypus_to_matrix(S_V_I(c,j),S_V_I(a,j)); 
     }
-    sort(a);
+    sym_sort(a);
     freeall(f); freeall(h); freeall(c);
     return OK;
 }
@@ -739,7 +739,7 @@
         kranztypus_to_matrix(S_V_I(c,j),S_V_I(h,j)); 
         }
     
-    sort(h); 
+    sym_sort(h); 
     m_l_v(S_V_L(h),a);
     for(j = 0L; j<S_V_LI(c);j++) {
         typusorder(S_V_I(h,j), zb, za, S_V_I(a,j), f);
@@ -789,7 +789,7 @@
         erg += kranztypus_to_matrix(S_V_I(c,j),S_V_I(h,j)); 
     }
     
-    erg += sort(h);
+    erg += sym_sort(h);
     erg += typusorder(S_V_I(h,S_I_I(i)), zb, za, a, f);
     erg += freeall(f); 
     erg += freeall(c); 
diff -r 5cd656a07aa5 src/nu.c
--- a/nu.c	Thu May 14 06:01:00 2009 -0400
+++ b/nu.c	Thu May 14 07:38:17 2009 -0400
@@ -531,13 +531,13 @@
     ENDR("add");
 }
 
-INT sort(a) OP a;
+INT sym_sort(a) OP a;
 /* sortiert das object in aufsteigender reihenfolge AK 270787 */
 /* AK 160986 */ /* AK 280689 V1.0 */ /* AK 050390 V1.1 */
 /* AK 070891 V1.3 */
 {
     INT erg = OK;
-    EOP("sort(1)",a);
+    EOP("sym_sort(1)",a);
 
     switch(S_O_K(a))
     {
@@ -547,9 +547,9 @@
         erg += sort_vector(a);break;
 #endif /* VECTORTRUE */
     default:
-        erg += WTO("sort",a); break;
+        erg += WTO("sym_sort",a); break;
     };
-    ENDR("sort");
+    ENDR("sym_sort");
 }
 
 INT length(a,d) OP a,d;
@@ -641,7 +641,7 @@
     ENDR("content");
 }
 
-INT sum(a,res) OP a,res;
+INT sym_sum(a,res) OP a,res;
 /* AK 280689 V1.0 */ /* AK 050390 V1.1 */ /* AK 120391 V1.2 */
 /* AK 140891 V1.3 */
 /* AK 170298 V2.0 */
@@ -649,7 +649,7 @@
     INT erg = OK;
     COP("sum(1)",a);
     COP("sum(2)",res);
-    CE2(a,res,sum);
+    CE2(a,res,sym_sum);
 
     switch(S_O_K(a))
     {
@@ -680,7 +680,7 @@
         erg += WTO("sum",a); break;
     };
 
-    ENDR("sum");
+    ENDR("sym_sum");
 }
 
 
diff -r 5cd656a07aa5 src/part.c
--- a/part.c	Thu May 14 06:01:00 2009 -0400
+++ b/part.c	Thu May 14 07:38:17 2009 -0400
@@ -347,7 +347,7 @@
     if (a == b) { /* a := a+a */
         if (S_PA_K(a) == VECTOR) {
             erg += append_apply_vector(S_PA_S(a),S_PA_S(b));
-            erg += sort(S_PA_S(a));
+            erg += sym_sort(S_PA_S(a));
             goto endr_ende;
         }
         else if (S_PA_K(a) == EXPONENT) {
@@ -406,7 +406,7 @@
             k=S_PA_LI(b)-1;
 /*
             erg += append_apply_vector(S_PA_S(a),S_PA_S(b));
-            erg += sort(S_PA_S(a));
+            erg += sym_sort(S_PA_S(a));
 */
             inc_vector_co(S_PA_S(a),S_PA_LI(b));
             for (j=S_PA_LI(a)-1;j>=0;j--)
diff -r 5cd656a07aa5 src/perm.c
--- a/perm.c	Thu May 14 06:01:00 2009 -0400
+++ b/perm.c	Thu May 14 07:38:17 2009 -0400
@@ -833,9 +833,9 @@
     /* s = Anzahl der spalten */
         
     s = S_V_LI(S_V_I(a,0L));
-    sum(S_V_I(a,0L),summe);/* composition ist vector */
+    sym_sum(S_V_I(a,0L),summe);/* composition ist vector */
     z = S_I_I(summe);
-    FREEALL(summe); 
+    FREEALL(summe);
     m_ilih_nm(s,z,b); 
     C_O_K(b,KRANZTYPUS);
     for (i=0L;i<s;i++)
@@ -1114,7 +1114,7 @@
         erg += kranztypus_to_matrix(S_V_I(c,i),S_V_I(h,i)); 
     }
     
-    erg += sort(h);
+    erg += sym_sort(h);
 
     erg += chartafel(b,ct);
 
@@ -1926,7 +1926,7 @@
     OP c;
     c = CALLOCOBJECT();
     erg += lehmercode_permutation(a,c); /*result is a vector */
-    erg += sum(c,b); 
+    erg += sym_sum(c,b); 
     FREEALL(c);
     }
     ENDR("numberof_inversionen");
@@ -2364,7 +2364,7 @@
     COP("rz_lehmercode(2)",b);
 
     zw = callocobject();
-    erg += sum(lc,zw); 
+    erg += sym_sum(lc,zw); 
     if (NULLP(zw)) 
         {
         erg += m_il_integervector((INT)0,b);
diff -r 5cd656a07aa5 src/rest.c
--- a/rest.c	Thu May 14 06:01:00 2009 -0400
+++ b/rest.c	Thu May 14 07:38:17 2009 -0400
@@ -3998,7 +3998,7 @@
                 oj = j;
                 }
         }
-    erg += sum(c,b);
+    erg += sym_sum(c,b);
 eee:
     erg += freeall(c);
     ENDR("charge_word");
diff -r 5cd656a07aa5 src/ta.c
--- a/ta.c	Thu May 14 06:01:00 2009 -0400
+++ b/ta.c	Thu May 14 07:38:17 2009 -0400
@@ -1596,7 +1596,7 @@
     {
     OP d,e;
     e = CALLOCOBJECT();
-    erg += sum(content,e); /* AK 271098 */
+    erg += sym_sum(content,e); /* AK 271098 */
     d = CALLOCOBJECT();
     erg += weight(shape,d);
     if (NEQ(d,e))
@@ -1821,7 +1821,7 @@
     CE3(matrix, column_index, row_index,matrix_twoword);
     c = callocobject();
     erg += zeilen_summe(matrix,c);
-    erg += sum(c,c);
+    erg += sym_sum(c,c);
     erg += m_l_v(c,column_index);
     erg += m_l_v(c,row_index);
     for(i=0,l=0;i<S_M_HI(matrix);i++)
diff -r 5cd656a07aa5 src/zyk.c
--- a/zyk.c	Thu May 14 06:01:00 2009 -0400
+++ b/zyk.c	Thu May 14 07:38:17 2009 -0400
@@ -804,7 +804,7 @@
     zykeltypvec = CALLOCOBJECT();
     ak_order = CALLOCOBJECT();
 
-    sum(numztvec,ak_order); /* AK 060295 */
+    sym_sum(numztvec,ak_order); /* AK 060295 */
 
 
 
@@ -1176,7 +1176,7 @@
     erg += m_i_i(0,c);
     while (z!=NULL)
         {
-        erg += sum(S_PO_S(z),e);
+        erg += sym_sum(S_PO_S(z),e);
         erg += hoch(b,e,e);
         erg += mult_apply(S_PO_K(z),e);
         erg += add_apply(e,c);
