[Python-checkins] r59967 - in python/trunk: Lib/test/test_structseq.py Misc/ACKS Misc/NEWS Objects/structseq.c

raymond.hettinger python-checkins at python.org
Tue Jan 15 04:02:37 CET 2008


Author: raymond.hettinger
Date: Tue Jan 15 04:02:37 2008
New Revision: 59967
Modified:
 python/trunk/Lib/test/test_structseq.py
 python/trunk/Misc/ACKS
 python/trunk/Misc/NEWS
 python/trunk/Objects/structseq.c
Log:
Issue 1820: structseq objects did not work with the % formatting operator or isinstance(t, tuple).
Orignal patch (without tests) by Leif Walsh.
Modified: python/trunk/Lib/test/test_structseq.py
==============================================================================
--- python/trunk/Lib/test/test_structseq.py	(original)
+++ python/trunk/Lib/test/test_structseq.py	Tue Jan 15 04:02:37 2008
@@ -26,6 +26,12 @@
 for i in xrange(-len(t), len(t)-1):
 self.assertEqual(t[i], astuple[i])
 
+ def test_tuple_subclass(self):
+ # Issue 1820
+ t = time.localtime()
+ s = ('%s ' * len(t)) % t # This used to fail because t was not a tuple subclass
+ self.assert_(isinstance(t, tuple))
+
 def test_repr(self):
 t = time.gmtime()
 self.assert_(repr(t))
Modified: python/trunk/Misc/ACKS
==============================================================================
--- python/trunk/Misc/ACKS	(original)
+++ python/trunk/Misc/ACKS	Tue Jan 15 04:02:37 2008
@@ -686,6 +686,7 @@
 Charles Waldman
 Richard Walker
 Larry Wall
+Leif Walsh
 Greg Ward
 Barry Warsaw
 Steve Waterbury
Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS	(original)
+++ python/trunk/Misc/NEWS	Tue Jan 15 04:02:37 2008
@@ -975,6 +975,10 @@
 Extension Modules
 -----------------
 
+- Issue 1820: structseq objects did not subclass from tuple so they did
+ not pass isinstance(t, tuple) tests and they could not be passed to
+ the % string formatting operator as an input tuple.
+
 - _winreg's HKEY object has gained __enter__ and __exit__ methods to support
 the context manager protocol. The _winreg module also gained a new function
 ``ExpandEnvironmentStrings`` to expand REG_EXPAND_SZ keys.
Modified: python/trunk/Objects/structseq.c
==============================================================================
--- python/trunk/Objects/structseq.c	(original)
+++ python/trunk/Objects/structseq.c	Tue Jan 15 04:02:37 2008
@@ -460,7 +460,7 @@
 	structseq_methods, 		/* tp_methods */
 NULL,			 	/* tp_members */
 	0,			 	/* tp_getset */
-	0,					/* tp_base */
+	&PyTuple_Type,				/* tp_base */
 	0,					/* tp_dict */
 	0,					/* tp_descr_get */
 	0,					/* tp_descr_set */


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /