[Stackless-checkins] r55047 - in stackless/branches/release25-maint: Doc/commontex/boilerplate.tex Doc/lib/libcurses.tex Include/patchlevel.h Lib/idlelib/NEWS.txt Lib/idlelib/idlever.py Lib/test/test_dict.py Lib/test/test_pep352.py Misc/NEWS Objects/dictobject.c Objects/setobject.c Python/sysmodule.c Stackless/stackless.h

richard.tew python-checkins at python.org
Tue May 1 15:00:26 CEST 2007


Author: richard.tew
Date: Tue May  1 15:00:13 2007
New Revision: 55047

Modified:
   stackless/branches/release25-maint/Doc/commontex/boilerplate.tex
   stackless/branches/release25-maint/Doc/lib/libcurses.tex
   stackless/branches/release25-maint/Include/patchlevel.h
   stackless/branches/release25-maint/Lib/idlelib/NEWS.txt
   stackless/branches/release25-maint/Lib/idlelib/idlever.py
   stackless/branches/release25-maint/Lib/test/test_dict.py
   stackless/branches/release25-maint/Lib/test/test_pep352.py
   stackless/branches/release25-maint/Misc/NEWS
   stackless/branches/release25-maint/Objects/dictobject.c
   stackless/branches/release25-maint/Objects/setobject.c
   stackless/branches/release25-maint/Python/sysmodule.c
   stackless/branches/release25-maint/Stackless/stackless.h
Log:
Merged in up to r54863 from the python release25-maint branch.  Stackless Python 2.5.1

Modified: stackless/branches/release25-maint/Doc/commontex/boilerplate.tex
==============================================================================
--- stackless/branches/release25-maint/Doc/commontex/boilerplate.tex	(original)
+++ stackless/branches/release25-maint/Doc/commontex/boilerplate.tex	Tue May  1 15:00:13 2007
@@ -5,5 +5,5 @@
 	Email: \email{docs at python.org}
 }
 
-\date{5th April, 2007}			% XXX update before final release!
+\date{18th April, 2007}			% XXX update before final release!
 \input{patchlevel}		% include Python version information

Modified: stackless/branches/release25-maint/Doc/lib/libcurses.tex
==============================================================================
--- stackless/branches/release25-maint/Doc/lib/libcurses.tex	(original)
+++ stackless/branches/release25-maint/Doc/lib/libcurses.tex	Tue May  1 15:00:13 2007
@@ -1014,9 +1014,11 @@
 input at the end of that time.
 \end{methoddesc}
 
-\begin{methoddesc}[window]{touchline}{start, count}
+\begin{methoddesc}[window]{touchline}{start, count\optional{, changed}}
 Pretend \var{count} lines have been changed, starting with line
-\var{start}.
+\var{start}.  If \var{changed} is supplied, it specifies
+whether the affected lines are marked as 
+having been changed (\var{changed}=1) or unchanged (\var{changed}=0).
 \end{methoddesc}
 
 \begin{methoddesc}[window]{touchwin}{}

Modified: stackless/branches/release25-maint/Include/patchlevel.h
==============================================================================
--- stackless/branches/release25-maint/Include/patchlevel.h	(original)
+++ stackless/branches/release25-maint/Include/patchlevel.h	Tue May  1 15:00:13 2007
@@ -22,11 +22,11 @@
 #define PY_MAJOR_VERSION	2
 #define PY_MINOR_VERSION	5
 #define PY_MICRO_VERSION	1
-#define PY_RELEASE_LEVEL	PY_RELEASE_LEVEL_GAMMA
-#define PY_RELEASE_SERIAL	1
+#define PY_RELEASE_LEVEL	PY_RELEASE_LEVEL_FINAL
+#define PY_RELEASE_SERIAL	0
 
 /* Version as a string */
-#define PY_VERSION		"2.5.1c1"
+#define PY_VERSION		"2.5.1"
 
 /* Subversion Revision number of this file (not of the repository) */
 #define PY_PATCHLEVEL_REVISION  "$Revision$"

Modified: stackless/branches/release25-maint/Lib/idlelib/NEWS.txt
==============================================================================
--- stackless/branches/release25-maint/Lib/idlelib/NEWS.txt	(original)
+++ stackless/branches/release25-maint/Lib/idlelib/NEWS.txt	Tue May  1 15:00:13 2007
@@ -1,3 +1,8 @@
+What's New in IDLE 1.2.1?
+=========================
+
+*Release date: 18-APR-2007*
+
 What's New in IDLE 1.2.1c1?
 ===========================
 

Modified: stackless/branches/release25-maint/Lib/idlelib/idlever.py
==============================================================================
--- stackless/branches/release25-maint/Lib/idlelib/idlever.py	(original)
+++ stackless/branches/release25-maint/Lib/idlelib/idlever.py	Tue May  1 15:00:13 2007
@@ -1 +1 @@
-IDLE_VERSION = "1.2.1c1"
+IDLE_VERSION = "1.2.1"

Modified: stackless/branches/release25-maint/Lib/test/test_dict.py
==============================================================================
--- stackless/branches/release25-maint/Lib/test/test_dict.py	(original)
+++ stackless/branches/release25-maint/Lib/test/test_dict.py	Tue May  1 15:00:13 2007
@@ -189,14 +189,6 @@
 
         self.assertRaises(ValueError, {}.update, [(1, 2, 3)])
 
-        # SF #1615701:  make d.update(m) honor __getitem__() and keys() in dict subclasses
-        class KeyUpperDict(dict):
-            def __getitem__(self, key):
-                return key.upper()
-        d.clear()
-        d.update(KeyUpperDict.fromkeys('abc'))
-        self.assertEqual(d, {'a':'A', 'b':'B', 'c':'C'})
-
     def test_fromkeys(self):
         self.assertEqual(dict.fromkeys('abc'), {'a':None, 'b':None, 'c':None})
         d = {}

Modified: stackless/branches/release25-maint/Lib/test/test_pep352.py
==============================================================================
--- stackless/branches/release25-maint/Lib/test/test_pep352.py	(original)
+++ stackless/branches/release25-maint/Lib/test/test_pep352.py	Tue May  1 15:00:13 2007
@@ -19,6 +19,13 @@
             self.failUnless(hasattr(ins, attr), "%s missing %s attribute" %
                     (ins.__class__.__name__, attr))
 
+    def stackless_enabled(self):
+        try:
+            import stackless
+            return True
+        except:
+            return False
+
     def test_inheritance(self):
         # Make sure the inheritance hierarchy matches the documentation
         exc_set = set(x for x in dir(exceptions) if not x.startswith('_'))
@@ -51,7 +58,9 @@
                 try:
                     exc = getattr(__builtin__, exc_name)
                 except AttributeError:
-                    self.fail("%s not a built-in exception" % exc_name)
+                    # This exception is only compiled into Stackless.
+                    if self.stackless_enabled() or exc_name != "TaskletExit":
+                        self.fail("%s not a built-in exception" % exc_name)
                 if last_depth < depth:
                     superclasses.append((last_depth, last_exc))
                 elif last_depth > depth:
@@ -64,7 +73,9 @@
                     self.verify_instance_interface(exc())
                 except TypeError:
                     pass
-                self.failUnless(exc_name in exc_set)
+                # This exception is only compiled into Stackless.
+                if self.stackless_enabled() or exc_name != "TaskletExit":
+                    self.failUnless(exc_name in exc_set)
                 exc_set.discard(exc_name)
                 last_exc = exc
                 last_depth = depth

Modified: stackless/branches/release25-maint/Misc/NEWS
==============================================================================
--- stackless/branches/release25-maint/Misc/NEWS	(original)
+++ stackless/branches/release25-maint/Misc/NEWS	Tue May  1 15:00:13 2007
@@ -4,6 +4,19 @@
 
 (editors: check NEWS.help for information about editing NEWS using ReST.)
 
+What's New in Python 2.5.1?
+=============================
+
+*Release date: 18-APR-2007*
+
+Core and builtins
+-----------------
+
+- Revert SF #1615701: dict.update() does *not* call __getitem__() or keys()
+  if subclassed.  This is to remain consistent with 2.5.
+  Also revert revision 53667 with made a similar change to set.update().
+
+
 What's New in Python 2.5.1c1?
 =============================
 

Modified: stackless/branches/release25-maint/Objects/dictobject.c
==============================================================================
--- stackless/branches/release25-maint/Objects/dictobject.c	(original)
+++ stackless/branches/release25-maint/Objects/dictobject.c	Tue May  1 15:00:13 2007
@@ -1352,7 +1352,7 @@
 		return -1;
 	}
 	mp = (dictobject*)a;
-	if (PyDict_CheckExact(b)) {
+	if (PyDict_Check(b)) {
 		other = (dictobject*)b;
 		if (other == mp || other->ma_used == 0)
 			/* a.update(a) or a.update({}); nothing to do */

Modified: stackless/branches/release25-maint/Objects/setobject.c
==============================================================================
--- stackless/branches/release25-maint/Objects/setobject.c	(original)
+++ stackless/branches/release25-maint/Objects/setobject.c	Tue May  1 15:00:13 2007
@@ -916,7 +916,7 @@
 {
 	PyObject *key, *it;
 
-	if (PyAnySet_CheckExact(other))
+	if (PyAnySet_Check(other))
 		return set_merge(so, other);
 
 	if (PyDict_CheckExact(other)) {
@@ -1211,7 +1211,7 @@
 	if (result == NULL)
 		return NULL;
 
-	if (PyAnySet_CheckExact(other)) {		
+	if (PyAnySet_Check(other)) {		
 		Py_ssize_t pos = 0;
 		setentry *entry;
 
@@ -1335,7 +1335,7 @@
 	if ((PyObject *)so == other)
 		return set_clear_internal(so);
 	
-	if (PyAnySet_CheckExact(other)) {
+	if (PyAnySet_Check(other)) {
 		setentry *entry;
 		Py_ssize_t pos = 0;
 
@@ -1384,7 +1384,7 @@
 	setentry *entry;
 	Py_ssize_t pos = 0;
 
-	if (!PyAnySet_CheckExact(other)  && !PyDict_CheckExact(other)) {
+	if (!PyAnySet_Check(other)  && !PyDict_CheckExact(other)) {
 		result = set_copy(so);
 		if (result == NULL)
 			return NULL;
@@ -1491,7 +1491,7 @@
 		Py_RETURN_NONE;
 	}
 
-	if (PyAnySet_CheckExact(other)) {
+	if (PyAnySet_Check(other)) {
 		Py_INCREF(other);
 		otherset = (PySetObject *)other;
 	} else {
@@ -1574,7 +1574,7 @@
 	setentry *entry;
 	Py_ssize_t pos = 0;
 
-	if (!PyAnySet_CheckExact(other)) {
+	if (!PyAnySet_Check(other)) {
 		PyObject *tmp, *result;
 		tmp = make_new_set(&PySet_Type, other);
 		if (tmp == NULL)
@@ -1603,7 +1603,7 @@
 {
 	PyObject *tmp, *result;
 
-	if (!PyAnySet_CheckExact(other)) {
+	if (!PyAnySet_Check(other)) {
 		tmp = make_new_set(&PySet_Type, other);
 		if (tmp == NULL)
 			return NULL;

Modified: stackless/branches/release25-maint/Python/sysmodule.c
==============================================================================
--- stackless/branches/release25-maint/Python/sysmodule.c	(original)
+++ stackless/branches/release25-maint/Python/sysmodule.c	Tue May  1 15:00:13 2007
@@ -1005,8 +1005,6 @@
 	}
 	else if (istag || strncmp(br_start, "branches", 8) == 0) {
 		len = br_end2 - br_start;
-		assert(len >= 13);
-		assert(len < (sizeof(patchlevel_revision) - 13));
 		strncpy(branch, br_start, len);
 		branch[len] = '\0';
 

Modified: stackless/branches/release25-maint/Stackless/stackless.h
==============================================================================
--- stackless/branches/release25-maint/Stackless/stackless.h	(original)
+++ stackless/branches/release25-maint/Stackless/stackless.h	Tue May  1 15:00:13 2007
@@ -34,7 +34,7 @@
  * ...and then write your support code and mention it in the
  * common slp_platformselect.h file.
  */
-#define STACKLESS
+#define STACKLESS_OFF
 
 #ifdef STACKLESS_OFF
 #undef STACKLESS

_______________________________________________
Stackless-checkins mailing list
Stackless-checkins at stackless.com
http://www.stackless.com/mailman/listinfo/stackless-checkins



More information about the Stackless-checkins mailing list