Commit [ee10d7] legacy-trunk Maximize Restore History

Unparenting BZ2File, as discussed in SF patch #661796.

* Modules/bz2module.c
(BZ2FileObject): Now the structure includes a pointer to a file object,
instead of "inheriting" one. Also, some members were copied from the
PyFileObject structure to avoid dealing with the internals of that
structure from outside fileobject.c.

(Util_GetLine,Util_DropReadAhead,Util_ReadAhead,Util_ReadAheadGetLineSkip,
BZ2File_write,BZ2File_writelines,BZ2File_init,BZ2File_dealloc,
BZ2Comp_dealloc,BZ2Decomp_dealloc):
These functions were adapted to the change above.

(BZ2File_seek,BZ2File_close): Use PyObject_CallMethod instead of
getting the function attribute locally.

(BZ2File_notsup): Removed, since it's not necessary anymore to overload
truncate(), and readinto() with dummy functions.

(BZ2File_methods): Added xreadlines() as an alias to BZ2File_getiter,
and removed truncate() and readinto().

(BZ2File_get_newlines,BZ2File_get_closed,BZ2File_get_mode,BZ2File_get_name,
BZ2File_getset):
Implemented getters for "newlines", "mode", and "name".

(BZ2File_members): Implemented "softspace" member.

(BZ2File_init): Reworked to create a file instance instead of initializing
itself as a file subclass. Also, pass "name" object untouched to the
file constructor, and use PyObject_CallFunction instead of building the
argument tuple locally.

(BZ2File_Type): Set tp_new to PyType_GenericNew, tp_members to
BZ2File_members, and tp_getset to BZ2File_getset.

(initbz2): Do not set BZ2File_Type.tp_base nor BZ2File_Type.tp_new.

* Doc/lib/libbz2.tex
Do not mention that BZ2File inherits from the file type.

Gustavo Niemeyer Gustavo Niemeyer 2003-02-11

changed Doc/lib/libbz2.tex
changed Modules/bz2module.c
Doc/lib/libbz2.tex Diff Switch to side-by-side view
Loading...
Modules/bz2module.c Diff Switch to side-by-side view
Loading...