From 96ca6916b43cda557934707cabce222ecfa87064 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 15 Jun 2007 03:49:03 +0000 Subject: Make sys.path and sys.argv into lists of strings. Remove the hack in test_popen.py to overcome this issue. --- Lib/test/test_popen.py | 2 +- Python/sysmodule.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Lib/test/test_popen.py b/Lib/test/test_popen.py index fba3f41..397e4a3 100644 --- a/Lib/test/test_popen.py +++ b/Lib/test/test_popen.py @@ -20,7 +20,7 @@ if ' ' in python: class PopenTest(unittest.TestCase): def _do_test_commandline(self, cmdline, expected): - cmd = '%s -c "import sys; print(list(map(str, sys.argv)))" %s' + cmd = '%s -c "import sys; print(sys.argv)" %s' cmd = cmd % (python, cmdline) data = os.popen(cmd).read() got = eval(data)[1:] # strip off argv[0] diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 71a455a..245d22a 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -1145,7 +1145,7 @@ makepathobject(char *path, int delim) p = strchr(path, delim); if (p == NULL) p = strchr(path, '\0'); /* End of string */ - w = PyString_FromStringAndSize(path, (Py_ssize_t) (p - path)); + w = PyUnicode_FromStringAndSize(path, (Py_ssize_t) (p - path)); if (w == NULL) { Py_DECREF(v); return NULL; @@ -1190,14 +1190,14 @@ makeargvobject(int argc, char **argv) if (i == 0) { char* fn = decc$translate_vms(argv[0]); if ((fn == (char *)0) || fn == (char *)-1) - v = PyString_FromString(argv[0]); + v = PyUnicode_FromString(argv[0]); else - v = PyString_FromString( + v = PyUnicode_FromString( decc$translate_vms(argv[0])); } else - v = PyString_FromString(argv[i]); + v = PyUnicode_FromString(argv[i]); #else - PyObject *v = PyString_FromString(argv[i]); + PyObject *v = PyUnicode_FromString(argv[i]); #endif if (v == NULL) { Py_DECREF(av); @@ -1301,7 +1301,7 @@ PySys_SetArgv(int argc, char **argv) #endif /* Unix */ } #endif /* All others */ - a = PyString_FromStringAndSize(argv0, n); + a = PyUnicode_FromStringAndSize(argv0, n); if (a == NULL) Py_FatalError("no mem for sys.path insertion"); if (PyList_Insert(path, 0, a) < 0) -- cgit v0.12