diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 0c440d6b6e2..6f2961a00d5 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -510,7 +510,7 @@ field names, the method and attribute names start with an underscore.
Point(x=33, y=22)
>>> for partnum, record in inventory.items():
- inventory[partnum] = record._replace(price=newprices[partnum], timestamp=time.now())
+ ... inventory[partnum] = record._replace(price=newprices[partnum], timestamp=time.now())
.. attribute:: somenamedtuple._fields
@@ -525,7 +525,7 @@ field names, the method and attribute names start with an underscore.
>>> Color = namedtuple('Color', 'red green blue')
>>> Pixel = namedtuple('Pixel', Point._fields + Color._fields)
>>> Pixel(11, 22, 128, 255, 0)
- Pixel(x=11, y=22, red=128, green=255, blue=0)'
+ Pixel(x=11, y=22, red=128, green=255, blue=0)
To retrieve a field whose name is stored in a string, use the :func:`getattr`
function::
@@ -544,14 +544,14 @@ functionality with a subclass. Here is how to add a calculated field and
a fixed-width print format::
>>> class Point(namedtuple('Point', 'x y')):
- @property
- def hypot(self):
- return (self.x ** 2 + self.y ** 2) ** 0.5
- def __str__(self):
- return 'Point: x=%6.3f y=%6.3f hypot=%6.3f' % (self.x, self.y, self.hypot)
+ ... @property
+ ... def hypot(self):
+ ... return (self.x ** 2 + self.y ** 2) ** 0.5
+ ... def __str__(self):
+ ... return 'Point: x=%6.3f y=%6.3f hypot=%6.3f' % (self.x, self.y, self.hypot)
>>> for p in Point(3,4), Point(14,5), Point(9./7,6):
- print p
+ ... print p
Point: x= 3.000 y= 4.000 hypot= 5.000
Point: x=14.000 y= 5.000 hypot=14.866
@@ -560,7 +560,7 @@ a fixed-width print format::
Another use for subclassing is to replace performance critcal methods with
faster versions that bypass error-checking and that localize variable access::
- >>> class Point(namedtuple('Point', 'x y')):
+ class Point(namedtuple('Point', 'x y')):
_make = classmethod(tuple.__new__)
def _replace(self, _map=map, **kwds):
return self._make(_map(kwds.get, ('x', 'y'), self))
diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py
index 760713e69cf..d8f2d51b206 100644
--- a/Lib/test/test_import.py
+++ b/Lib/test/test_import.py
@@ -221,6 +221,16 @@ class ImportTest(unittest.TestCase):
del sys.modules[TESTFN]
+ def test_importbyfilename(self):
+ path = os.path.abspath(TESTFN)
+ try:
+ __import__(path)
+ except ImportError as err:
+ self.assertEqual("Import by filename is not supported.",
+ err.args[0])
+ else:
+ self.fail("import by path didn't raise an exception")
+
class PathsTests(unittest.TestCase):
SAMPLES = ('test', 'test\u00e4\u00f6\u00fc\u00df', 'test\u00e9\u00e8',
'test\u00b0\u00b3\u00b2')
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index 57f9058ce82..a4536e47dc7 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -677,25 +677,30 @@ PyCursesWindow_ChgAt(PyCursesWindowObject *self, PyObject *args)
int num = -1;
short color;
attr_t attr = A_NORMAL;
+ long lattr;
int use_xy = FALSE;
switch (PyTuple_Size(args)) {
case 1:
- if (!PyArg_ParseTuple(args,"l;attr", &attr))
+ if (!PyArg_ParseTuple(args,"l;attr", &lattr))
return NULL;
+ attr = lattr;
break;
case 2:
- if (!PyArg_ParseTuple(args,"il;n,attr", &num, &attr))
+ if (!PyArg_ParseTuple(args,"il;n,attr", &num, &lattr))
return NULL;
+ attr = lattr;
break;
case 3:
- if (!PyArg_ParseTuple(args,"iil;int,int,attr", &y, &x, &attr))
+ if (!PyArg_ParseTuple(args,"iil;int,int,attr", &y, &x, &lattr))
return NULL;
+ attr = lattr;
use_xy = TRUE;
break;
case 4:
- if (!PyArg_ParseTuple(args,"iiil;int,int,n,attr", &y, &x, &num, &attr))
+ if (!PyArg_ParseTuple(args,"iiil;int,int,n,attr", &y, &x, &num, &lattr))
return NULL;
+ attr = lattr;
use_xy = TRUE;
break;
default:
diff --git a/PC/VS8.0/_ctypes.vcproj b/PC/VS8.0/_ctypes.vcproj
index bb68ad9ba1c..931d5fc0880 100644
--- a/PC/VS8.0/_ctypes.vcproj
+++ b/PC/VS8.0/_ctypes.vcproj
@@ -643,6 +643,7 @@