summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-03-25 07:56:27 (GMT)
committerGeorg Brandl <georg@python.org>2008-03-25 07:56:27 (GMT)
commit80055f6295dd48274ae68d13806c7ee3c5b5882f (patch)
treef3f85b8ad80c573bc28b38c666603d61031c47d3
parentaef3e529e2c2fc12a91bb126d39b039ab7e402f9 (diff)
downloadcpython-80055f6295dd48274ae68d13806c7ee3c5b5882f.zip
cpython-80055f6295dd48274ae68d13806c7ee3c5b5882f.tar.gz
cpython-80055f6295dd48274ae68d13806c7ee3c5b5882f.tar.bz2
#2355: py3k warning for buffer().
-rw-r--r--Lib/test/test_py3kwarn.py5
-rw-r--r--Misc/NEWS4
-rw-r--r--Objects/bufferobject.c5
3 files changed, 13 insertions, 1 deletions
diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py
index 07bcdf9..41ad25b 100644
--- a/Lib/test/test_py3kwarn.py
+++ b/Lib/test/test_py3kwarn.py
@@ -118,6 +118,11 @@ class TestPy3KWarnings(unittest.TestCase):
with catch_warning() as w:
self.assertWarning(set(), w, expected)
+ def test_buffer(self):
+ expected = 'buffer will be removed in 3.x'
+ with catch_warning() as w:
+ self.assertWarning(buffer('a'), w, expected)
+
def test_main():
run_unittest(TestPy3KWarnings)
diff --git a/Misc/NEWS b/Misc/NEWS
index 3c42bce..881cc83 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -11,7 +11,9 @@ What's New in Python 2.6 alpha 2?
Core and builtins
-----------------
-
+
+- Issue #2355: add Py3k warning for buffer().
+
- Issue #1477: With narrow Unicode builds, the unicode escape sequence
\Uxxxxxxxx did not accept values outside the Basic Multilingual Plane. This
affected raw unicode literals and the 'raw-unicode-escape' codec. Now
diff --git a/Objects/bufferobject.c b/Objects/bufferobject.c
index e01938c..0a818d6 100644
--- a/Objects/bufferobject.c
+++ b/Objects/bufferobject.c
@@ -229,6 +229,11 @@ PyBuffer_New(Py_ssize_t size)
static PyObject *
buffer_new(PyTypeObject *type, PyObject *args, PyObject *kw)
{
+ if (Py_Py3kWarningFlag &&
+ PyErr_WarnEx(PyExc_DeprecationWarning,
+ "buffer will be removed in 3.x", 1) < 0)
+ return NULL;
+
PyObject *ob;
Py_ssize_t offset = 0;
Py_ssize_t size = Py_END_OF_BUFFER;