From python-3000-checkins at python.org Tue Mar 21 19:05:51 2006 From: python-3000-checkins at python.org (barry.warsaw) Date: Tue, 21 Mar 2006 19:05:51 +0100 (CET) Subject: [Python-3000-checkins] r43194 - python/branches/p3yk/Misc/ignore Message-ID: <20060321180551.467A71E4051@bag.python.org> Author: barry.warsaw Date: Tue Mar 21 19:05:50 2006 New Revision: 43194 Added: python/branches/p3yk/Misc/ignore Log: testing svn emails Added: python/branches/p3yk/Misc/ignore ============================================================================== --- (empty file) +++ python/branches/p3yk/Misc/ignore Tue Mar 21 19:05:50 2006 @@ -0,0 +1 @@ +ignore From python-3000-checkins at python.org Tue Mar 21 19:13:09 2006 From: python-3000-checkins at python.org (barry.warsaw) Date: Tue, 21 Mar 2006 19:13:09 +0100 (CET) Subject: [Python-3000-checkins] r43195 - python/branches/p3yk/Misc/ignore Message-ID: <20060321181309.787161E4032@bag.python.org> Author: barry.warsaw Date: Tue Mar 21 19:13:08 2006 New Revision: 43195 Modified: python/branches/p3yk/Misc/ignore Log: testing svn emails Modified: python/branches/p3yk/Misc/ignore ============================================================================== --- python/branches/p3yk/Misc/ignore (original) +++ python/branches/p3yk/Misc/ignore Tue Mar 21 19:13:08 2006 @@ -1 +1 @@ -ignore +ingore From python-3000-checkins at python.org Tue Mar 21 19:17:26 2006 From: python-3000-checkins at python.org (georg.brandl) Date: Tue, 21 Mar 2006 19:17:26 +0100 (CET) Subject: [Python-3000-checkins] r43196 - in python/trunk: Doc/lib/libsocket.tex Lib/socket.py Lib/test/test_socket.py Message-ID: <20060321181726.7AB331E4023@bag.python.org> Author: georg.brandl Date: Tue Mar 21 19:17:25 2006 New Revision: 43196 Modified: python/trunk/Doc/lib/libsocket.tex python/trunk/Lib/socket.py python/trunk/Lib/test/test_socket.py Log: Correct API design mistake from rev. 43126: make socket attributes readonly properties. Modified: python/trunk/Doc/lib/libsocket.tex ============================================================================== --- python/trunk/Doc/lib/libsocket.tex (original) +++ python/trunk/Doc/lib/libsocket.tex Tue Mar 21 19:17:25 2006 @@ -654,21 +654,6 @@ setting, and in general it is recommended to call \method{settimeout()} before calling \method{connect()}. -\begin{methoddesc}[socket]{getfamily}{} -Return the socket family, as given to the \class{socket} constructor. -\versionadded{2.5} -\end{methoddesc} - -\begin{methoddesc}[socket]{gettype}{} -Return the socket type, as given to the \class{socket} constructor. -\versionadded{2.5} -\end{methoddesc} - -\begin{methoddesc}[socket]{getproto}{} -Return the socket protocol, as given to the \class{socket} constructor. -\versionadded{2.5} -\end{methoddesc} - \begin{methoddesc}[socket]{setsockopt}{level, optname, value} Set the value of the given socket option (see the \UNIX{} manual page \manpage{setsockopt}{2}). The needed symbolic constants are defined in @@ -692,6 +677,25 @@ instead. +Socket objects also have these (read-only) attributes that correspond +to the values given to the \class{socket} constructor. + +\begin{memberdesc}[socket]{family} +The socket family. +\versionadded{2.5} +\end{memberdesc} + +\begin{memberdesc}[socket]{type} +The socket type. +\versionadded{2.5} +\end{memberdesc} + +\begin{memberdesc}[socket]{proto} +The socket protocol. +\versionadded{2.5} +\end{memberdesc} + + \subsection{SSL Objects \label{ssl-objects}} SSL objects have the following methods. Modified: python/trunk/Lib/socket.py ============================================================================== --- python/trunk/Lib/socket.py (original) +++ python/trunk/Lib/socket.py Tue Mar 21 19:17:25 2006 @@ -182,24 +182,10 @@ Return a regular file object corresponding to the socket. The mode and bufsize arguments are as for the built-in open() function.""" return _fileobject(self._sock, mode, bufsize) - - def getfamily(self): - """getfamily() -> socket family - - Return the socket family.""" - return self._sock.family - - def gettype(self): - """gettype() -> socket type - - Return the socket type.""" - return self._sock.type - - def getproto(self): - """getproto() -> socket protocol - - Return the socket protocol.""" - return self._sock.proto + + family = property(lambda self: self._sock.family, doc="the socket family") + type = property(lambda self: self._sock.type, doc="the socket type") + proto = property(lambda self: self._sock.proto, doc="the socket protocol") _s = ("def %s(self, *args): return self._sock.%s(*args)\n\n" "%s.__doc__ = _realsocket.%s.__doc__\n") Modified: python/trunk/Lib/test/test_socket.py ============================================================================== --- python/trunk/Lib/test/test_socket.py (original) +++ python/trunk/Lib/test/test_socket.py Tue Mar 21 19:17:25 2006 @@ -469,12 +469,12 @@ sock.close() self.assertRaises(socket.error, sock.send, "spam") - def testNewGetMethods(self): - # testing getfamily(), gettype() and getprotocol() + def testNewAttributes(self): + # testing .family, .type and .protocol sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.assertEqual(sock.getfamily(), socket.AF_INET) - self.assertEqual(sock.gettype(), socket.SOCK_STREAM) - self.assertEqual(sock.getproto(), 0) + self.assertEqual(sock.family, socket.AF_INET) + self.assertEqual(sock.type, socket.SOCK_STREAM) + self.assertEqual(sock.proto, 0) sock.close() class BasicTCPTest(SocketConnectedTest): From python-3000-checkins at python.org Tue Mar 21 19:18:20 2006 From: python-3000-checkins at python.org (barry.warsaw) Date: Tue, 21 Mar 2006 19:18:20 +0100 (CET) Subject: [Python-3000-checkins] r43197 - python/branches/p3yk/Misc/ignore Message-ID: <20060321181820.BE3BB1E400D@bag.python.org> Author: barry.warsaw Date: Tue Mar 21 19:18:20 2006 New Revision: 43197 Modified: python/branches/p3yk/Misc/ignore Log: testing svn emails Modified: python/branches/p3yk/Misc/ignore ============================================================================== --- python/branches/p3yk/Misc/ignore (original) +++ python/branches/p3yk/Misc/ignore Tue Mar 21 19:18:20 2006 @@ -1 +1 @@ -ingore +ignore From python-3000-checkins at python.org Tue Mar 21 19:21:43 2006 From: python-3000-checkins at python.org (barry.warsaw) Date: Tue, 21 Mar 2006 19:21:43 +0100 (CET) Subject: [Python-3000-checkins] r43198 - python/branches/p3yk/Misc/ignore Message-ID: <20060321182143.AE04F1E4010@bag.python.org> Author: barry.warsaw Date: Tue Mar 21 19:21:43 2006 New Revision: 43198 Modified: python/branches/p3yk/Misc/ignore Log: testing svn emails Modified: python/branches/p3yk/Misc/ignore ============================================================================== --- python/branches/p3yk/Misc/ignore (original) +++ python/branches/p3yk/Misc/ignore Tue Mar 21 19:21:43 2006 @@ -1 +1 @@ -ignore +ingore From python-3000-checkins at python.org Tue Mar 21 19:29:20 2006 From: python-3000-checkins at python.org (barry.warsaw) Date: Tue, 21 Mar 2006 19:29:20 +0100 (CET) Subject: [Python-3000-checkins] r43199 - python/branches/p3yk/Misc/ignore Message-ID: <20060321182920.472711E400A@bag.python.org> Author: barry.warsaw Date: Tue Mar 21 19:29:19 2006 New Revision: 43199 Modified: python/branches/p3yk/Misc/ignore Log: testing svn emails Modified: python/branches/p3yk/Misc/ignore ============================================================================== --- python/branches/p3yk/Misc/ignore (original) +++ python/branches/p3yk/Misc/ignore Tue Mar 21 19:29:19 2006 @@ -1 +1 @@ -ingore +ignore From fdrake at acm.org Tue Mar 21 19:36:02 2006 From: fdrake at acm.org (Fred L. Drake, Jr.) Date: Tue, 21 Mar 2006 13:36:02 -0500 Subject: [Python-3000-checkins] r43196 - in python/trunk: Doc/lib/libsocket.tex Lib/socket.py Lib/test/test_socket.py In-Reply-To: <20060321181726.7AB331E4023@bag.python.org> References: <20060321181726.7AB331E4023@bag.python.org> Message-ID: <200603211336.02398.fdrake@acm.org> On Tuesday 21 March 2006 13:17, georg.brandl wrote: > +\begin{memberdesc}[socket]{proto} As long as this is being changed, does it make sense to call it "proto", or should it be a real word? "protocol" seems better, and more readable. -Fred -- Fred L. Drake, Jr. From python-3000-checkins at python.org Tue Mar 21 20:35:05 2006 From: python-3000-checkins at python.org (barry.warsaw) Date: Tue, 21 Mar 2006 20:35:05 +0100 (CET) Subject: [Python-3000-checkins] r43205 - python/branches/p3yk/Misc/ignore Message-ID: <20060321193505.8D1241E4063@bag.python.org> Author: barry.warsaw Date: Tue Mar 21 20:35:05 2006 New Revision: 43205 Modified: python/branches/p3yk/Misc/ignore Log: testing svn emails Modified: python/branches/p3yk/Misc/ignore ============================================================================== --- python/branches/p3yk/Misc/ignore (original) +++ python/branches/p3yk/Misc/ignore Tue Mar 21 20:35:05 2006 @@ -1 +1 @@ -ingore +ignore From python-3000-checkins at python.org Tue Mar 21 20:47:07 2006 From: python-3000-checkins at python.org (barry.warsaw) Date: Tue, 21 Mar 2006 20:47:07 +0100 (CET) Subject: [Python-3000-checkins] r43208 - python/branches/p3yk/Misc/ignore Message-ID: <20060321194707.8A2851E4009@bag.python.org> Author: barry.warsaw Date: Tue Mar 21 20:47:07 2006 New Revision: 43208 Removed: python/branches/p3yk/Misc/ignore Log: remove test file Deleted: /python/branches/p3yk/Misc/ignore ============================================================================== --- /python/branches/p3yk/Misc/ignore Tue Mar 21 20:47:07 2006 +++ (empty file) @@ -1 +0,0 @@ -ignore From python-3000-checkins at python.org Wed Mar 22 08:12:43 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Wed, 22 Mar 2006 08:12:43 +0100 (CET) Subject: [Python-3000-checkins] r43216 - python/branches/p3yk/Lib/plat-mac/applesingle.py Message-ID: <20060322071243.4C6601E4004@bag.python.org> Author: neal.norwitz Date: Wed Mar 22 08:12:41 2006 New Revision: 43216 Modified: python/branches/p3yk/Lib/plat-mac/applesingle.py Log: Damn another occurrence of using as as a keywordf Modified: python/branches/p3yk/Lib/plat-mac/applesingle.py ============================================================================== --- python/branches/p3yk/Lib/plat-mac/applesingle.py (original) +++ python/branches/p3yk/Lib/plat-mac/applesingle.py Wed Mar 22 08:12:41 2006 @@ -119,8 +119,8 @@ infile = infile.as_pathname() infile = open(infile, 'rb') - as = AppleSingle(infile, verbose=verbose) - as.tofile(outpath, resonly=resonly) + asfile = AppleSingle(infile, verbose=verbose) + asfile.tofile(outpath, resonly=resonly) def _test(): if len(sys.argv) < 3 or sys.argv[1] == '-r' and len(sys.argv) != 4: From python-3000-checkins at python.org Wed Mar 22 08:18:03 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Wed, 22 Mar 2006 08:18:03 +0100 (CET) Subject: [Python-3000-checkins] r43218 - in python/branches/p3yk: Include/object.h Misc/NEWS Modules/_sre.c Message-ID: <20060322071803.C712F1E4044@bag.python.org> Author: neal.norwitz Date: Wed Mar 22 08:18:02 2006 New Revision: 43218 Modified: python/branches/p3yk/Include/object.h python/branches/p3yk/Misc/NEWS python/branches/p3yk/Modules/_sre.c Log: Remove staticforward and statichere Modified: python/branches/p3yk/Include/object.h ============================================================================== --- python/branches/p3yk/Include/object.h (original) +++ python/branches/p3yk/Include/object.h Wed Mar 22 08:18:02 2006 @@ -685,21 +685,6 @@ */ PyAPI_DATA(int) _Py_SwappedOp[]; -/* -Define staticforward and statichere for source compatibility with old -C extensions. - -The staticforward define was needed to support certain broken C -compilers (notably SCO ODT 3.0, perhaps early AIX as well) botched the -static keyword when it was used with a forward declaration of a static -initialized structure. Standard C allows the forward declaration with -static, and we've decided to stop catering to broken C compilers. -(In fact, we expect that the compilers are all fixed eight years later.) -*/ - -#define staticforward static -#define statichere static - /* More conventions Modified: python/branches/p3yk/Misc/NEWS ============================================================================== --- python/branches/p3yk/Misc/NEWS (original) +++ python/branches/p3yk/Misc/NEWS Wed Mar 22 08:18:02 2006 @@ -47,6 +47,8 @@ - input(), raw_input() and apply() are gone. +- Removed staticforward and statichere macros. + Extension Modules ----------------- Modified: python/branches/p3yk/Modules/_sre.c ============================================================================== --- python/branches/p3yk/Modules/_sre.c (original) +++ python/branches/p3yk/Modules/_sre.c Wed Mar 22 08:18:02 2006 @@ -2770,7 +2770,7 @@ return NULL; } -statichere PyTypeObject Pattern_Type = { +static PyTypeObject Pattern_Type = { PyObject_HEAD_INIT(NULL) 0, "_" SRE_MODULE ".SRE_Pattern", sizeof(PatternObject), sizeof(SRE_CODE), @@ -3251,7 +3251,7 @@ /* FIXME: implement setattr("string", None) as a special case (to detach the associated string, if any */ -statichere PyTypeObject Match_Type = { +static PyTypeObject Match_Type = { PyObject_HEAD_INIT(NULL) 0, "_" SRE_MODULE ".SRE_Match", sizeof(MatchObject), sizeof(int), @@ -3361,7 +3361,7 @@ return NULL; } -statichere PyTypeObject Scanner_Type = { +static PyTypeObject Scanner_Type = { PyObject_HEAD_INIT(NULL) 0, "_" SRE_MODULE ".SRE_Scanner", sizeof(ScannerObject), 0, From python-3000-checkins at python.org Wed Mar 22 10:20:32 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Wed, 22 Mar 2006 10:20:32 +0100 (CET) Subject: [Python-3000-checkins] r43220 - python/branches/p3yk/Lib/test/test_doctest.py Message-ID: <20060322092032.3FF0D1E4037@bag.python.org> Author: neal.norwitz Date: Wed Mar 22 10:20:30 2006 New Revision: 43220 Modified: python/branches/p3yk/Lib/test/test_doctest.py Log: Get doctest to pass. The problem was int/int -> float now. There were some cases where an int was assumed. Also had to change the string of the exception when dividing and int by zero. Not sure what the best error message should be. Currently 5 / 0 yields the message: ZeroDivisionError: float division That isn't entirely correct. But I'm not sure what else to do. Modified: python/branches/p3yk/Lib/test/test_doctest.py ============================================================================== --- python/branches/p3yk/Lib/test/test_doctest.py (original) +++ python/branches/p3yk/Lib/test/test_doctest.py Wed Mar 22 10:20:30 2006 @@ -605,7 +605,7 @@ ... ... print x, ... 0 1 2 3 4 5 6 7 8 9 ... >>> x/2 - ... 6 + ... 6.0 ... ''' >>> test = doctest.DocTestFinder().find(f)[0] >>> [e.lineno for e in test.examples] @@ -680,7 +680,7 @@ ... >>> print x ... 12 ... >>> x/2 - ... 6 + ... 6.0 ... ''' >>> test = doctest.DocTestFinder().find(f)[0] @@ -701,7 +701,7 @@ ... >>> print x ... 14 ... >>> x/2 - ... 6 + ... 6.0 ... ''' >>> test = doctest.DocTestFinder().find(f)[0] >>> doctest.DocTestRunner(verbose=True).run(test) @@ -725,7 +725,7 @@ Trying: x/2 Expecting: - 6 + 6.0 ok (1, 3) """ @@ -739,7 +739,7 @@ ... >>> print x ... 12 ... >>> x/2 - ... 6 + ... 6.0 ... ''' >>> test = doctest.DocTestFinder().find(f)[0] @@ -756,7 +756,7 @@ Trying: x/2 Expecting: - 6 + 6.0 ok (0, 3) @@ -786,7 +786,7 @@ Trying: x/2 Expecting: - 6 + 6.0 ok (0, 3) @@ -808,7 +808,7 @@ ... >>> x = 12 ... >>> print x/0 ... Traceback (most recent call last): - ... ZeroDivisionError: integer division or modulo by zero + ... ZeroDivisionError: float division ... ''' >>> test = doctest.DocTestFinder().find(f)[0] >>> doctest.DocTestRunner(verbose=False).run(test) @@ -825,7 +825,7 @@ ... >>> print 'pre-exception output', x/0 ... pre-exception output ... Traceback (most recent call last): - ... ZeroDivisionError: integer division or modulo by zero + ... ZeroDivisionError: float division ... ''' >>> test = doctest.DocTestFinder().find(f)[0] >>> doctest.DocTestRunner(verbose=False).run(test) @@ -836,7 +836,7 @@ print 'pre-exception output', x/0 Exception raised: ... - ZeroDivisionError: integer division or modulo by zero + ZeroDivisionError: float division (1, 2) Exception messages may contain newlines: @@ -933,7 +933,7 @@ Exception raised: Traceback (most recent call last): ... - ZeroDivisionError: integer division or modulo by zero + ZeroDivisionError: float division (1, 1) """ def optionflags(): r""" From python-3000-checkins at python.org Wed Mar 22 10:28:38 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Wed, 22 Mar 2006 10:28:38 +0100 (CET) Subject: [Python-3000-checkins] r43221 - in python/branches/p3yk: Modules/_bsddb.c Modules/_csv.c Modules/_ctypes/_ctypes.c Modules/_elementtree.c Modules/_lsprof.c Modules/_tkinter.c Modules/datetimemodule.c PC/_subprocess.c Message-ID: <20060322092838.F3AC91E4004@bag.python.org> Author: neal.norwitz Date: Wed Mar 22 10:28:35 2006 New Revision: 43221 Modified: python/branches/p3yk/Modules/_bsddb.c python/branches/p3yk/Modules/_csv.c python/branches/p3yk/Modules/_ctypes/_ctypes.c python/branches/p3yk/Modules/_elementtree.c python/branches/p3yk/Modules/_lsprof.c python/branches/p3yk/Modules/_tkinter.c python/branches/p3yk/Modules/datetimemodule.c python/branches/p3yk/PC/_subprocess.c Log: Finish getting rid of statichere/staticforward Modified: python/branches/p3yk/Modules/_bsddb.c ============================================================================== --- python/branches/p3yk/Modules/_bsddb.c (original) +++ python/branches/p3yk/Modules/_bsddb.c Wed Mar 22 10:28:35 2006 @@ -283,7 +283,7 @@ -staticforward PyTypeObject DB_Type, DBCursor_Type, DBEnv_Type, DBTxn_Type, DBLock_Type; +static PyTypeObject DB_Type, DBCursor_Type, DBEnv_Type, DBTxn_Type, DBLock_Type; #define DBObject_Check(v) ((v)->ob_type == &DB_Type) #define DBCursorObject_Check(v) ((v)->ob_type == &DBCursor_Type) @@ -4823,7 +4823,7 @@ return NULL; } -statichere PyTypeObject DB_Type = { +static PyTypeObject DB_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "DB", /*tp_name*/ @@ -4856,7 +4856,7 @@ }; -statichere PyTypeObject DBCursor_Type = { +static PyTypeObject DBCursor_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "DBCursor", /*tp_name*/ @@ -4889,7 +4889,7 @@ }; -statichere PyTypeObject DBEnv_Type = { +static PyTypeObject DBEnv_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "DBEnv", /*tp_name*/ @@ -4921,7 +4921,7 @@ #endif }; -statichere PyTypeObject DBTxn_Type = { +static PyTypeObject DBTxn_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "DBTxn", /*tp_name*/ @@ -4954,7 +4954,7 @@ }; -statichere PyTypeObject DBLock_Type = { +static PyTypeObject DBLock_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "DBLock", /*tp_name*/ Modified: python/branches/p3yk/Modules/_csv.c ============================================================================== --- python/branches/p3yk/Modules/_csv.c (original) +++ python/branches/p3yk/Modules/_csv.c Wed Mar 22 10:28:35 2006 @@ -83,7 +83,7 @@ int strict; /* raise exception on bad CSV */ } DialectObj; -staticforward PyTypeObject Dialect_Type; +static PyTypeObject Dialect_Type; typedef struct { PyObject_HEAD @@ -101,7 +101,7 @@ unsigned long line_num; /* Source-file line number */ } ReaderObj; -staticforward PyTypeObject Reader_Type; +static PyTypeObject Reader_Type; #define ReaderObject_Check(v) ((v)->ob_type == &Reader_Type) @@ -118,7 +118,7 @@ int num_fields; /* number of fields in record */ } WriterObj; -staticforward PyTypeObject Writer_Type; +static PyTypeObject Writer_Type; /* * DIALECT class Modified: python/branches/p3yk/Modules/_ctypes/_ctypes.c ============================================================================== --- python/branches/p3yk/Modules/_ctypes/_ctypes.c (original) +++ python/branches/p3yk/Modules/_ctypes/_ctypes.c Wed Mar 22 10:28:35 2006 @@ -591,7 +591,7 @@ return Py_None; } -staticforward PyObject *_byref(PyObject *); +static PyObject *_byref(PyObject *); static PyObject * PointerType_from_param(PyObject *type, PyObject *value) Modified: python/branches/p3yk/Modules/_elementtree.c ============================================================================== --- python/branches/p3yk/Modules/_elementtree.c (original) +++ python/branches/p3yk/Modules/_elementtree.c Wed Mar 22 10:28:35 2006 @@ -267,7 +267,7 @@ } ElementObject; -staticforward PyTypeObject Element_Type; +static PyTypeObject Element_Type; #define Element_CheckExact(op) ((op)->ob_type == &Element_Type) @@ -1396,7 +1396,7 @@ element_setslice, }; -statichere PyTypeObject Element_Type = { +static PyTypeObject Element_Type = { PyObject_HEAD_INIT(NULL) 0, "Element", sizeof(ElementObject), 0, /* methods */ @@ -1435,7 +1435,7 @@ } TreeBuilderObject; -staticforward PyTypeObject TreeBuilder_Type; +static PyTypeObject TreeBuilder_Type; #define TreeBuilder_CheckExact(op) ((op)->ob_type == &TreeBuilder_Type) @@ -1805,7 +1805,7 @@ return Py_FindMethod(treebuilder_methods, (PyObject*) self, name); } -statichere PyTypeObject TreeBuilder_Type = { +static PyTypeObject TreeBuilder_Type = { PyObject_HEAD_INIT(NULL) 0, "TreeBuilder", sizeof(TreeBuilderObject), 0, /* methods */ @@ -1849,7 +1849,7 @@ } XMLParserObject; -staticforward PyTypeObject XMLParser_Type; +static PyTypeObject XMLParser_Type; /* helpers */ @@ -2580,7 +2580,7 @@ return res; } -statichere PyTypeObject XMLParser_Type = { +static PyTypeObject XMLParser_Type = { PyObject_HEAD_INIT(NULL) 0, "XMLParser", sizeof(XMLParserObject), 0, /* methods */ Modified: python/branches/p3yk/Modules/_lsprof.c ============================================================================== --- python/branches/p3yk/Modules/_lsprof.c (original) +++ python/branches/p3yk/Modules/_lsprof.c Wed Mar 22 10:28:35 2006 @@ -117,7 +117,7 @@ #define POF_BUILTINS 0x004 #define POF_NOMEMORY 0x100 -staticforward PyTypeObject PyProfiler_Type; +static PyTypeObject PyProfiler_Type; #define PyProfiler_Check(op) PyObject_TypeCheck(op, &PyProfiler_Type) #define PyProfiler_CheckExact(op) ((op)->ob_type == &PyProfiler_Type) @@ -798,7 +798,7 @@ is, in seconds).\n\ "); -statichere PyTypeObject PyProfiler_Type = { +static PyTypeObject PyProfiler_Type = { PyObject_HEAD_INIT(NULL) 0, /* ob_size */ "_lsprof.Profiler", /* tp_name */ Modified: python/branches/p3yk/Modules/_tkinter.c ============================================================================== --- python/branches/p3yk/Modules/_tkinter.c (original) +++ python/branches/p3yk/Modules/_tkinter.c Wed Mar 22 10:28:35 2006 @@ -720,7 +720,7 @@ PyObject *string; /* This cannot cause cycles. */ } PyTclObject; -staticforward PyTypeObject PyTclObject_Type; +static PyTypeObject PyTclObject_Type; #define PyTclObject_Check(v) ((v)->ob_type == &PyTclObject_Type) static PyObject * @@ -858,7 +858,7 @@ {0} }; -statichere PyTypeObject PyTclObject_Type = { +static PyTypeObject PyTclObject_Type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "_tkinter.Tcl_Obj", /*tp_name*/ Modified: python/branches/p3yk/Modules/datetimemodule.c ============================================================================== --- python/branches/p3yk/Modules/datetimemodule.c (original) +++ python/branches/p3yk/Modules/datetimemodule.c Wed Mar 22 10:28:35 2006 @@ -2931,7 +2931,7 @@ static char tzinfo_doc[] = PyDoc_STR("Abstract base class for time zone info objects."); -statichere PyTypeObject PyDateTime_TZInfoType = { +static PyTypeObject PyDateTime_TZInfoType = { PyObject_HEAD_INIT(NULL) 0, /* ob_size */ "datetime.tzinfo", /* tp_name */ @@ -3451,7 +3451,7 @@ (inquiry)time_nonzero, /* nb_nonzero */ }; -statichere PyTypeObject PyDateTime_TimeType = { +static PyTypeObject PyDateTime_TimeType = { PyObject_HEAD_INIT(NULL) 0, /* ob_size */ "datetime.time", /* tp_name */ @@ -4536,7 +4536,7 @@ 0, /* nb_nonzero */ }; -statichere PyTypeObject PyDateTime_DateTimeType = { +static PyTypeObject PyDateTime_DateTimeType = { PyObject_HEAD_INIT(NULL) 0, /* ob_size */ "datetime.datetime", /* tp_name */ Modified: python/branches/p3yk/PC/_subprocess.c ============================================================================== --- python/branches/p3yk/PC/_subprocess.c (original) +++ python/branches/p3yk/PC/_subprocess.c Wed Mar 22 10:28:35 2006 @@ -53,7 +53,7 @@ HANDLE handle; } sp_handle_object; -staticforward PyTypeObject sp_handle_type; +static PyTypeObject sp_handle_type; static PyObject* sp_handle_new(HANDLE handle) @@ -127,7 +127,7 @@ static PyNumberMethods sp_handle_as_number; -statichere PyTypeObject sp_handle_type = { +static PyTypeObject sp_handle_type = { PyObject_HEAD_INIT(NULL) 0, /*ob_size*/ "_subprocess_handle", sizeof(sp_handle_object), 0, From python-3000-checkins at python.org Wed Mar 22 10:34:46 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Wed, 22 Mar 2006 10:34:46 +0100 (CET) Subject: [Python-3000-checkins] r43222 - python/branches/p3yk/Lib/plat-mac/aetools.py Message-ID: <20060322093446.1267C1E4079@bag.python.org> Author: neal.norwitz Date: Wed Mar 22 10:34:44 2006 New Revision: 43222 Modified: python/branches/p3yk/Lib/plat-mac/aetools.py Log: Remove another use of as as a keyword Modified: python/branches/p3yk/Lib/plat-mac/aetools.py ============================================================================== --- python/branches/p3yk/Lib/plat-mac/aetools.py (original) +++ python/branches/p3yk/Lib/plat-mac/aetools.py Wed Mar 22 10:34:44 2006 @@ -233,7 +233,7 @@ """Send 'activate' command""" self.send('misc', 'actv') - def _get(self, _object, as=None, _attributes={}): + def _get(self, _object, asfile=None, _attributes={}): """_get: get data from an object Required argument: the object Keyword argument _attributes: AppleEvent attribute dictionary @@ -243,8 +243,8 @@ _subcode = 'getd' _arguments = {'----':_object} - if as: - _arguments['rtyp'] = mktype(as) + if asfile: + _arguments['rtyp'] = mktype(asfile) _reply, _arguments, _attributes = self.send(_code, _subcode, _arguments, _attributes) @@ -253,8 +253,8 @@ if _arguments.has_key('----'): return _arguments['----'] - if as: - item.__class__ = as + if asfile: + item.__class__ = asfile return item get = _get From python-3000-checkins at python.org Fri Mar 24 07:57:43 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 07:57:43 +0100 (CET) Subject: [Python-3000-checkins] r43271 - python/branches/p3yk/Lib/compiler/__init__.py Message-ID: <20060324065743.C67DC1E400B@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 07:57:41 2006 New Revision: 43271 Modified: python/branches/p3yk/Lib/compiler/__init__.py Log: Use relative imports in compiler package now that it is required. (Should this go into 2.5 or should we do compiler.XXX?) Modified: python/branches/p3yk/Lib/compiler/__init__.py ============================================================================== --- python/branches/p3yk/Lib/compiler/__init__.py (original) +++ python/branches/p3yk/Lib/compiler/__init__.py Fri Mar 24 07:57:41 2006 @@ -21,6 +21,6 @@ Generates a .pyc file by compiling filename. """ -from transformer import parse, parseFile -from visitor import walk -from pycodegen import compile, compileFile +from .transformer import parse, parseFile +from .visitor import walk +from .pycodegen import compile, compileFile From python-3000-checkins at python.org Fri Mar 24 07:59:25 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 07:59:25 +0100 (CET) Subject: [Python-3000-checkins] r43272 - python/branches/p3yk/Lib/test/test_sets.py Message-ID: <20060324065925.B46161E400B@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 07:59:24 2006 New Revision: 43272 Modified: python/branches/p3yk/Lib/test/test_sets.py Log: Use relative import now that it is required. (Should this go into 2.5?) Modified: python/branches/p3yk/Lib/test/test_sets.py ============================================================================== --- python/branches/p3yk/Lib/test/test_sets.py (original) +++ python/branches/p3yk/Lib/test/test_sets.py Fri Mar 24 07:59:24 2006 @@ -819,7 +819,8 @@ __test__ = {'libreftest' : libreftest} def test_main(verbose=None): - import test_sets, doctest + import doctest + from test import test_sets test_support.run_unittest( TestSetOfSets, TestExceptionPropagation, From python-3000-checkins at python.org Fri Mar 24 08:02:16 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 08:02:16 +0100 (CET) Subject: [Python-3000-checkins] r43273 - python/branches/p3yk/Lib/test/test_richcmp.py Message-ID: <20060324070216.C1ACE1E400B@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 08:02:16 2006 New Revision: 43273 Modified: python/branches/p3yk/Lib/test/test_richcmp.py Log: Must inherit from Exception now. Modified: python/branches/p3yk/Lib/test/test_richcmp.py ============================================================================== --- python/branches/p3yk/Lib/test/test_richcmp.py (original) +++ python/branches/p3yk/Lib/test/test_richcmp.py Fri Mar 24 08:02:16 2006 @@ -211,7 +211,7 @@ # Check that exceptions in __nonzero__ are properly # propagated by the not operator import operator - class Exc: + class Exc(Exception): pass class Bad: def __nonzero__(self): @@ -305,7 +305,7 @@ def test_badentry(self): # make sure that exceptions for item comparison are properly # propagated in list comparisons - class Exc: + class Exc(Exception): pass class Bad: def __eq__(self, other): From python-3000-checkins at python.org Fri Mar 24 08:07:35 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 08:07:35 +0100 (CET) Subject: [Python-3000-checkins] r43275 - python/branches/p3yk/Lib/compiler/__init__.py python/branches/p3yk/Lib/compiler/ast.py python/branches/p3yk/Lib/compiler/transformer.py Message-ID: <20060324070735.5B5371E400B@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 08:07:34 2006 New Revision: 43275 Modified: python/branches/p3yk/Lib/compiler/__init__.py python/branches/p3yk/Lib/compiler/ast.py python/branches/p3yk/Lib/compiler/transformer.py Log: Ok, compiler.transformer can really be imported now Modified: python/branches/p3yk/Lib/compiler/__init__.py ============================================================================== --- python/branches/p3yk/Lib/compiler/__init__.py (original) +++ python/branches/p3yk/Lib/compiler/__init__.py Fri Mar 24 08:07:34 2006 @@ -21,6 +21,6 @@ Generates a .pyc file by compiling filename. """ -from .transformer import parse, parseFile -from .visitor import walk -from .pycodegen import compile, compileFile +from compiler.transformer import parse, parseFile +from compiler.visitor import walk +from compiler.pycodegen import compile, compileFile Modified: python/branches/p3yk/Lib/compiler/ast.py ============================================================================== --- python/branches/p3yk/Lib/compiler/ast.py (original) +++ python/branches/p3yk/Lib/compiler/ast.py Fri Mar 24 08:07:34 2006 @@ -2,7 +2,7 @@ This file is automatically generated by Tools/compiler/astgen.py """ -from consts import CO_VARARGS, CO_VARKEYWORDS +from compiler.consts import CO_VARARGS, CO_VARKEYWORDS def flatten(seq): l = [] Modified: python/branches/p3yk/Lib/compiler/transformer.py ============================================================================== --- python/branches/p3yk/Lib/compiler/transformer.py (original) +++ python/branches/p3yk/Lib/compiler/transformer.py Fri Mar 24 08:07:34 2006 @@ -34,8 +34,8 @@ class WalkerError(StandardError): pass -from consts import CO_VARARGS, CO_VARKEYWORDS -from consts import OP_ASSIGN, OP_DELETE, OP_APPLY +from compiler.consts import CO_VARARGS, CO_VARKEYWORDS +from compiler.consts import OP_ASSIGN, OP_DELETE, OP_APPLY def parseFile(path): f = open(path, "U") From python-3000-checkins at python.org Fri Mar 24 08:10:32 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 08:10:32 +0100 (CET) Subject: [Python-3000-checkins] r43276 - python/branches/p3yk/Lib/test/test_urllib2.py Message-ID: <20060324071032.18E921E401E@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 08:10:31 2006 New Revision: 43276 Modified: python/branches/p3yk/Lib/test/test_urllib2.py Log: Use relative import now that it is required. (Should this go into 2.5?) Modified: python/branches/p3yk/Lib/test/test_urllib2.py ============================================================================== --- python/branches/p3yk/Lib/test/test_urllib2.py (original) +++ python/branches/p3yk/Lib/test/test_urllib2.py Fri Mar 24 08:10:31 2006 @@ -626,7 +626,7 @@ from urllib2 import build_opener, HTTPHandler, HTTPError, \ HTTPCookieProcessor - from test_cookielib import interact_netscape + from test.test_cookielib import interact_netscape cj = CookieJar() interact_netscape(cj, "http://www.example.com/", "spam=eggs") From python-3000-checkins at python.org Fri Mar 24 08:35:30 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 08:35:30 +0100 (CET) Subject: [Python-3000-checkins] r43278 - python/branches/p3yk/Lib/test/test_import.py Message-ID: <20060324073530.183F21E400C@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 08:35:29 2006 New Revision: 43278 Modified: python/branches/p3yk/Lib/test/test_import.py Log: Use relative import now that it is required. (Should this go into 2.5?) Modified: python/branches/p3yk/Lib/test/test_import.py ============================================================================== --- python/branches/p3yk/Lib/test/test_import.py (original) +++ python/branches/p3yk/Lib/test/test_import.py Fri Mar 24 08:35:29 2006 @@ -15,7 +15,7 @@ raise TestFailed("import of RAnDoM should have failed (case mismatch)") # Another brief digression to test the accuracy of manifest float constants. -import double_const # don't blink -- that *was* the test +from test import double_const # don't blink -- that *was* the test def remove_files(name): for f in (name + os.extsep + "py", From python-3000-checkins at python.org Fri Mar 24 08:38:37 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 08:38:37 +0100 (CET) Subject: [Python-3000-checkins] r43279 - python/branches/p3yk/Lib/test/test_dict.py Message-ID: <20060324073837.4C3AA1E400B@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 08:38:37 2006 New Revision: 43279 Modified: python/branches/p3yk/Lib/test/test_dict.py Log: Use *absolute* import now that it is required. (Should this go into 2.5? Hopefully not the bogus comment about using relative imports. That was just to see if anyone was paying attention.) Modified: python/branches/p3yk/Lib/test/test_dict.py ============================================================================== --- python/branches/p3yk/Lib/test/test_dict.py (original) +++ python/branches/p3yk/Lib/test/test_dict.py Fri Mar 24 08:38:37 2006 @@ -445,7 +445,7 @@ self.fail_("g[42] didn't raise KeyError") -import mapping_tests +from test import mapping_tests class GeneralMappingTests(mapping_tests.BasicTestMappingProtocol): type2test = dict From python-3000-checkins at python.org Fri Mar 24 08:47:46 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 08:47:46 +0100 (CET) Subject: [Python-3000-checkins] r43280 - python/branches/p3yk/Lib/xmlcore/sax/__init__.py python/branches/p3yk/Lib/xmlcore/sax/saxutils.py python/branches/p3yk/Lib/xmlcore/sax/xmlreader.py Message-ID: <20060324074746.9E9F71E400C@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 08:47:46 2006 New Revision: 43280 Modified: python/branches/p3yk/Lib/xmlcore/sax/__init__.py python/branches/p3yk/Lib/xmlcore/sax/saxutils.py python/branches/p3yk/Lib/xmlcore/sax/xmlreader.py Log: Use *absolute* imports now that they are required. (Should this go into 2.5?) Modified: python/branches/p3yk/Lib/xmlcore/sax/__init__.py ============================================================================== --- python/branches/p3yk/Lib/xmlcore/sax/__init__.py (original) +++ python/branches/p3yk/Lib/xmlcore/sax/__init__.py Fri Mar 24 08:47:46 2006 @@ -19,11 +19,11 @@ expatreader -- Driver that allows use of the Expat parser with SAX. """ -from xmlreader import InputSource -from handler import ContentHandler, ErrorHandler -from _exceptions import SAXException, SAXNotRecognizedException, \ - SAXParseException, SAXNotSupportedException, \ - SAXReaderNotAvailable +from .xmlreader import InputSource +from .handler import ContentHandler, ErrorHandler +from ._exceptions import (SAXException, SAXNotRecognizedException, + SAXParseException, SAXNotSupportedException, + SAXReaderNotAvailable) def parse(source, handler, errorHandler=ErrorHandler()): Modified: python/branches/p3yk/Lib/xmlcore/sax/saxutils.py ============================================================================== --- python/branches/p3yk/Lib/xmlcore/sax/saxutils.py (original) +++ python/branches/p3yk/Lib/xmlcore/sax/saxutils.py Fri Mar 24 08:47:46 2006 @@ -4,8 +4,8 @@ """ import os, urlparse, urllib, types -import handler -import xmlreader +from . import handler +from . import xmlreader try: _StringTypes = [types.StringType, types.UnicodeType] Modified: python/branches/p3yk/Lib/xmlcore/sax/xmlreader.py ============================================================================== --- python/branches/p3yk/Lib/xmlcore/sax/xmlreader.py (original) +++ python/branches/p3yk/Lib/xmlcore/sax/xmlreader.py Fri Mar 24 08:47:46 2006 @@ -1,9 +1,9 @@ """An XML Reader is the SAX 2 name for an XML parser. XML Parsers should be based on this code. """ -import handler +from . import handler -from _exceptions import SAXNotSupportedException, SAXNotRecognizedException +from ._exceptions import SAXNotSupportedException, SAXNotRecognizedException # ===== XMLREADER ===== From python-3000-checkins at python.org Fri Mar 24 09:02:36 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 09:02:36 +0100 (CET) Subject: [Python-3000-checkins] r43281 - python/branches/p3yk/Lib/test/test_normalization.py Message-ID: <20060324080236.370D91E400B@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 09:02:35 2006 New Revision: 43281 Modified: python/branches/p3yk/Lib/test/test_normalization.py Log: Must inherit from Exception now. Modified: python/branches/p3yk/Lib/test/test_normalization.py ============================================================================== --- python/branches/p3yk/Lib/test/test_normalization.py (original) +++ python/branches/p3yk/Lib/test/test_normalization.py Fri Mar 24 09:02:35 2006 @@ -7,7 +7,7 @@ TESTDATAFILE = "NormalizationTest" + os.extsep + "txt" TESTDATAURL = "http://www.unicode.org/Public/4.1.0/ucd/" + TESTDATAFILE -class RangeError: +class RangeError(Exception): pass def NFC(str): From python-3000-checkins at python.org Fri Mar 24 09:04:48 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 09:04:48 +0100 (CET) Subject: [Python-3000-checkins] r43283 - python/branches/p3yk/Lib/xmlcore/dom/__init__.py Message-ID: <20060324080448.22B111E400B@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 09:04:47 2006 New Revision: 43283 Modified: python/branches/p3yk/Lib/xmlcore/dom/__init__.py Log: Use *absolute* imports now that they are required. (Should this go into 2.5?) Modified: python/branches/p3yk/Lib/xmlcore/dom/__init__.py ============================================================================== --- python/branches/p3yk/Lib/xmlcore/dom/__init__.py (original) +++ python/branches/p3yk/Lib/xmlcore/dom/__init__.py Fri Mar 24 09:04:47 2006 @@ -136,4 +136,4 @@ EMPTY_NAMESPACE = None EMPTY_PREFIX = None -from domreg import getDOMImplementation,registerDOMImplementation +from .domreg import getDOMImplementation,registerDOMImplementation From python-3000-checkins at python.org Fri Mar 24 09:08:50 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 09:08:50 +0100 (CET) Subject: [Python-3000-checkins] r43284 - python/branches/p3yk/Lib/test/test_pep352.py Message-ID: <20060324080850.317761E400B@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 09:08:49 2006 New Revision: 43284 Modified: python/branches/p3yk/Lib/test/test_pep352.py Log: String exceptions are gone and so are classic classes. Modified: python/branches/p3yk/Lib/test/test_pep352.py ============================================================================== --- python/branches/p3yk/Lib/test/test_pep352.py (original) +++ python/branches/p3yk/Lib/test/test_pep352.py Fri Mar 24 09:08:49 2006 @@ -120,22 +120,6 @@ def tearDown(self): warnings.filters = self._filters[:] - def test_raise_classic(self): - class ClassicClass: - pass - try: - raise ClassicClass - except ClassicClass: - pass - except: - self.fail("unable to raise classic class") - try: - raise ClassicClass() - except ClassicClass: - pass - except: - self.fail("unable to raise class class instance") - def test_raise_new_style_non_exception(self): class NewStyleClass(object): pass @@ -152,32 +136,8 @@ except: self.fail("unable to raise new-style class instance") - def test_raise_string(self): - warnings.resetwarnings() - warnings.filterwarnings("error") - try: - raise "spam" - except DeprecationWarning: - pass - except: - self.fail("raising a string did not cause a DeprecationWarning") - - def test_catch_string(self): - # Test will be pertinent when catching exceptions raises a - # DeprecationWarning - warnings.filterwarnings("ignore", "raising") - str_exc = "spam" - try: - raise str_exc - except str_exc: - pass - except: - self.fail("catching a string exception failed") - def test_main(): run_unittest(ExceptionClassTests, UsageTests) - - if __name__ == '__main__': test_main() From python-3000-checkins at python.org Fri Mar 24 09:14:40 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 09:14:40 +0100 (CET) Subject: [Python-3000-checkins] r43285 - in python/branches/p3yk: Include/object.h Lib/decimal.py Lib/test/test_augassign.py Lib/test/test_binop.py Lib/test/test_class.py Lib/test/test_coercion.py Lib/test/test_complex.py Lib/test/test_decimal.py Lib/test/test_descr.py Lib/test/test_operator.py Misc/NEWS Modules/_ctypes/_ctypes.c Modules/datetimemodule.c Modules/mathmodule.c Modules/operator.c Objects/abstract.c Objects/boolobject.c Objects/classobject.c Objects/complexobject.c Objects/floatobject.c Objects/intobject.c Objects/longobject.c Objects/setobject.c Objects/stringobject.c Objects/typeobject.c Objects/unicodeobject.c Objects/weakrefobject.c PC/_winreg.c Message-ID: <20060324081440.E75141E400B@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 09:14:36 2006 New Revision: 43285 Modified: python/branches/p3yk/Include/object.h python/branches/p3yk/Lib/decimal.py python/branches/p3yk/Lib/test/test_augassign.py python/branches/p3yk/Lib/test/test_binop.py python/branches/p3yk/Lib/test/test_class.py python/branches/p3yk/Lib/test/test_coercion.py python/branches/p3yk/Lib/test/test_complex.py python/branches/p3yk/Lib/test/test_decimal.py python/branches/p3yk/Lib/test/test_descr.py python/branches/p3yk/Lib/test/test_operator.py python/branches/p3yk/Misc/NEWS python/branches/p3yk/Modules/_ctypes/_ctypes.c python/branches/p3yk/Modules/datetimemodule.c python/branches/p3yk/Modules/mathmodule.c python/branches/p3yk/Modules/operator.c python/branches/p3yk/Objects/abstract.c python/branches/p3yk/Objects/boolobject.c python/branches/p3yk/Objects/classobject.c python/branches/p3yk/Objects/complexobject.c python/branches/p3yk/Objects/floatobject.c python/branches/p3yk/Objects/intobject.c python/branches/p3yk/Objects/longobject.c python/branches/p3yk/Objects/setobject.c python/branches/p3yk/Objects/stringobject.c python/branches/p3yk/Objects/typeobject.c python/branches/p3yk/Objects/unicodeobject.c python/branches/p3yk/Objects/weakrefobject.c python/branches/p3yk/PC/_winreg.c Log: Get rid of remnants of integer division Modified: python/branches/p3yk/Include/object.h ============================================================================== --- python/branches/p3yk/Include/object.h (original) +++ python/branches/p3yk/Include/object.h Fri Mar 24 09:14:36 2006 @@ -158,7 +158,6 @@ binaryfunc nb_add; binaryfunc nb_subtract; binaryfunc nb_multiply; - binaryfunc nb_divide; binaryfunc nb_remainder; binaryfunc nb_divmod; ternaryfunc nb_power; @@ -182,7 +181,6 @@ binaryfunc nb_inplace_add; binaryfunc nb_inplace_subtract; binaryfunc nb_inplace_multiply; - binaryfunc nb_inplace_divide; binaryfunc nb_inplace_remainder; ternaryfunc nb_inplace_power; binaryfunc nb_inplace_lshift; @@ -192,7 +190,6 @@ binaryfunc nb_inplace_or; /* Added in release 2.2 */ - /* The following require the Py_TPFLAGS_HAVE_CLASS flag */ binaryfunc nb_floor_divide; binaryfunc nb_true_divide; binaryfunc nb_inplace_floor_divide; Modified: python/branches/p3yk/Lib/decimal.py ============================================================================== --- python/branches/p3yk/Lib/decimal.py (original) +++ python/branches/p3yk/Lib/decimal.py Fri Mar 24 09:14:36 2006 @@ -1135,10 +1135,9 @@ return ans __rmul__ = __mul__ - def __div__(self, other, context=None): + def __truediv__(self, other, context=None): """Return self / other.""" return self._divide(other, context=context) - __truediv__ = __div__ def _divide(self, other, divmod = 0, context=None): """Return a / b, to context.prec precision. @@ -1306,13 +1305,12 @@ ans = ans._fix(context) return ans - def __rdiv__(self, other, context=None): - """Swaps self/other and returns __div__.""" + def __rtruediv__(self, other, context=None): + """Swaps self/other and returns __truediv__.""" other = _convert_other(other) if other is NotImplemented: return other - return other.__div__(self, context=context) - __rtruediv__ = __rdiv__ + return other.__truediv__(self, context=context) def __divmod__(self, other, context=None): """ @@ -1384,9 +1382,9 @@ rounding = context._set_rounding_decision(NEVER_ROUND) if other._sign: - comparison = other.__div__(Decimal(-2), context=context) + comparison = other.__truediv__(Decimal(-2), context=context) else: - comparison = other.__div__(Decimal(2), context=context) + comparison = other.__truediv__(Decimal(2), context=context) context._set_rounding_decision(rounding) context._regard_flags(*flags) @@ -1751,7 +1749,7 @@ if n < 0: #n is a long now, not Decimal instance n = -n - mul = Decimal(1).__div__(mul, context=context) + mul = Decimal(1).__truediv__(mul, context=context) spot = 1 while spot <= n: @@ -1972,7 +1970,7 @@ rounding = context._set_rounding(ROUND_HALF_EVEN) while 1: context.prec = min(2*context.prec - 2, maxp) - ans = half.__mul__(ans.__add__(tmp.__div__(ans, context=context), + ans = half.__mul__(ans.__add__(tmp.__truediv__(ans, context=context), context=context), context=context) if context.prec == maxp: break @@ -2454,7 +2452,7 @@ >>> ExtendedContext.divide(Decimal('2.40E+6'), Decimal('2')) Decimal("1.20E+6") """ - return a.__div__(b, context=self) + return a.__truediv__(b, context=self) def divide_int(self, a, b): """Divides two numbers and returns the integer part of the result. Modified: python/branches/p3yk/Lib/test/test_augassign.py ============================================================================== --- python/branches/p3yk/Lib/test/test_augassign.py (original) +++ python/branches/p3yk/Lib/test/test_augassign.py Fri Mar 24 09:14:36 2006 @@ -5,7 +5,7 @@ x *= 2 x **= 2 x -= 8 -x //= 2 +x /= 2 x //= 1 x %= 12 x &= 2 @@ -19,7 +19,7 @@ x[0] *= 2 x[0] **= 2 x[0] -= 8 -x[0] //= 2 +x[0] /= 2 x[0] //= 2 x[0] %= 12 x[0] &= 2 @@ -33,7 +33,7 @@ x[0] *= 2 x[0] **= 2 x[0] -= 8 -x[0] //= 2 +x[0] /= 2 x[0] //= 1 x[0] %= 12 x[0] &= 2 @@ -123,14 +123,6 @@ print "__imul__ called" return self - def __div__(self, val): - print "__div__ called" - def __rdiv__(self, val): - print "__rdiv__ called" - def __idiv__(self, val): - print "__idiv__ called" - return self - def __floordiv__(self, val): print "__floordiv__ called" return self @@ -147,6 +139,9 @@ def __itruediv__(self, val): print "__itruediv__ called" return self + def __rtruediv__(self, val): + print "__rtruediv__ called" + return self def __mod__(self, val): print "__mod__ called" @@ -217,16 +212,9 @@ 1 * x x *= 1 -if 1/2 == 0: - x / 1 - 1 / x - x /= 1 -else: - # True division is in effect, so "/" doesn't map to __div__ etc; - # but the canned expected-output file requires that those get called. - x.__div__(1) - x.__rdiv__(1) - x.__idiv__(1) +x / 1 +1 / x +x /= 1 x // 1 1 // x Modified: python/branches/p3yk/Lib/test/test_binop.py ============================================================================== --- python/branches/p3yk/Lib/test/test_binop.py (original) +++ python/branches/p3yk/Lib/test/test_binop.py Fri Mar 24 09:14:36 2006 @@ -140,8 +140,6 @@ return float(self) / other return NotImplemented - __div__ = __truediv__ - def __rtruediv__(self, other): """Divide two Rats, or a Rat and a number (reversed args).""" if isRat(other): @@ -152,8 +150,6 @@ return other / float(self) return NotImplemented - __rdiv__ = __rtruediv__ - def __floordiv__(self, other): """Divide two Rats, returning the floored result.""" if isint(other): Modified: python/branches/p3yk/Lib/test/test_class.py ============================================================================== --- python/branches/p3yk/Lib/test/test_class.py (original) +++ python/branches/p3yk/Lib/test/test_class.py Fri Mar 24 09:14:36 2006 @@ -11,8 +11,8 @@ "rsub", "mul", "rmul", - "div", - "rdiv", + "truediv", + "rtruediv", "mod", "rmod", "divmod", @@ -134,16 +134,8 @@ testme * 1 1 * testme -if 1/2 == 0: - testme / 1 - 1 / testme -else: - # True division is in effect, so "/" doesn't map to __div__ etc; but - # the canned expected-output file requires that __div__ etc get called. - testme.__coerce__(1) - testme.__div__(1) - testme.__coerce__(1) - testme.__rdiv__(1) +testme / 1 +1 / testme testme % 1 1 % testme Modified: python/branches/p3yk/Lib/test/test_coercion.py ============================================================================== --- python/branches/p3yk/Lib/test/test_coercion.py (original) +++ python/branches/p3yk/Lib/test/test_coercion.py Fri Mar 24 09:14:36 2006 @@ -44,10 +44,10 @@ def __rmul__(self,other): return other * self.arg - def __div__(self,other): + def __truediv__(self,other): return self.arg / other - def __rdiv__(self,other): + def __rtruediv__(self,other): return other / self.arg def __pow__(self,other): Modified: python/branches/p3yk/Lib/test/test_complex.py ============================================================================== --- python/branches/p3yk/Lib/test/test_complex.py (original) +++ python/branches/p3yk/Lib/test/test_complex.py Fri Mar 24 09:14:36 2006 @@ -55,19 +55,15 @@ if x != 0: q = z / x self.assertClose(q, y) - q = z.__div__(x) - self.assertClose(q, y) q = z.__truediv__(x) self.assertClose(q, y) if y != 0: q = z / y self.assertClose(q, x) - q = z.__div__(y) - self.assertClose(q, x) q = z.__truediv__(y) self.assertClose(q, x) - def test_div(self): + def test_truediv(self): simple_real = [float(i) for i in xrange(-5, 6)] simple_complex = [complex(x, y) for x in simple_real for y in simple_real] for x in simple_complex: @@ -84,7 +80,7 @@ self.check_div(complex(random(), random()), complex(random(), random())) - self.assertRaises(ZeroDivisionError, complex.__div__, 1+1j, 0+0j) + self.assertRaises(ZeroDivisionError, complex.__truediv__, 1+1j, 0+0j) # FIXME: The following currently crashes on Alpha # self.assertRaises(OverflowError, pow, 1e200+1j, 1e200+1j) Modified: python/branches/p3yk/Lib/test/test_decimal.py ============================================================================== --- python/branches/p3yk/Lib/test/test_decimal.py (original) +++ python/branches/p3yk/Lib/test/test_decimal.py Fri Mar 24 09:14:36 2006 @@ -507,7 +507,7 @@ ('+', '__add__', '__radd__'), ('-', '__sub__', '__rsub__'), ('*', '__mul__', '__rmul__'), - ('/', '__div__', '__rdiv__'), + ('/', '__truediv__', '__rtruediv__'), ('%', '__mod__', '__rmod__'), ('//', '__floordiv__', '__rfloordiv__'), ('**', '__pow__', '__rpow__'), @@ -975,7 +975,6 @@ checkSameDec("__abs__") checkSameDec("__add__", True) - checkSameDec("__div__", True) checkSameDec("__divmod__", True) checkSameDec("__cmp__", True) checkSameDec("__float__") @@ -990,7 +989,6 @@ checkSameDec("__pos__") checkSameDec("__pow__", True) checkSameDec("__radd__", True) - checkSameDec("__rdiv__", True) checkSameDec("__rdivmod__", True) checkSameDec("__repr__") checkSameDec("__rfloordiv__", True) Modified: python/branches/p3yk/Lib/test/test_descr.py ============================================================================== --- python/branches/p3yk/Lib/test/test_descr.py (original) +++ python/branches/p3yk/Lib/test/test_descr.py Fri Mar 24 09:14:36 2006 @@ -29,10 +29,6 @@ if verbose: print "checking", expr dict = {'a': a, 'b': b} - # XXX Hack so this passes before 2.3 when -Qnew is specified. - if meth == "__div__" and 1/2 == 0.5: - meth = "__truediv__" - vereq(eval(expr, dict), res) t = type(a) m = getattr(t, meth) @@ -4044,9 +4040,8 @@ ('__add__', 'x + y', 'x += y'), ('__sub__', 'x - y', 'x -= y'), ('__mul__', 'x * y', 'x *= y'), - ('__truediv__', 'operator.truediv(x, y)', None), - ('__floordiv__', 'operator.floordiv(x, y)', None), - ('__div__', 'x / y', 'x /= y'), + ('__truediv__', 'x / y', None), + ('__floordiv__', 'x // y', None), ('__mod__', 'x % y', 'x %= y'), ('__divmod__', 'divmod(x, y)', None), ('__pow__', 'x ** y', 'x **= y'), Modified: python/branches/p3yk/Lib/test/test_operator.py ============================================================================== --- python/branches/p3yk/Lib/test/test_operator.py (original) +++ python/branches/p3yk/Lib/test/test_operator.py Fri Mar 24 09:14:36 2006 @@ -144,11 +144,6 @@ self.failUnless(operator.delslice(a, 2, 8) is None) self.assert_(a == [0, 1, 8, 9]) - def test_div(self): - self.failUnlessRaises(TypeError, operator.div, 5) - self.failUnlessRaises(TypeError, operator.div, None, None) - self.failUnless(operator.floordiv(5, 2) == 2) - def test_floordiv(self): self.failUnlessRaises(TypeError, operator.floordiv, 5) self.failUnlessRaises(TypeError, operator.floordiv, None, None) @@ -416,7 +411,6 @@ class C(object): def __iadd__ (self, other): return "iadd" def __iand__ (self, other): return "iand" - def __idiv__ (self, other): return "idiv" def __ifloordiv__(self, other): return "ifloordiv" def __ilshift__ (self, other): return "ilshift" def __imod__ (self, other): return "imod" @@ -431,7 +425,6 @@ c = C() self.assertEqual(operator.iadd (c, 5), "iadd") self.assertEqual(operator.iand (c, 5), "iand") - self.assertEqual(operator.idiv (c, 5), "idiv") self.assertEqual(operator.ifloordiv(c, 5), "ifloordiv") self.assertEqual(operator.ilshift (c, 5), "ilshift") self.assertEqual(operator.imod (c, 5), "imod") @@ -446,7 +439,6 @@ self.assertEqual(operator.irepeat (c, 5), "imul") self.assertEqual(operator.__iadd__ (c, 5), "iadd") self.assertEqual(operator.__iand__ (c, 5), "iand") - self.assertEqual(operator.__idiv__ (c, 5), "idiv") self.assertEqual(operator.__ifloordiv__(c, 5), "ifloordiv") self.assertEqual(operator.__ilshift__ (c, 5), "ilshift") self.assertEqual(operator.__imod__ (c, 5), "imod") Modified: python/branches/p3yk/Misc/NEWS ============================================================================== --- python/branches/p3yk/Misc/NEWS (original) +++ python/branches/p3yk/Misc/NEWS Fri Mar 24 09:14:36 2006 @@ -40,6 +40,14 @@ - Exceptions *must* derive from BaseException. - Integer division always returns a float. The -Q option is no more. + All the following are gone: + * PyNumber_Divide and PyNumber_InPlaceDivide + * __div__, __rdiv__, and __idiv__ + * nb_divide, nb_inplace_divide + * operator.div, operator.idiv, operator.__div__, operator.__idiv__ + (Only __truediv__ and __floordiv__ remain, not sure how to handle them + if we want to re-use __div__ and friends. If we do, it will make + it harder to write code for both 2.x and 3.x.) - 'as' and 'with' are keywords. Modified: python/branches/p3yk/Modules/_ctypes/_ctypes.c ============================================================================== --- python/branches/p3yk/Modules/_ctypes/_ctypes.c (original) +++ python/branches/p3yk/Modules/_ctypes/_ctypes.c Fri Mar 24 09:14:36 2006 @@ -3812,7 +3812,6 @@ 0, /* nb_add */ 0, /* nb_subtract */ 0, /* nb_multiply */ - 0, /* nb_divide */ 0, /* nb_remainder */ 0, /* nb_divmod */ 0, /* nb_power */ @@ -4165,7 +4164,6 @@ 0, /* nb_add */ 0, /* nb_subtract */ 0, /* nb_multiply */ - 0, /* nb_divide */ 0, /* nb_remainder */ 0, /* nb_divmod */ 0, /* nb_power */ Modified: python/branches/p3yk/Modules/datetimemodule.c ============================================================================== --- python/branches/p3yk/Modules/datetimemodule.c (original) +++ python/branches/p3yk/Modules/datetimemodule.c Fri Mar 24 09:14:36 2006 @@ -2080,7 +2080,6 @@ delta_add, /* nb_add */ delta_subtract, /* nb_subtract */ delta_multiply, /* nb_multiply */ - delta_divide, /* nb_divide */ 0, /* nb_remainder */ 0, /* nb_divmod */ 0, /* nb_power */ @@ -2103,7 +2102,6 @@ 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ - 0, /*nb_inplace_divide*/ 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ @@ -2665,7 +2663,6 @@ date_add, /* nb_add */ date_subtract, /* nb_subtract */ 0, /* nb_multiply */ - 0, /* nb_divide */ 0, /* nb_remainder */ 0, /* nb_divmod */ 0, /* nb_power */ @@ -3441,7 +3438,6 @@ 0, /* nb_add */ 0, /* nb_subtract */ 0, /* nb_multiply */ - 0, /* nb_divide */ 0, /* nb_remainder */ 0, /* nb_divmod */ 0, /* nb_power */ @@ -4526,7 +4522,6 @@ datetime_add, /* nb_add */ datetime_subtract, /* nb_subtract */ 0, /* nb_multiply */ - 0, /* nb_divide */ 0, /* nb_remainder */ 0, /* nb_divmod */ 0, /* nb_power */ Modified: python/branches/p3yk/Modules/mathmodule.c ============================================================================== --- python/branches/p3yk/Modules/mathmodule.c (original) +++ python/branches/p3yk/Modules/mathmodule.c Fri Mar 24 09:14:36 2006 @@ -266,7 +266,7 @@ return NULL; } - ans = PyNumber_Divide(num, den); + ans = PyNumber_TrueDivide(num, den); Py_DECREF(num); Py_DECREF(den); return ans; Modified: python/branches/p3yk/Modules/operator.c ============================================================================== --- python/branches/p3yk/Modules/operator.c (original) +++ python/branches/p3yk/Modules/operator.c Fri Mar 24 09:14:36 2006 @@ -65,7 +65,6 @@ spam2(op_add , PyNumber_Add) spam2(op_sub , PyNumber_Subtract) spam2(op_mul , PyNumber_Multiply) -spam2(op_div , PyNumber_Divide) spam2(op_floordiv , PyNumber_FloorDivide) spam2(op_truediv , PyNumber_TrueDivide) spam2(op_mod , PyNumber_Remainder) @@ -83,7 +82,6 @@ spam2(op_iadd , PyNumber_InPlaceAdd) spam2(op_isub , PyNumber_InPlaceSubtract) spam2(op_imul , PyNumber_InPlaceMultiply) -spam2(op_idiv , PyNumber_InPlaceDivide) spam2(op_ifloordiv , PyNumber_InPlaceFloorDivide) spam2(op_itruediv , PyNumber_InPlaceTrueDivide) spam2(op_imod , PyNumber_InPlaceRemainder) @@ -247,9 +245,8 @@ spam2(add,__add__, "add(a, b) -- Same as a + b.") spam2(sub,__sub__, "sub(a, b) -- Same as a - b.") spam2(mul,__mul__, "mul(a, b) -- Same as a * b.") -spam2(div,__div__, "div(a, b) -- Same as a / b when __future__.division is not in effect.") spam2(floordiv,__floordiv__, "floordiv(a, b) -- Same as a // b.") -spam2(truediv,__truediv__, "truediv(a, b) -- Same as a / b when __future__.division is in effect.") +spam2(truediv,__truediv__, "truediv(a, b) -- Same as a / b.") spam2(mod,__mod__, "mod(a, b) -- Same as a % b.") spam2o(neg,__neg__, "neg(a) -- Same as -a.") spam2o(pos,__pos__, "pos(a) -- Same as +a.") @@ -265,9 +262,8 @@ spam2(iadd,__iadd__, "iadd(a, b) -- Same as a += b.") spam2(isub,__isub__, "isub(a, b) -- Same as a -= b.") spam2(imul,__imul__, "imul(a, b) -- Same as a *= b.") -spam2(idiv,__idiv__, "idiv(a, b) -- Same as a /= b when __future__.division is not in effect.") spam2(ifloordiv,__ifloordiv__, "ifloordiv(a, b) -- Same as a //= b.") -spam2(itruediv,__itruediv__, "itruediv(a, b) -- Same as a /= b when __future__.division is in effect.") +spam2(itruediv,__itruediv__, "itruediv(a, b) -- Same as a /= b.") spam2(imod,__imod__, "imod(a, b) -- Same as a %= b.") spam2(ilshift,__ilshift__, "ilshift(a, b) -- Same as a <<= b.") spam2(irshift,__irshift__, "irshift(a, b) -- Same as a >>= b.") Modified: python/branches/p3yk/Objects/abstract.c ============================================================================== --- python/branches/p3yk/Objects/abstract.c (original) +++ python/branches/p3yk/Objects/abstract.c Fri Mar 24 09:14:36 2006 @@ -625,7 +625,6 @@ BINARY_FUNC(PyNumber_Lshift, nb_lshift, "<<") BINARY_FUNC(PyNumber_Rshift, nb_rshift, ">>") BINARY_FUNC(PyNumber_Subtract, nb_subtract, "-") -BINARY_FUNC(PyNumber_Divide, nb_divide, "/") BINARY_FUNC(PyNumber_Divmod, nb_divmod, "divmod()") PyObject * @@ -765,7 +764,6 @@ INPLACE_BINOP(PyNumber_InPlaceLshift, nb_inplace_lshift, nb_lshift, "<<=") INPLACE_BINOP(PyNumber_InPlaceRshift, nb_inplace_rshift, nb_rshift, ">>=") INPLACE_BINOP(PyNumber_InPlaceSubtract, nb_inplace_subtract, nb_subtract, "-=") -INPLACE_BINOP(PyNumber_InPlaceDivide, nb_inplace_divide, nb_divide, "/=") PyObject * PyNumber_InPlaceFloorDivide(PyObject *v, PyObject *w) Modified: python/branches/p3yk/Objects/boolobject.c ============================================================================== --- python/branches/p3yk/Objects/boolobject.c (original) +++ python/branches/p3yk/Objects/boolobject.c Fri Mar 24 09:14:36 2006 @@ -106,7 +106,6 @@ 0, /* nb_add */ 0, /* nb_subtract */ 0, /* nb_multiply */ - 0, /* nb_divide */ 0, /* nb_remainder */ 0, /* nb_divmod */ 0, /* nb_power */ @@ -129,7 +128,6 @@ 0, /* nb_inplace_add */ 0, /* nb_inplace_subtract */ 0, /* nb_inplace_multiply */ - 0, /* nb_inplace_divide */ 0, /* nb_inplace_remainder */ 0, /* nb_inplace_power */ 0, /* nb_inplace_lshift */ Modified: python/branches/p3yk/Objects/classobject.c ============================================================================== --- python/branches/p3yk/Objects/classobject.c (original) +++ python/branches/p3yk/Objects/classobject.c Fri Mar 24 09:14:36 2006 @@ -1551,7 +1551,6 @@ BINARY(instance_add, "add", PyNumber_Add) BINARY(instance_sub, "sub", PyNumber_Subtract) BINARY(instance_mul, "mul", PyNumber_Multiply) -BINARY(instance_div, "div", PyNumber_Divide) BINARY(instance_mod, "mod", PyNumber_Remainder) BINARY(instance_divmod, "divmod", PyNumber_Divmod) BINARY(instance_floordiv, "floordiv", PyNumber_FloorDivide) @@ -1565,7 +1564,6 @@ BINARY_INPLACE(instance_iadd, "add", PyNumber_InPlaceAdd) BINARY_INPLACE(instance_isub, "sub", PyNumber_InPlaceSubtract) BINARY_INPLACE(instance_imul, "mul", PyNumber_InPlaceMultiply) -BINARY_INPLACE(instance_idiv, "div", PyNumber_InPlaceDivide) BINARY_INPLACE(instance_imod, "mod", PyNumber_InPlaceRemainder) BINARY_INPLACE(instance_ifloordiv, "floordiv", PyNumber_InPlaceFloorDivide) BINARY_INPLACE(instance_itruediv, "truediv", PyNumber_InPlaceTrueDivide) @@ -2054,7 +2052,6 @@ (binaryfunc)instance_add, /* nb_add */ (binaryfunc)instance_sub, /* nb_subtract */ (binaryfunc)instance_mul, /* nb_multiply */ - (binaryfunc)instance_div, /* nb_divide */ (binaryfunc)instance_mod, /* nb_remainder */ (binaryfunc)instance_divmod, /* nb_divmod */ (ternaryfunc)instance_pow, /* nb_power */ @@ -2077,7 +2074,6 @@ (binaryfunc)instance_iadd, /* nb_inplace_add */ (binaryfunc)instance_isub, /* nb_inplace_subtract */ (binaryfunc)instance_imul, /* nb_inplace_multiply */ - (binaryfunc)instance_idiv, /* nb_inplace_divide */ (binaryfunc)instance_imod, /* nb_inplace_remainder */ (ternaryfunc)instance_ipow, /* nb_inplace_power */ (binaryfunc)instance_ilshift, /* nb_inplace_lshift */ Modified: python/branches/p3yk/Objects/complexobject.c ============================================================================== --- python/branches/p3yk/Objects/complexobject.c (original) +++ python/branches/p3yk/Objects/complexobject.c Fri Mar 24 09:14:36 2006 @@ -382,27 +382,6 @@ } static PyObject * -complex_classic_div(PyComplexObject *v, PyComplexObject *w) -{ - Py_complex quot; - - if (Py_DivisionWarningFlag >= 2 && - PyErr_Warn(PyExc_DeprecationWarning, - "classic complex division") < 0) - return NULL; - - PyFPE_START_PROTECT("complex_classic_div", return 0) - errno = 0; - quot = c_quot(v->cval,w->cval); - PyFPE_END_PROTECT(quot) - if (errno == EDOM) { - PyErr_SetString(PyExc_ZeroDivisionError, "complex division"); - return NULL; - } - return PyComplex_FromCComplex(quot); -} - -static PyObject * complex_remainder(PyComplexObject *v, PyComplexObject *w) { Py_complex div, mod; @@ -948,7 +927,6 @@ (binaryfunc)complex_add, /* nb_add */ (binaryfunc)complex_sub, /* nb_subtract */ (binaryfunc)complex_mul, /* nb_multiply */ - (binaryfunc)complex_classic_div, /* nb_divide */ (binaryfunc)complex_remainder, /* nb_remainder */ (binaryfunc)complex_divmod, /* nb_divmod */ (ternaryfunc)complex_pow, /* nb_power */ @@ -971,7 +949,6 @@ 0, /* nb_inplace_add */ 0, /* nb_inplace_subtract */ 0, /* nb_inplace_multiply*/ - 0, /* nb_inplace_divide */ 0, /* nb_inplace_remainder */ 0, /* nb_inplace_power */ 0, /* nb_inplace_lshift */ Modified: python/branches/p3yk/Objects/floatobject.c ============================================================================== --- python/branches/p3yk/Objects/floatobject.c (original) +++ python/branches/p3yk/Objects/floatobject.c Fri Mar 24 09:14:36 2006 @@ -642,25 +642,6 @@ } static PyObject * -float_classic_div(PyObject *v, PyObject *w) -{ - double a,b; - CONVERT_TO_DOUBLE(v, a); - CONVERT_TO_DOUBLE(w, b); - if (Py_DivisionWarningFlag >= 2 && - PyErr_Warn(PyExc_DeprecationWarning, "classic float division") < 0) - return NULL; - if (b == 0.0) { - PyErr_SetString(PyExc_ZeroDivisionError, "float division"); - return NULL; - } - PyFPE_START_PROTECT("divide", return 0) - a = a / b; - PyFPE_END_PROTECT(a) - return PyFloat_FromDouble(a); -} - -static PyObject * float_rem(PyObject *v, PyObject *w) { double vx, wx; @@ -1128,7 +1109,6 @@ (binaryfunc)float_add, /*nb_add*/ (binaryfunc)float_sub, /*nb_subtract*/ (binaryfunc)float_mul, /*nb_multiply*/ - (binaryfunc)float_classic_div, /*nb_divide*/ (binaryfunc)float_rem, /*nb_remainder*/ (binaryfunc)float_divmod, /*nb_divmod*/ (ternaryfunc)float_pow, /*nb_power*/ @@ -1151,7 +1131,6 @@ 0, /* nb_inplace_add */ 0, /* nb_inplace_subtract */ 0, /* nb_inplace_multiply */ - 0, /* nb_inplace_divide */ 0, /* nb_inplace_remainder */ 0, /* nb_inplace_power */ 0, /* nb_inplace_lshift */ Modified: python/branches/p3yk/Objects/intobject.c ============================================================================== --- python/branches/p3yk/Objects/intobject.c (original) +++ python/branches/p3yk/Objects/intobject.c Fri Mar 24 09:14:36 2006 @@ -580,29 +580,8 @@ case DIVMOD_OK: return PyInt_FromLong(d); case DIVMOD_OVERFLOW: - return PyLong_Type.tp_as_number->nb_divide((PyObject *)x, - (PyObject *)y); - default: - return NULL; - } -} - -static PyObject * -int_classic_div(PyIntObject *x, PyIntObject *y) -{ - long xi, yi; - long d, m; - CONVERT_TO_LONG(x, xi); - CONVERT_TO_LONG(y, yi); - if (Py_DivisionWarningFlag && - PyErr_Warn(PyExc_DeprecationWarning, "classic int division") < 0) - return NULL; - switch (i_divmod(xi, yi, &d, &m)) { - case DIVMOD_OK: - return PyInt_FromLong(d); - case DIVMOD_OVERFLOW: - return PyLong_Type.tp_as_number->nb_divide((PyObject *)x, - (PyObject *)y); + return PyLong_Type.tp_as_number->nb_floor_divide((PyObject *)x, + (PyObject *)y); default: return NULL; } @@ -1034,7 +1013,6 @@ (binaryfunc)int_add, /*nb_add*/ (binaryfunc)int_sub, /*nb_subtract*/ (binaryfunc)int_mul, /*nb_multiply*/ - (binaryfunc)int_classic_div, /*nb_divide*/ (binaryfunc)int_mod, /*nb_remainder*/ (binaryfunc)int_divmod, /*nb_divmod*/ (ternaryfunc)int_pow, /*nb_power*/ @@ -1057,7 +1035,6 @@ 0, /*nb_inplace_add*/ 0, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ - 0, /*nb_inplace_divide*/ 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ Modified: python/branches/p3yk/Objects/longobject.c ============================================================================== --- python/branches/p3yk/Objects/longobject.c (original) +++ python/branches/p3yk/Objects/longobject.c Fri Mar 24 09:14:36 2006 @@ -2355,22 +2355,6 @@ } static PyObject * -long_classic_div(PyObject *v, PyObject *w) -{ - PyLongObject *a, *b, *div; - - CONVERT_BINOP(v, w, &a, &b); - if (Py_DivisionWarningFlag && - PyErr_Warn(PyExc_DeprecationWarning, "classic long division") < 0) - div = NULL; - else if (l_divmod(a, b, &div, NULL) < 0) - div = NULL; - Py_DECREF(a); - Py_DECREF(b); - return (PyObject *)div; -} - -static PyObject * long_true_divide(PyObject *v, PyObject *w) { PyLongObject *a, *b; @@ -3130,7 +3114,6 @@ (binaryfunc) long_add, /*nb_add*/ (binaryfunc) long_sub, /*nb_subtract*/ (binaryfunc) long_mul, /*nb_multiply*/ - (binaryfunc) long_classic_div, /*nb_divide*/ (binaryfunc) long_mod, /*nb_remainder*/ (binaryfunc) long_divmod, /*nb_divmod*/ (ternaryfunc) long_pow, /*nb_power*/ @@ -3153,7 +3136,6 @@ 0, /* nb_inplace_add */ 0, /* nb_inplace_subtract */ 0, /* nb_inplace_multiply */ - 0, /* nb_inplace_divide */ 0, /* nb_inplace_remainder */ 0, /* nb_inplace_power */ 0, /* nb_inplace_lshift */ Modified: python/branches/p3yk/Objects/setobject.c ============================================================================== --- python/branches/p3yk/Objects/setobject.c (original) +++ python/branches/p3yk/Objects/setobject.c Fri Mar 24 09:14:36 2006 @@ -1755,7 +1755,6 @@ 0, /*nb_add*/ (binaryfunc)set_sub, /*nb_subtract*/ 0, /*nb_multiply*/ - 0, /*nb_divide*/ 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ @@ -1778,7 +1777,6 @@ 0, /*nb_inplace_add*/ (binaryfunc)set_isub, /*nb_inplace_subtract*/ 0, /*nb_inplace_multiply*/ - 0, /*nb_inplace_divide*/ 0, /*nb_inplace_remainder*/ 0, /*nb_inplace_power*/ 0, /*nb_inplace_lshift*/ @@ -1867,7 +1865,6 @@ 0, /*nb_add*/ (binaryfunc)set_sub, /*nb_subtract*/ 0, /*nb_multiply*/ - 0, /*nb_divide*/ 0, /*nb_remainder*/ 0, /*nb_divmod*/ 0, /*nb_power*/ Modified: python/branches/p3yk/Objects/stringobject.c ============================================================================== --- python/branches/p3yk/Objects/stringobject.c (original) +++ python/branches/p3yk/Objects/stringobject.c Fri Mar 24 09:14:36 2006 @@ -3408,7 +3408,6 @@ 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ - 0, /*nb_divide*/ string_mod, /*nb_remainder*/ }; Modified: python/branches/p3yk/Objects/typeobject.c ============================================================================== --- python/branches/p3yk/Objects/typeobject.c (original) +++ python/branches/p3yk/Objects/typeobject.c Fri Mar 24 09:14:36 2006 @@ -3014,7 +3014,6 @@ COPYNUM(nb_add); COPYNUM(nb_subtract); COPYNUM(nb_multiply); - COPYNUM(nb_divide); COPYNUM(nb_remainder); COPYNUM(nb_divmod); COPYNUM(nb_power); @@ -3037,7 +3036,6 @@ COPYNUM(nb_inplace_add); COPYNUM(nb_inplace_subtract); COPYNUM(nb_inplace_multiply); - COPYNUM(nb_inplace_divide); COPYNUM(nb_inplace_remainder); COPYNUM(nb_inplace_power); COPYNUM(nb_inplace_lshift); @@ -3045,12 +3043,11 @@ COPYNUM(nb_inplace_and); COPYNUM(nb_inplace_xor); COPYNUM(nb_inplace_or); - if (base->tp_flags & Py_TPFLAGS_CHECKTYPES) { - COPYNUM(nb_true_divide); - COPYNUM(nb_floor_divide); - COPYNUM(nb_inplace_true_divide); - COPYNUM(nb_inplace_floor_divide); - } + COPYNUM(nb_true_divide); + COPYNUM(nb_floor_divide); + COPYNUM(nb_inplace_true_divide); + COPYNUM(nb_inplace_floor_divide); + /* XXX(nnorwitz): we don't need to check flags do we? */ if (base->tp_flags & Py_TPFLAGS_HAVE_INDEX) { COPYNUM(nb_index); } @@ -4291,7 +4288,6 @@ SLOT1BIN(slot_nb_add, nb_add, "__add__", "__radd__") SLOT1BIN(slot_nb_subtract, nb_subtract, "__sub__", "__rsub__") SLOT1BIN(slot_nb_multiply, nb_multiply, "__mul__", "__rmul__") -SLOT1BIN(slot_nb_divide, nb_divide, "__div__", "__rdiv__") SLOT1BIN(slot_nb_remainder, nb_remainder, "__mod__", "__rmod__") SLOT1BIN(slot_nb_divmod, nb_divmod, "__divmod__", "__rdivmod__") @@ -4470,7 +4466,6 @@ SLOT1(slot_nb_inplace_add, "__iadd__", PyObject *, "O") SLOT1(slot_nb_inplace_subtract, "__isub__", PyObject *, "O") SLOT1(slot_nb_inplace_multiply, "__imul__", PyObject *, "O") -SLOT1(slot_nb_inplace_divide, "__idiv__", PyObject *, "O") SLOT1(slot_nb_inplace_remainder, "__imod__", PyObject *, "O") SLOT1(slot_nb_inplace_power, "__ipow__", PyObject *, "O") SLOT1(slot_nb_inplace_lshift, "__ilshift__", PyObject *, "O") @@ -5077,10 +5072,6 @@ "*"), RBINSLOT("__rmul__", nb_multiply, slot_nb_multiply, "*"), - BINSLOT("__div__", nb_divide, slot_nb_divide, - "/"), - RBINSLOT("__rdiv__", nb_divide, slot_nb_divide, - "/"), BINSLOT("__mod__", nb_remainder, slot_nb_remainder, "%"), RBINSLOT("__rmod__", nb_remainder, slot_nb_remainder, @@ -5130,8 +5121,6 @@ wrap_binaryfunc, "-"), IBSLOT("__imul__", nb_inplace_multiply, slot_nb_inplace_multiply, wrap_binaryfunc, "*"), - IBSLOT("__idiv__", nb_inplace_divide, slot_nb_inplace_divide, - wrap_binaryfunc, "/"), IBSLOT("__imod__", nb_inplace_remainder, slot_nb_inplace_remainder, wrap_binaryfunc, "%"), IBSLOT("__ipow__", nb_inplace_power, slot_nb_inplace_power, Modified: python/branches/p3yk/Objects/unicodeobject.c ============================================================================== --- python/branches/p3yk/Objects/unicodeobject.c (original) +++ python/branches/p3yk/Objects/unicodeobject.c Fri Mar 24 09:14:36 2006 @@ -6445,7 +6445,6 @@ 0, /*nb_add*/ 0, /*nb_subtract*/ 0, /*nb_multiply*/ - 0, /*nb_divide*/ unicode_mod, /*nb_remainder*/ }; Modified: python/branches/p3yk/Objects/weakrefobject.c ============================================================================== --- python/branches/p3yk/Objects/weakrefobject.c (original) +++ python/branches/p3yk/Objects/weakrefobject.c Fri Mar 24 09:14:36 2006 @@ -471,7 +471,6 @@ WRAP_BINARY(proxy_add, PyNumber_Add) WRAP_BINARY(proxy_sub, PyNumber_Subtract) WRAP_BINARY(proxy_mul, PyNumber_Multiply) -WRAP_BINARY(proxy_div, PyNumber_Divide) WRAP_BINARY(proxy_mod, PyNumber_Remainder) WRAP_BINARY(proxy_divmod, PyNumber_Divmod) WRAP_TERNARY(proxy_pow, PyNumber_Power) @@ -490,7 +489,6 @@ WRAP_BINARY(proxy_iadd, PyNumber_InPlaceAdd) WRAP_BINARY(proxy_isub, PyNumber_InPlaceSubtract) WRAP_BINARY(proxy_imul, PyNumber_InPlaceMultiply) -WRAP_BINARY(proxy_idiv, PyNumber_InPlaceDivide) WRAP_BINARY(proxy_imod, PyNumber_InPlaceRemainder) WRAP_TERNARY(proxy_ipow, PyNumber_InPlacePower) WRAP_BINARY(proxy_ilshift, PyNumber_InPlaceLshift) @@ -591,7 +589,6 @@ (binaryfunc)proxy_add, /*nb_add*/ (binaryfunc)proxy_sub, /*nb_subtract*/ (binaryfunc)proxy_mul, /*nb_multiply*/ - (binaryfunc)proxy_div, /*nb_divide*/ (binaryfunc)proxy_mod, /*nb_remainder*/ (binaryfunc)proxy_divmod, /*nb_divmod*/ (ternaryfunc)proxy_pow, /*nb_power*/ @@ -614,7 +611,6 @@ (binaryfunc)proxy_iadd, /*nb_inplace_add*/ (binaryfunc)proxy_isub, /*nb_inplace_subtract*/ (binaryfunc)proxy_imul, /*nb_inplace_multiply*/ - (binaryfunc)proxy_idiv, /*nb_inplace_divide*/ (binaryfunc)proxy_imod, /*nb_inplace_remainder*/ (ternaryfunc)proxy_ipow, /*nb_inplace_power*/ (binaryfunc)proxy_ilshift, /*nb_inplace_lshift*/ Modified: python/branches/p3yk/PC/_winreg.c ============================================================================== --- python/branches/p3yk/PC/_winreg.c (original) +++ python/branches/p3yk/PC/_winreg.c Fri Mar 24 09:14:36 2006 @@ -431,7 +431,6 @@ PyHKEY_binaryFailureFunc, /* nb_add */ PyHKEY_binaryFailureFunc, /* nb_subtract */ PyHKEY_binaryFailureFunc, /* nb_multiply */ - PyHKEY_binaryFailureFunc, /* nb_divide */ PyHKEY_binaryFailureFunc, /* nb_remainder */ PyHKEY_binaryFailureFunc, /* nb_divmod */ PyHKEY_ternaryFailureFunc, /* nb_power */ From python-3000-checkins at python.org Fri Mar 24 09:57:54 2006 From: python-3000-checkins at python.org (neal.norwitz) Date: Fri, 24 Mar 2006 09:57:54 +0100 (CET) Subject: [Python-3000-checkins] r43288 - python/branches/p3yk/Lib/test/test_cpickle.py Message-ID: <20060324085754.E16E51E400B@bag.python.org> Author: neal.norwitz Date: Fri Mar 24 09:57:54 2006 New Revision: 43288 Modified: python/branches/p3yk/Lib/test/test_cpickle.py Log: Use absolute import. (Should this go into 2.5?) Modified: python/branches/p3yk/Lib/test/test_cpickle.py ============================================================================== --- python/branches/p3yk/Lib/test/test_cpickle.py (original) +++ python/branches/p3yk/Lib/test/test_cpickle.py Fri Mar 24 09:57:54 2006 @@ -1,7 +1,7 @@ import cPickle import unittest from cStringIO import StringIO -from pickletester import AbstractPickleTests, AbstractPickleModuleTests +from test.pickletester import AbstractPickleTests, AbstractPickleModuleTests from test import test_support class cPickleTests(AbstractPickleTests, AbstractPickleModuleTests): From guido at python.org Fri Mar 24 17:41:02 2006 From: guido at python.org (Guido van Rossum) Date: Fri, 24 Mar 2006 08:41:02 -0800 Subject: [Python-3000-checkins] r43283 - python/branches/p3yk/Lib/xmlcore/dom/__init__.py In-Reply-To: <20060324080448.22B111E400B@bag.python.org> References: <20060324080448.22B111E400B@bag.python.org> Message-ID: In 2.5, at least, people prefer absolute imports instead. In 3.0 I'd like to keep the relative ones though. On 3/24/06, neal.norwitz wrote: > Author: neal.norwitz > Date: Fri Mar 24 09:04:47 2006 > New Revision: 43283 > > Modified: > python/branches/p3yk/Lib/xmlcore/dom/__init__.py > Log: > Use *absolute* imports now that they are required. (Should this go into 2.5?) > > Modified: python/branches/p3yk/Lib/xmlcore/dom/__init__.py > ============================================================================== > --- python/branches/p3yk/Lib/xmlcore/dom/__init__.py (original) > +++ python/branches/p3yk/Lib/xmlcore/dom/__init__.py Fri Mar 24 09:04:47 2006 > @@ -136,4 +136,4 @@ > EMPTY_NAMESPACE = None > EMPTY_PREFIX = None > > -from domreg import getDOMImplementation,registerDOMImplementation > +from .domreg import getDOMImplementation,registerDOMImplementation > _______________________________________________ > Python-3000-checkins mailing list > Python-3000-checkins at python.org > http://mail.python.org/mailman/listinfo/python-3000-checkins > -- --Guido van Rossum (home page: http://www.python.org/~guido/) From python-3000-checkins at python.org Thu Mar 30 18:19:25 2006 From: python-3000-checkins at python.org (guido.van.rossum) Date: Thu, 30 Mar 2006 18:19:25 +0200 (CEST) Subject: [Python-3000-checkins] r43459 - python/branches/p3yk/configure python/branches/p3yk/configure.in Message-ID: <20060330161925.507C41E4002@bag.python.org> Author: guido.van.rossum Date: Thu Mar 30 18:19:24 2006 New Revision: 43459 Modified: python/branches/p3yk/configure python/branches/p3yk/configure.in Log: Fix the version number to be 3.0. Modified: python/branches/p3yk/configure ============================================================================== --- python/branches/p3yk/configure (original) +++ python/branches/p3yk/configure Thu Mar 30 18:19:24 2006 @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.in Revision: 42437 . +# From configure.in Revision: 42563 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for python 2.5. +# Generated by GNU Autoconf 2.59 for python 3.0. # # Report bugs to . # @@ -270,8 +270,8 @@ # Identity of this package. PACKAGE_NAME='python' PACKAGE_TARNAME='python' -PACKAGE_VERSION='2.5' -PACKAGE_STRING='python 2.5' +PACKAGE_VERSION='3.0' +PACKAGE_STRING='python 3.0' PACKAGE_BUGREPORT='http://www.python.org/python-bugs' ac_unique_file="Include/object.h" @@ -781,7 +781,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures python 2.5 to adapt to many kinds of systems. +\`configure' configures python 3.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -838,7 +838,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of python 2.5:";; + short | recursive ) echo "Configuration of python 3.0:";; esac cat <<\_ACEOF @@ -986,7 +986,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -python configure 2.5 +python configure 3.0 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1000,7 +1000,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by python $as_me 2.5, which was +It was created by python $as_me 3.0, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1352,7 +1352,7 @@ mv confdefs.h.new confdefs.h -VERSION=2.5 +VERSION=3.0 SOVERSION=1.0 @@ -22193,7 +22193,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by python $as_me 2.5, which was +This file was extended by python $as_me 3.0, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22253,7 +22253,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -python config.status 2.5 +python config.status 3.0 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Modified: python/branches/p3yk/configure.in ============================================================================== --- python/branches/p3yk/configure.in (original) +++ python/branches/p3yk/configure.in Thu Mar 30 18:19:24 2006 @@ -1,7 +1,7 @@ dnl Process this file with autoconf 2.0 or later to make a configure script. # Set VERSION so we only need to edit in one place (i.e., here) -m4_define(PYTHON_VERSION, 2.5) +m4_define(PYTHON_VERSION, 3.0) AC_REVISION($Revision$) AC_PREREQ(2.59) From fdrake at acm.org Thu Mar 30 18:39:30 2006 From: fdrake at acm.org (Fred L. Drake, Jr.) Date: Thu, 30 Mar 2006 11:39:30 -0500 Subject: [Python-3000-checkins] r43459 - python/branches/p3yk/configure python/branches/p3yk/configure.in In-Reply-To: <20060330161925.507C41E4002@bag.python.org> References: <20060330161925.507C41E4002@bag.python.org> Message-ID: <200603301139.31000.fdrake@acm.org> On Thursday 30 March 2006 11:19, guido.van.rossum wrote: > Modified: > python/branches/p3yk/configure > python/branches/p3yk/configure.in Since this is Subversion, is there any real reason we can't "svn rename" the "p3yk" branch? -Fred -- Fred L. Drake, Jr. From guido at python.org Thu Mar 30 19:29:20 2006 From: guido at python.org (Guido van Rossum) Date: Thu, 30 Mar 2006 09:29:20 -0800 Subject: [Python-3000-checkins] r43459 - python/branches/p3yk/configure python/branches/p3yk/configure.in In-Reply-To: <200603301139.31000.fdrake@acm.org> References: <20060330161925.507C41E4002@bag.python.org> <200603301139.31000.fdrake@acm.org> Message-ID: I dunno, you tell me. On 3/30/06, Fred L. Drake, Jr. wrote: > On Thursday 30 March 2006 11:19, guido.van.rossum wrote: > > Modified: > > python/branches/p3yk/configure > > python/branches/p3yk/configure.in > > Since this is Subversion, is there any real reason we can't "svn rename" the > "p3yk" branch? > > > -Fred > > -- > Fred L. Drake, Jr. > _______________________________________________ > Python-3000-checkins mailing list > Python-3000-checkins at python.org > http://mail.python.org/mailman/listinfo/python-3000-checkins > -- --Guido van Rossum (home page: http://www.python.org/~guido/) From nas at arctrix.com Thu Mar 30 22:32:21 2006 From: nas at arctrix.com (Neil Schemenauer) Date: Thu, 30 Mar 2006 13:32:21 -0700 Subject: [Python-3000-checkins] r43459 - python/branches/p3yk/configure python/branches/p3yk/configure.in In-Reply-To: References: <20060330161925.507C41E4002@bag.python.org> <200603301139.31000.fdrake@acm.org> Message-ID: <20060330203221.GA27614@mems-exchange.org> On Thu, Mar 30, 2006 at 09:29:20AM -0800, Guido van Rossum wrote: > I dunno, you tell me. If Subversion still worked the way it used to, you might have trouble updating working copies that have local modifications. In my experience, things worked best when people did a clean checkout of the renamed directory. Neil From guido at python.org Thu Mar 30 22:40:31 2006 From: guido at python.org (Guido van Rossum) Date: Thu, 30 Mar 2006 12:40:31 -0800 Subject: [Python-3000-checkins] r43459 - python/branches/p3yk/configure python/branches/p3yk/configure.in In-Reply-To: <20060330203221.GA27614@mems-exchange.org> References: <20060330161925.507C41E4002@bag.python.org> <200603301139.31000.fdrake@acm.org> <20060330203221.GA27614@mems-exchange.org> Message-ID: I don't have any unchecked-in changes ATM. Go ahead and rename it if you care about the typo in the name... --Guido On 3/30/06, Neil Schemenauer wrote: > On Thu, Mar 30, 2006 at 09:29:20AM -0800, Guido van Rossum wrote: > > I dunno, you tell me. > > If Subversion still worked the way it used to, you might have > trouble updating working copies that have local modifications. In > my experience, things worked best when people did a clean checkout > of the renamed directory. > > Neil > -- --Guido van Rossum (home page: http://www.python.org/~guido/)