@@ -158,18 +158,9 @@ set_contains(PySetObject *so, PyObject *key)
158158static PyObject *
159159set_direct_contains (PySetObject * so , PyObject * key )
160160{
161- PyObject * tmp ;
162161 long result ;
163162
164- result = PyDict_Contains (so -> data , key );
165- if (result == -1 && PyAnySet_Check (key )) {
166- PyErr_Clear ();
167- tmp = frozenset_dict_wrapper (((PySetObject * )(key ))-> data );
168- if (tmp == NULL )
169- return NULL ;
170- result = PyDict_Contains (so -> data , tmp );
171- Py_DECREF (tmp );
172- }
163+ result = set_contains (so , key );
173164 if (result == -1 )
174165 return NULL ;
175166 return PyBool_FromLong (result );
@@ -655,8 +646,8 @@ frozenset_hash(PyObject *self)
655646 PySetObject * so = (PySetObject * )self ;
656647 PyObject * key , * value ;
657648 int pos = 0 ;
658-
659649 long hash = 0 ;
650+
660651 if (so -> hash != -1 )
661652 return so -> hash ;
662653
@@ -728,11 +719,13 @@ static int
728719set_tp_print (PySetObject * so , FILE * fp , int flags )
729720{
730721 PyObject * key , * value ;
731- int pos = 0 ;
722+ int pos = 0 , firstpass = 1 ;
732723
733724 fprintf (fp , "%s([" , so -> ob_type -> tp_name );
734725 while (PyDict_Next (so -> data , & pos , & key , & value )) {
735- if (pos )
726+ if (firstpass )
727+ firstpass = 0 ;
728+ else
736729 fprintf (fp , ", " );
737730 if (PyObject_Print (key , fp , 0 ) != 0 )
738731 return -1 ;
@@ -746,8 +739,7 @@ set_clear(PySetObject *so)
746739{
747740 PyDict_Clear (so -> data );
748741 so -> hash = -1 ;
749- Py_INCREF (Py_None );
750- return Py_None ;
742+ Py_RETURN_NONE ;
751743}
752744
753745PyDoc_STRVAR (clear_doc , "Remove all elements from this set." );
@@ -765,8 +757,7 @@ set_add(PySetObject *so, PyObject *item)
765757{
766758 if (PyDict_SetItem (so -> data , item , Py_True ) == -1 )
767759 return NULL ;
768- Py_INCREF (Py_None );
769- return Py_None ;
760+ Py_RETURN_NONE ;
770761}
771762
772763PyDoc_STRVAR (add_doc ,
@@ -790,8 +781,7 @@ set_remove(PySetObject *so, PyObject *item)
790781
791782 if (PyDict_DelItem (so -> data , item ) == -1 )
792783 return NULL ;
793- Py_INCREF (Py_None );
794- return Py_None ;
784+ Py_RETURN_NONE ;
795785}
796786
797787PyDoc_STRVAR (remove_doc ,
@@ -818,8 +808,7 @@ set_discard(PySetObject *so, PyObject *item)
818808 return NULL ;
819809 PyErr_Clear ();
820810 }
821- Py_INCREF (Py_None );
822- return Py_None ;
811+ Py_RETURN_NONE ;
823812}
824813
825814PyDoc_STRVAR (discard_doc ,
0 commit comments