summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Addressing SF bug #643005, implement socket.inet_aton() usingGuido van Rossum2003-02-121-1/+17
| | | | | | | | | inet_aton() rather than inet_addr() -- the latter is obsolete because it has a problem: "255.255.255.255" is a valid address but indistinguishable from an error. (I'm not sure if inet_aton() exists everywhere -- in case it doesn't, I've left the old code in with an #ifdef.)
* Minor cleanup of new batch-list/dict code.Tim Peters2003-02-121-16/+12
|
* Add more missing PyErr_NoMemory() after failled memory allocsNeal Norwitz2003-02-112-3/+3
|
* Implemented batching for dicts in cPickle. This is after two failedTim Peters2003-02-111-30/+119
| | | | | attempts to merge the C list-batch and dict-batch code -- they worked, but it was a godawful mess to read.
* Add Str, a subclass of str.Guido van Rossum2003-02-111-0/+58
|
* Implemented list batching in cPickle.Tim Peters2003-02-111-30/+103
|
* Unparenting BZ2File, as discussed in SF patch #661796.Gustavo Niemeyer2003-02-111-102/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* SF bug 684667: Modules/selectmodule.c returns NULL without exception set.Tim Peters2003-02-111-1/+1
| | | | | select_select() didn't set an exception in the SELECT_USES_HEAP case when malloc() returned NULL.
* Patch #676839: Cygwin _iconv_codec module patchJason Tishler2003-02-101-1/+2
| | | | | The attached patch enables the _iconv_codec module to build cleanly under Cygwin.
* Patch #676837: Cygwin array module patchJason Tishler2003-02-101-1/+2
| | | | | The attached patch enables the array module to build cleanly under Cygwin again.
* Fix memory leak of newstr when putenv() failsNeal Norwitz2003-02-101-0/+1
|
* Remove duplicate code introduced by fixing bug #678518Neal Norwitz2003-02-101-3/+0
|
* Remove unused variable.Guido van Rossum2003-02-092-2/+1
|
* C Code:Raymond Hettinger2003-02-091-124/+248
| | | | | | | | | | | | | | | * Removed the ifilter flag wart by splitting it into two simpler functions. * Fixed comment tabbing in C code. * Factored module start-up code into a loop. Documentation: * Re-wrote introduction. * Addede examples for quantifiers. * Simplified python equivalent for islice(). * Documented split of ifilter(). Sets.py: * Replace old ifilter() usage with new.
* Apply logistix's patch fromMichael W. Hudson2003-02-081-3/+43
| | | | [ 678518 ] Another parsermodule validation error
* timedelta comparison and datetime addition: as the Python implementationTim Peters2003-02-081-4/+4
| | | | of datetime does, accept instances of subclasses too.
* Comparison for timedelta, time, date and datetime objects: __eq__ andTim Peters2003-02-071-38/+52
| | | | | | | | | | | | | | | | | __ne__ no longer complain if they don't know how to compare to the other thing. If no meaningful way to compare is known, saying "not equal" is sensible. This allows things like if adatetime in some_sequence: and somedict[adatetime] = whatever to work as expected even if some_sequence contains non-datetime objects, or somedict non-datetime keys, because they only call __eq__. It still complains (raises TypeError) for mixed-type comparisons in contexts that require a total ordering, such as list.sort(), use as a key in a BTree-based data structure, and cmp().
* SF patch #682514, mmapmodule.c write fix for LP64 executablesNeal Norwitz2003-02-071-1/+1
| | | | | | | Make length an int so we get the right value from PyArg_ParseTuple(args, "s#", &str, &length) Will backport.
* * Eliminated tuple re-use in imap(). Doing it correctly made the codeRaymond Hettinger2003-02-071-62/+30
| | | | | too hard to read. * Simplified previous changes to izip() to make it easier to read.
* SF bug #681003: itertools issuesRaymond Hettinger2003-02-071-6/+84
| | | | | | | | | | | * Fixed typo in exception message for times() * Filled in missing times_traverse() * Document reasons that imap() did not adopt a None fill-in feature * Document that count(sys.maxint) will wrap-around on overflow * Add overflow test to islice() * Check that starmap()'s argument returns a tuple * Verify that imap()'s tuple re-use is safe * Make a similar tuple re-use (with safety check) for izip()
* Integrate the patch from expat.h 1.51; needed for some C compilers.Fred Drake2003-02-071-21/+24
| | | | Closes SF bug #680797.
* More typo repair.Tim Peters2003-02-051-1/+1
|
* Typo repair.Tim Peters2003-02-051-4/+4
|
* cPickle: exempt two_tuple from GC -- it's a speed hack, and doesn'tTim Peters2003-02-041-1/+6
| | | | | | | | | | | | guarantee to keep valid pointers in its slots. tests: Moved ExtensionSaver from test_copy_reg into pickletester, and use it both places. Once extension codes get assigned, it won't be safe to overwrite them willy nilly in test suites, and ExtensionSaver does a thorough job of undoing any possible damage. Beefed up the EXT[124] tests a bit, to check the smallest and largest codes in each opcode's range too.
* cPickle now generates proto 2 EXT[124] when appropriate.Tim Peters2003-02-041-2/+67
| | | | | Moved such EXT tests as currently exist from TempAbstractPickleTests to AbstractPickleTests, so that test_cpickle runs them too.
* Remove forward static reference since it is not requiredNeal Norwitz2003-02-041-3/+1
|
* Whitespace normalizationNeal Norwitz2003-02-041-1/+1
|
* Fix for [ 543344 ] Interpreter crashes when recoding; suggestedMarc-André Lemburg2003-02-041-1/+3
| | | | | | by Michael Stone (mbrierst). Python 2.1.4, 2.2.2 candidate.
* Use size_t instead of int for various variables to preventWalter Dörwald2003-02-041-9/+9
| | | | | | | | signed/unsigned comparison warnings on the call to iconv(). Fix comment typos. From SF patch #680146.
* Typo in comment.Tim Peters2003-02-041-1/+1
|
* cPickle can load pickles using proto 2 EXT[124] now, but can't yetTim Peters2003-02-041-0/+108
| | | | generate these opcodes.
* Rename the extension registry variables to have leading underscores --Guido van Rossum2003-02-041-6/+6
| | | | | | | | | this clarifies that they are part of an internal API (albeit shared between pickle.py, copy_reg.py and cPickle.c). I'd like to do the same for copy_reg.dispatch_table, but worry that it might be used by existing code. This risk doesn't exist for the extension registry.
* Typo repair.Tim Peters2003-02-041-1/+1
|
* Brought some module variables into synch with pickle.py's current values.Tim Peters2003-02-041-16/+47
| | | | | Imported the extension-registry dicts from copy_reg.py, in preparation for tackling EXT[124].
* load_counted_long(): Changed a ValueError to an UnpicklingError, justTim Peters2003-02-031-15/+1
| | | | | | | because it seems more consistent with the rest of the code. cPickle_PyMapping_HasKey(): This extern function isn't used anywhere in Python or Zope, so got rid of it.
* - Thanks to Scott David Daniels, a subtle bug in how the zlibGuido van Rossum2003-02-031-12/+45
| | | | | | | | extension implemented flush() was fixed. Scott also rewrite the zlib test suite using the unittest module. (SF bug #640230 and patch #678531.) Backport candidate I think.
* PDATA_PUSH and PDATA_APPEND. documented, and reformatted for betterTim Peters2003-02-031-30/+38
| | | | | | | | | readability. load_bool(): Now that I know the intended difference between _PUSH and _APPEND, used the right one. Pdata_grow(): Squashed out a redundant overflow test.
* version 4.1.4 (4.1.3 just released)Gregory P. Smith2003-02-031-1/+1
|
* cPickle support for TUPLE[123]. Incidentally plugged several undetectedTim Peters2003-02-021-84/+210
| | | | overflow holes in Pdata_grow().
* Massive edits. If p is a pointer to a struct, and p->f is a pointer toTim Peters2003-02-021-89/+93
| | | | | | | | | | | | | | a function, then p->f(arg1, arg2, ...) is semantically the same as (*p->f)(arg1, arg2, ...) Changed all instances of the latter into the former. Given how often the code embeds this kind of expression in an if test, the unnecessary parens and dereferening operator were a real drag on readability.
* Minor cleanup, mostly adding horizontal whitespace, and breaking apartTim Peters2003-02-021-31/+30
| | | | embedded assignments, for readability.
* Implemented proto 2 NEWTRUE and NEWFALSE in cPickle.Tim Peters2003-02-021-2/+34
|
* Get ossaudiodev to compile on freebsd 4.7Neal Norwitz2003-02-021-0/+18
|
* Beefed up the tests by putting in more "for proto in protocols:" outerTim Peters2003-02-021-0/+5
| | | | | | | loops. Renamed DATA and BINDATA to DATA0 and DATA1. Included disassemblies, but noted why we can't test them. Added XXX comment to cPickle about a mysterious comment, where pickle and cPickle diverge in how they number PUT indices.
* Fix compiler warningNeal Norwitz2003-02-022-1/+2
|
* dump(): Added asserts that self->proto is sane.Tim Peters2003-02-021-1/+2
|
* dump(): Fixed a stupid bug in new code. It wasn't possible for the bugTim Peters2003-02-021-1/+1
| | | | | to have an effect before protocol 3 is invented, so no test can be written for this (yet).
* Add cPickle support for PROTO. Duplicated PROTO/LONG1/LONG4 code inTim Peters2003-02-021-2/+56
| | | | | the hitherto unknown (to me) noload() cPickle function, which is (a) something we don't test at all, and (b) pickle.py doesn't have.
* Fix memory leak: free memory storing the content model passed to theFred Drake2003-02-021-24/+48
| | | | | ElementDeclHandler by Expat. Fixes SF bug #676990.
* cPickle.c: Full support for the new LONG1 and LONG4. Added comments.Tim Peters2003-02-021-21/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assorted code cleanups; e.g., sizeof(char) is 1 by definition, so there's no need to do things like multiply by sizeof(char) in hairy malloc arguments. Fixed an undetected-overflow bug in readline_file(). longobject.c: Fixed a really stupid bug in the new _PyLong_NumBits. pickle.py: Fixed stupid bug in save_long(): When proto is 2, it wrote LONG1 or LONG4, but forgot to return then -- it went on to append the proto 1 LONG opcode too. Fixed equally stupid cancelling bugs in load_long1() and load_long4(): they *returned* the unpickled long instead of pushing it on the stack. The return values were ignored. Tests passed before only because save_long() pickled the long twice. Fixed bugs in encode_long(). Noted that decode_long() is quadratic-time despite our hopes, because long(string, 16) is still quadratic-time in len(string). It's hex() that's linear-time. I don't know a way to make decode_long() linear-time in Python, short of maybe transforming the 256's-complement bytes into marshal's funky internal format, and letting marshal decode that. It would be more valuable to make long(string, 16) linear time. pickletester.py: Added a global "protocols" vector so tests can try all the protocols in a sane way. Changed test_ints() and test_unicode() to do so. Added a new test_long(), but the tail end of it is disabled because it "takes forever" under pickle.py (but runs very quickly under cPickle: cPickle proto 2 for longs is linear-time).