Added delslice and delitem.
Renamed and, or to and_, or_.
Renamed all internal identifiers so as not to start with '__' (which is
a compiler privilege); remove AIX hack.
diff --git a/Modules/operator.c b/Modules/operator.c
index 318d0dd..0198482 100644
--- a/Modules/operator.c
+++ b/Modules/operator.c
@@ -110,40 +110,36 @@
   if(-1 == (r=AOP(a1,a2))) return NULL; \
   return PyInt_FromLong(r); }
 
-#ifdef _AIX
-#define __div __aix_div
-#define __abs __aix_abs
-#endif
-
 spami(isCallable       , PyCallable_Check)
 spami(isNumberType     , PyNumber_Check)
 spami(truth            , PyObject_IsTrue)
-spam2(__add          , PyNumber_Add)
-spam2(__sub          , PyNumber_Subtract)
-spam2(__mul          , PyNumber_Multiply)
-spam2(__div          , PyNumber_Divide)
-spam2(__mod          , PyNumber_Remainder)
-spam1(__neg          , PyNumber_Negative)
-spam1(__pos          , PyNumber_Positive)
-spam1(__abs          , PyNumber_Absolute)
-spam1(__inv          , PyNumber_Invert)
-spam2(__lshift       , PyNumber_Lshift)
-spam2(__rshift       , PyNumber_Rshift)
-spam2(__and          , PyNumber_And)
-spam2(__xor          , PyNumber_Xor)
-spam2(__or           , PyNumber_Or)
+spam2(op_add           , PyNumber_Add)
+spam2(op_sub           , PyNumber_Subtract)
+spam2(op_mul           , PyNumber_Multiply)
+spam2(op_div           , PyNumber_Divide)
+spam2(op_mod           , PyNumber_Remainder)
+spam1(op_neg           , PyNumber_Negative)
+spam1(op_pos           , PyNumber_Positive)
+spam1(op_abs           , PyNumber_Absolute)
+spam1(op_inv           , PyNumber_Invert)
+spam2(op_lshift        , PyNumber_Lshift)
+spam2(op_rshift        , PyNumber_Rshift)
+spam2(op_and_          , PyNumber_And)
+spam2(op_xor           , PyNumber_Xor)
+spam2(op_or_           , PyNumber_Or)
 spami(isSequenceType   , PySequence_Check)
-spam2(__concat       , PySequence_Concat)
-spamoi(__repeat       , PySequence_Repeat)
+spam2(op_concat        , PySequence_Concat)
+spamoi(op_repeat       , PySequence_Repeat)
 spami2(sequenceIncludes, PySequence_In)
 spami2(indexOf         , PySequence_Index)
 spami2(countOf         , PySequence_Count)
 spami(isMappingType    , PyMapping_Check)
-spam2(__getitem      , PyObject_GetItem)
-spam3n(__setitem     , PyObject_SetItem)
+spam2(op_getitem       , PyObject_GetItem)
+spam2n(op_delitem       , PyObject_DelItem)
+spam3n(op_setitem      , PyObject_SetItem)
 
 static PyObject*
-__getslice(s,a)
+op_getslice(s,a)
      PyObject *s, *a;
 {
   PyObject *a1;
@@ -155,7 +151,7 @@
 }
 
 static PyObject*
-__setslice(s,a)
+op_setslice(s,a)
      PyObject *s, *a;
 {
   PyObject *a1, *a4;
@@ -169,16 +165,31 @@
   return Py_None;
 }
 
+static PyObject*
+op_delslice(s,a)
+     PyObject *s, *a;
+{
+  PyObject *a1, *a4;
+  long a2,a3;
+
+  if(! PyArg_ParseTuple(a,"Oii",&a1,&a2,&a3)) return NULL;
+
+  if(-1 == PySequence_DelSlice(a1,a2,a3)) return NULL;
+
+  Py_INCREF(Py_None);
+  return Py_None;
+}
+
 #undef spam1
 #undef spam2
 #ifdef HAVE_OLD_CPP
 #define spam1(OP,DOC) {"OP", OP, 1, DOC},
-#define spam2(OP,ALTOP,DOC) {"OP", __/**/OP, 1, DOC}, \
-			   {"ALTOP", __/**/OP, 1, DOC}, 
+#define spam2(OP,ALTOP,DOC) {"OP", op_/**/OP, 1, DOC}, \
+			   {"ALTOP", op_/**/OP, 1, DOC}, 
 #else
 #define spam1(OP,DOC) {#OP, OP, 1, DOC},
-#define spam2(OP,ALTOP,DOC) {#OP, __ ## OP, 1, DOC}, \
-			   {#ALTOP, __ ## OP, 1, DOC}, 
+#define spam2(OP,ALTOP,DOC) {#OP, op_##OP, 1, DOC}, \
+			   {#ALTOP, op_##OP, 1, DOC}, 
 #endif
 
 static struct PyMethodDef operator_methods[] = {
@@ -211,9 +222,9 @@
 spam2(inv,__inv__, "inv(o) -- Return the inverse of o.")
 spam2(lshift,__lshift__, "lshift(a, b) -- Return a shifted left by b.")
 spam2(rshift,__rshift__, "rshift(a, b) -- Return a shifted right by b.")
-spam2(and,__and__, "and(a, b) -- Return the bitwise and of a and b.")
+spam2(and_,__and__, "and_(a, b) -- Return the bitwise and of a and b.")
 spam2(xor,__xor__, "xor(a, b) -- Return the bitwise exclusive-or of a and b.")
-spam2(or,__or__, "or(a, b) -- Return the bitwise or of a and b.")
+spam2(or_,__or__, "or_(a, b) -- Return the bitwise or of a and b.")
 spam2(concat,__concat__,
  "concat(a, b) -- Return a + b, for a and b sequences.")
 spam2(repeat,__repeat__,
@@ -222,10 +233,14 @@
  "getitem(a, b) -- Return the value of a at index b.")
 spam2(setitem,__setitem__,
  "setitem(a, b, c) -- Set the value of a at b to c.")
+spam2(delitem,__delitem__,
+ "delitem(a, b) -- Delete the value of a at b.")
 spam2(getslice,__getslice__,
  "getslice(a, b, c) -- Return the slice of a from b to c-1.")
 spam2(setslice,__setslice__,
-"setslice(a, b, c, v) -- Set the slice of a from b to c-1 to the sequence, v.")
+"setslice(a, b, c, v) -- Set the slice of a from b to c-1 to the sequence v.")
+spam2(delslice,__delslice__,
+"delslice(a, b, c) -- Delete the slice of a from b to c-1.")
 
 	{NULL,		NULL}		/* sentinel */