summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2010-09-10 21:57:59 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2010-09-10 21:57:59 (GMT)
commit5b519e02016ea3a51f784dee70eead3be4ab1aff (patch)
tree5886b329aef1b3d5fe965c78b97f82f99b93f6bf /Python
parent6246d6dcb01c690fd82e870e5c4affbd2848d22c (diff)
downloadcpython-5b519e02016ea3a51f784dee70eead3be4ab1aff.zip
cpython-5b519e02016ea3a51f784dee70eead3be4ab1aff.tar.gz
cpython-5b519e02016ea3a51f784dee70eead3be4ab1aff.tar.bz2
Issue #9632: Remove sys.setfilesystemencoding() function: use PYTHONFSENCODING
environment variable to set the filesystem encoding at Python startup. sys.setfilesystemencoding() creates inconsistencies because it is unable to reencode all filenames in all objects.
Diffstat (limited to 'Python')
-rw-r--r--Python/bltinmodule.c23
-rw-r--r--Python/sysmodule.c21
2 files changed, 0 insertions, 44 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 3bcb08e..60bceb7 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -33,29 +33,6 @@ const char *Py_FileSystemDefaultEncoding = "utf-8";
int Py_HasFileSystemDefaultEncoding = 1;
#endif
-int
-_Py_SetFileSystemEncoding(PyObject *s)
-{
- PyObject *defenc, *codec;
- if (!PyUnicode_Check(s)) {
- PyErr_BadInternalCall();
- return -1;
- }
- defenc = _PyUnicode_AsDefaultEncodedString(s, NULL);
- if (!defenc)
- return -1;
- codec = _PyCodec_Lookup(PyBytes_AsString(defenc));
- if (codec == NULL)
- return -1;
- Py_DECREF(codec);
- if (!Py_HasFileSystemDefaultEncoding && Py_FileSystemDefaultEncoding)
- /* A file system encoding was set at run-time */
- free((char*)Py_FileSystemDefaultEncoding);
- Py_FileSystemDefaultEncoding = strdup(PyBytes_AsString(defenc));
- Py_HasFileSystemDefaultEncoding = 0;
- return 0;
-}
-
static PyObject *
builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds)
{
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 90c165a..4e428f0 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -199,25 +199,6 @@ operating system filenames."
);
static PyObject *
-sys_setfilesystemencoding(PyObject *self, PyObject *args)
-{
- PyObject *new_encoding;
- if (!PyArg_ParseTuple(args, "U:setfilesystemencoding", &new_encoding))
- return NULL;
- if (_Py_SetFileSystemEncoding(new_encoding))
- return NULL;
- Py_INCREF(Py_None);
- return Py_None;
-}
-
-PyDoc_STRVAR(setfilesystemencoding_doc,
-"setfilesystemencoding(string) -> None\n\
-\n\
-Set the encoding used to convert Unicode filenames in\n\
-operating system filenames."
-);
-
-static PyObject *
sys_intern(PyObject *self, PyObject *args)
{
PyObject *s;
@@ -1012,8 +993,6 @@ static PyMethodDef sys_methods[] = {
#ifdef USE_MALLOPT
{"mdebug", sys_mdebug, METH_VARARGS},
#endif
- {"setfilesystemencoding", sys_setfilesystemencoding, METH_VARARGS,
- setfilesystemencoding_doc},
{"setcheckinterval", sys_setcheckinterval, METH_VARARGS,
setcheckinterval_doc},
{"getcheckinterval", sys_getcheckinterval, METH_NOARGS,