#2348: add py3k warning for file.softspace.
This commit is contained in:
parent
07e5681fd3
commit
65bb42dc1b
|
@ -108,6 +108,16 @@ class TestPy3KWarnings(unittest.TestCase):
|
|||
with catch_warning() as w:
|
||||
self.assertWarning(dir(c), w, expected)
|
||||
|
||||
def test_softspace(self):
|
||||
expected = 'file.softspace not supported in 3.x'
|
||||
with file(__file__) as f:
|
||||
with catch_warning() as w:
|
||||
self.assertWarning(f.softspace, w, expected)
|
||||
def set():
|
||||
f.softspace = 0
|
||||
with catch_warning() as w:
|
||||
self.assertWarning(set(), w, expected)
|
||||
|
||||
|
||||
def test_main():
|
||||
run_unittest(TestPy3KWarnings)
|
||||
|
|
|
@ -12,6 +12,8 @@ What's New in Python 2.6 alpha 2?
|
|||
Core and builtins
|
||||
-----------------
|
||||
|
||||
- Issue #2348: add Py3k warning for file.softspace.
|
||||
|
||||
- Issue #2346/#2347: add Py3k warnings for __methods__ and __members__.
|
||||
|
||||
- Issue #2358: Add a Py3k warning on sys.exc_clear() usage.
|
||||
|
|
|
@ -1783,8 +1783,6 @@ static PyMethodDef file_methods[] = {
|
|||
#define OFF(x) offsetof(PyFileObject, x)
|
||||
|
||||
static PyMemberDef file_memberlist[] = {
|
||||
{"softspace", T_INT, OFF(f_softspace), 0,
|
||||
"flag indicating that a space needs to be printed; used by print"},
|
||||
{"mode", T_OBJECT, OFF(f_mode), RO,
|
||||
"file mode ('r', 'U', 'w', 'a', possibly with 'b' or '+' added)"},
|
||||
{"name", T_OBJECT, OFF(f_name), RO,
|
||||
|
@ -1829,10 +1827,44 @@ get_newlines(PyFileObject *f, void *closure)
|
|||
}
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
get_softspace(PyFileObject *f, void *closure)
|
||||
{
|
||||
if (Py_Py3kWarningFlag &&
|
||||
PyErr_Warn(PyExc_DeprecationWarning,
|
||||
"file.softspace not supported in 3.x") < 0)
|
||||
return NULL;
|
||||
return PyInt_FromLong(f->f_softspace);
|
||||
}
|
||||
|
||||
static int
|
||||
set_softspace(PyFileObject *f, PyObject *value)
|
||||
{
|
||||
int new;
|
||||
if (Py_Py3kWarningFlag &&
|
||||
PyErr_Warn(PyExc_DeprecationWarning,
|
||||
"file.softspace not supported in 3.x") < 0)
|
||||
return -1;
|
||||
|
||||
if (value == NULL) {
|
||||
PyErr_SetString(PyExc_TypeError,
|
||||
"can't delete softspace attribute");
|
||||
return -1;
|
||||
}
|
||||
|
||||
new = PyInt_AsLong(value);
|
||||
if (new == -1 && PyErr_Occurred())
|
||||
return -1;
|
||||
f->f_softspace = new;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static PyGetSetDef file_getsetlist[] = {
|
||||
{"closed", (getter)get_closed, NULL, "True if the file is closed"},
|
||||
{"newlines", (getter)get_newlines, NULL,
|
||||
"end-of-line convention used in this file"},
|
||||
{"softspace", (getter)get_softspace, (setter)set_softspace,
|
||||
"flag indicating that a space needs to be printed; used by print"},
|
||||
{0},
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue