[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