From 0312494665ba9a6492956183c181e1b87e10820d Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Tue, 10 Jun 2008 15:50:56 +0000 Subject: [PATCH] Remove last traces of cStringIO. --- Doc/library/csv.rst | 4 +- Doc/library/email.message.rst | 2 +- Doc/library/pickle.rst | 2 +- Include/cStringIO.h | 70 ----------------------------------- Lib/test/test_sys.py | 2 +- Modules/Setup.dist | 3 -- PC/VS8.0/pythoncore.vcproj | 4 -- PC/os2emx/config.c | 2 - PC/os2emx/python26.def | 3 -- PC/os2vacpp/config.c | 2 - PC/os2vacpp/makefile | 17 +-------- PC/os2vacpp/makefile.omk | 11 +----- PCbuild/pythoncore.vcproj | 4 -- 13 files changed, 7 insertions(+), 119 deletions(-) delete mode 100644 Include/cStringIO.h diff --git a/Doc/library/csv.rst b/Doc/library/csv.rst index 6beadc5791c..9043dbc4538 100644 --- a/Doc/library/csv.rst +++ b/Doc/library/csv.rst @@ -484,7 +484,7 @@ For all other encodings the following :class:`UnicodeReader` and parameter in their constructor and make sure that the data passes the real reader or writer encoded as UTF-8:: - import csv, codecs, cStringIO + import csv, codecs, io class UTF8Recoder: """ @@ -524,7 +524,7 @@ reader or writer encoded as UTF-8:: def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds): # Redirect output to a queue - self.queue = cStringIO.StringIO() + self.queue = io.StringIO() self.writer = csv.writer(self.queue, dialect=dialect, **kwds) self.stream = f self.encoder = codecs.getincrementalencoder(encoding)() diff --git a/Doc/library/email.message.rst b/Doc/library/email.message.rst index 5344b454c38..f51230c3733 100644 --- a/Doc/library/email.message.rst +++ b/Doc/library/email.message.rst @@ -48,7 +48,7 @@ Here are the methods of the :class:`Message` class: :class:`Generator` instance and use its :meth:`flatten` method directly. For example:: - from cStringIO import StringIO + from io import StringIO from email.generator import Generator fp = StringIO() g = Generator(fp, mangle_from_=False, maxheaderlen=60) diff --git a/Doc/library/pickle.rst b/Doc/library/pickle.rst index 21945238d6a..76248ac66be 100644 --- a/Doc/library/pickle.rst +++ b/Doc/library/pickle.rst @@ -555,7 +555,7 @@ the referenced object. Here's a silly example that *might* shed more light:: import pickle - from cStringIO import StringIO + from io import StringIO src = StringIO() p = pickle.Pickler(src) diff --git a/Include/cStringIO.h b/Include/cStringIO.h deleted file mode 100644 index d22b9ebb30d..00000000000 --- a/Include/cStringIO.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef Py_CSTRINGIO_H -#define Py_CSTRINGIO_H -#ifdef __cplusplus -extern "C" { -#endif -/* - - This header provides access to cStringIO objects from C. - Functions are provided for calling cStringIO objects and - macros are provided for testing whether you have cStringIO - objects. - - Before calling any of the functions or macros, you must initialize - the routines with: - - PycString_IMPORT - - This would typically be done in your init function. - -*/ -#define PycString_IMPORT \ - PycStringIO = (struct PycStringIO_CAPI*)PyCObject_Import("cStringIO", \ - "cStringIO_CAPI") - -/* Basic functions to manipulate cStringIO objects from C */ - -static struct PycStringIO_CAPI { - - /* Read a string from an input object. If the last argument - is -1, the remainder will be read. - */ - int(*cread)(PyObject *, char **, Py_ssize_t); - - /* Read a line from an input object. Returns the length of the read - line as an int and a pointer inside the object buffer as char** (so - the caller doesn't have to provide its own buffer as destination). - */ - int(*creadline)(PyObject *, char **); - - /* Write a string to an output object*/ - int(*cwrite)(PyObject *, const char *, Py_ssize_t); - - /* Get the output object as a Python string (returns new reference). */ - PyObject *(*cgetvalue)(PyObject *); - - /* Create a new output object */ - PyObject *(*NewOutput)(int); - - /* Create an input object from a Python string - (copies the Python string reference). - */ - PyObject *(*NewInput)(PyObject *); - - /* The Python types for cStringIO input and output objects. - Note that you can do input on an output object. - */ - PyTypeObject *InputType, *OutputType; - -} *PycStringIO; - -/* These can be used to test if you have one */ -#define PycStringIO_InputCheck(O) \ - (Py_TYPE(O)==PycStringIO->InputType) -#define PycStringIO_OutputCheck(O) \ - (Py_TYPE(O)==PycStringIO->OutputType) - -#ifdef __cplusplus -} -#endif -#endif /* !Py_CSTRINGIO_H */ diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index 14f55fbbd1d..e9570e90265 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -297,7 +297,7 @@ class SysModuleTest(unittest.TestCase): self.assert_(isinstance(vi[4], int)) def test_43581(self): - # Can't use sys.stdout, as this is a cStringIO object when + # Can't use sys.stdout, as this is a StringIO object when # the test runs under regrtest. self.assertEqual(sys.__stdout__.encoding, sys.__stderr__.encoding) diff --git a/Modules/Setup.dist b/Modules/Setup.dist index 88c85b517bd..a790556aa05 100644 --- a/Modules/Setup.dist +++ b/Modules/Setup.dist @@ -339,9 +339,6 @@ _symtable symtablemodule.c # Fred Drake's interface to the Python parser #parser parsermodule.c -# cStringIO -#cStringIO cStringIO.c - # Lee Busby's SIGFPE modules. # The library to link fpectl with is platform specific. diff --git a/PC/VS8.0/pythoncore.vcproj b/PC/VS8.0/pythoncore.vcproj index 2d34d12485c..b8c0ffe9ee3 100644 --- a/PC/VS8.0/pythoncore.vcproj +++ b/PC/VS8.0/pythoncore.vcproj @@ -690,10 +690,6 @@ RelativePath="..\..\Include\complexobject.h" > - - diff --git a/PC/os2emx/config.c b/PC/os2emx/config.c index 93fbeccd99b..88ece9da6d1 100644 --- a/PC/os2emx/config.c +++ b/PC/os2emx/config.c @@ -50,7 +50,6 @@ extern void init_symtable(); extern void init_weakref(); extern void initarray(); extern void initbinascii(); -extern void initcStringIO(); extern void initcollections(); extern void initcmath(); extern void initdatetime(); @@ -110,7 +109,6 @@ struct _inittab _PyImport_Inittab[] = { {"_weakref", init_weakref}, {"array", initarray}, {"binascii", initbinascii}, - {"cStringIO", initcStringIO}, {"collections", initcollections}, {"cmath", initcmath}, {"datetime", initdatetime}, diff --git a/PC/os2emx/python26.def b/PC/os2emx/python26.def index 3cdb44a1b7d..46c548e8688 100644 --- a/PC/os2emx/python26.def +++ b/PC/os2emx/python26.def @@ -1218,9 +1218,6 @@ EXPORTS ; "initcPickle" ; "fast_save_leave" -; From python26_s.lib(cStringIO) -; "initcStringIO" - ; From python26_s.lib(_csv) ; "init_csv" diff --git a/PC/os2vacpp/config.c b/PC/os2vacpp/config.c index aba6e790981..bbdf6f3cd8e 100644 --- a/PC/os2vacpp/config.c +++ b/PC/os2vacpp/config.c @@ -34,7 +34,6 @@ extern void init_socket(void); extern void initstruct(void); extern void inittime(void); extern void init_thread(void); -extern void initcStringIO(void); extern void initpcre(void); #ifdef WIN32 extern void initmsvcrt(void); @@ -78,7 +77,6 @@ struct _inittab _PyImport_Inittab[] = { #ifdef WITH_THREAD {"_thread", init_thread}, #endif - {"cStringIO", initcStringIO}, {"pcre", initpcre}, #ifdef WIN32 {"msvcrt", initmsvcrt}, diff --git a/PC/os2vacpp/makefile b/PC/os2vacpp/makefile index 55bb7838e47..d47ff1f75a9 100644 --- a/PC/os2vacpp/makefile +++ b/PC/os2vacpp/makefile @@ -180,7 +180,6 @@ MODULES = \ $(PATHOBJ)\ArrayModule.obj \ $(PATHOBJ)\BinAscii.obj \ $(PATHOBJ)\CMathModule.obj \ - $(PATHOBJ)\cStringIO.obj \ $(PATHOBJ)\ErrnoModule.obj \ $(PATHOBJ)\GCModule.obj \ $(PATHOBJ)\GetBuildInfo.obj \ @@ -440,7 +439,7 @@ cmathmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ cpickle.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\cstringio.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ + $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ @@ -466,20 +465,6 @@ cryptmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ $(PY_INCLUDE)\tupleobject.h -cstringio.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \ - $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \ - $(PY_INCLUDE)\cstringio.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ - $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \ - $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \ - $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \ - $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \ - $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \ - $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \ - $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \ - $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \ - $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \ - $(PY_INCLUDE)\tupleobject.h - cursesmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \ $(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \ pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \ diff --git a/PC/os2vacpp/makefile.omk b/PC/os2vacpp/makefile.omk index 7083c789d68..4f7f478f4b6 100644 --- a/PC/os2vacpp/makefile.omk +++ b/PC/os2vacpp/makefile.omk @@ -142,7 +142,6 @@ MODULES = \ ArrayModule.obj \ BinAscii.obj \ CMathModule.obj \ - cStringIO.obj \ ErrnoModule.obj \ GetBuildInfo.obj \ GetPathP.obj \ @@ -379,7 +378,7 @@ cmathmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ stringobject.h sysmodule.h traceback.h tupleobject.h cpickle.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h cstringio.h dictobject.h fileobject.h floatobject.h \ + pyconfig.h dictobject.h fileobject.h floatobject.h \ funcobject.h import.h intobject.h intrcheck.h listobject.h \ longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ mymath.h myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ @@ -394,14 +393,6 @@ cryptmodule.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \ traceback.h tupleobject.h -cstringio.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \ - pyconfig.h cstringio.h dictobject.h fileobject.h floatobject.h \ - funcobject.h import.h intobject.h intrcheck.h listobject.h \ - longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \ - myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \ - pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \ - stringobject.h sysmodule.h traceback.h tupleobject.h - cursesmodule.obj: abstract.h ceval.h classobject.h cobject.h \ complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \ funcobject.h import.h intobject.h intrcheck.h listobject.h \ diff --git a/PCbuild/pythoncore.vcproj b/PCbuild/pythoncore.vcproj index d8771159d0e..ca33a974326 100644 --- a/PCbuild/pythoncore.vcproj +++ b/PCbuild/pythoncore.vcproj @@ -694,10 +694,6 @@ RelativePath="..\Include\complexobject.h" > - -