mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
Kill off softspace completely (except in formatter.py which seems to have
a different feature with the same name). The change to test_doctest.txt reduces the doctest failures to 3.
This commit is contained in:
parent
bdc36e4d9e
commit
79139b247b
19 changed files with 10 additions and 163 deletions
|
@ -118,7 +118,6 @@ fill_file_fields(PyFileObject *f, FILE *fp, PyObject *name, char *mode,
|
|||
f->f_mode = PyString_FromString(mode);
|
||||
|
||||
f->f_close = close;
|
||||
f->f_softspace = 0;
|
||||
f->f_binary = strchr(mode,'b') != NULL;
|
||||
f->f_buf = NULL;
|
||||
f->f_univ_newline = (strchr(mode, 'U') != NULL);
|
||||
|
@ -1523,7 +1522,6 @@ file_write(PyFileObject *f, PyObject *args)
|
|||
return err_closed();
|
||||
if (!PyArg_ParseTuple(args, f->f_binary ? "s#" : "t#", &s, &n))
|
||||
return NULL;
|
||||
f->f_softspace = 0;
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
errno = 0;
|
||||
n2 = fwrite(s, 1, n, f->f_fp);
|
||||
|
@ -1626,7 +1624,6 @@ file_writelines(PyFileObject *f, PyObject *seq)
|
|||
/* Since we are releasing the global lock, the
|
||||
following code may *not* execute Python code. */
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
f->f_softspace = 0;
|
||||
errno = 0;
|
||||
for (i = 0; i < j; i++) {
|
||||
line = PyList_GET_ITEM(list, i);
|
||||
|
@ -1786,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,
|
||||
|
@ -2094,8 +2089,7 @@ PyTypeObject PyFile_Type = {
|
|||
0, /* tp_call */
|
||||
0, /* tp_str */
|
||||
PyObject_GenericGetAttr, /* tp_getattro */
|
||||
/* softspace is writable: we must supply tp_setattro */
|
||||
PyObject_GenericSetAttr, /* tp_setattro */
|
||||
0, /* tp_setattro */
|
||||
0, /* tp_as_buffer */
|
||||
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
|
||||
file_doc, /* tp_doc */
|
||||
|
@ -2119,42 +2113,6 @@ PyTypeObject PyFile_Type = {
|
|||
PyObject_Del, /* tp_free */
|
||||
};
|
||||
|
||||
/* Interface for the 'soft space' between print items. */
|
||||
|
||||
int
|
||||
PyFile_SoftSpace(PyObject *f, int newflag)
|
||||
{
|
||||
long oldflag = 0;
|
||||
if (f == NULL) {
|
||||
/* Do nothing */
|
||||
}
|
||||
else if (PyFile_Check(f)) {
|
||||
oldflag = ((PyFileObject *)f)->f_softspace;
|
||||
((PyFileObject *)f)->f_softspace = newflag;
|
||||
}
|
||||
else {
|
||||
PyObject *v;
|
||||
v = PyObject_GetAttrString(f, "softspace");
|
||||
if (v == NULL)
|
||||
PyErr_Clear();
|
||||
else {
|
||||
if (PyInt_CheckExact(v))
|
||||
oldflag = PyInt_AsLong(v);
|
||||
assert(oldflag < INT_MAX);
|
||||
Py_DECREF(v);
|
||||
}
|
||||
v = PyInt_FromLong((long)newflag);
|
||||
if (v == NULL)
|
||||
PyErr_Clear();
|
||||
else {
|
||||
if (PyObject_SetAttrString(f, "softspace", v) != 0)
|
||||
PyErr_Clear();
|
||||
Py_DECREF(v);
|
||||
}
|
||||
}
|
||||
return (int)oldflag;
|
||||
}
|
||||
|
||||
/* Interfaces to write objects/strings to file-like objects */
|
||||
|
||||
int
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue