Gregory P. Smith [Wed, 28 May 2003 07:56:45 +0000 (07:56 +0000)]
Include a link to the pybsddb web documentation for the modern object
oriented DbEnv & Db object BerkeleyDB interface.
Include a note about Sleepycat's BerkeleyDB license with regards to
distributing it within non-opensource applications and include a link
to their website for license details.
Document that 'r' is the default flag for the legacy bsddb btopen(),
hashopen(), and rnopen() functions. This is apparently different than the
dbm libraries in other languages according to Bug #732951. Changing
the default from 'r' to 'c' would break backwards compatibility with
legacy bsddb applications; documenting the default should suffice.
Greg Ward [Tue, 27 May 2003 01:57:21 +0000 (01:57 +0000)]
Oops, move the GIL release/reacquire from oss_sync() to _do_ioctl_0():
that way it applies to *only* the ioctl() call, and also happens for the
other blocking ioctls (POST, RESET).
Greg Ward [Mon, 26 May 2003 22:47:30 +0000 (22:47 +0000)]
Release the GIL in two more methods:
* sync(), because it waits for hardware buffers to flush, which
can take several seconds depending on cirumstances (according
to the OSS docs)
* close(), because it does an implicit sync()
Jack Jansen [Sun, 25 May 2003 22:01:32 +0000 (22:01 +0000)]
Fixed the DESTDIR modifications to also allow MacOSX framework builds
to be installed to a different location. This should make the OSX binary
installer building a lot simpler.
Tim Peters [Sun, 25 May 2003 17:44:31 +0000 (17:44 +0000)]
Fleshed out WeakKeyDictionary.__delitem__ NEWS to cover issues raised on
Python-Dev. Fixed typos in test comments. Added some trivial new test
guts to show the parallelism (now) among __delitem__, __setitem__ and
__getitem__ wrt error conditions.
Still a bugfix candidate for 2.2.3 final, but waiting for Fred to get a
chance to chime in.
Tim Peters [Sun, 25 May 2003 01:45:11 +0000 (01:45 +0000)]
SF 742860: WeakKeyDictionary __delitem__ uses iterkeys
Someone review this, please! Final releases are getting close, Fred
(the weakref guy) won't be around until Tuesday, and the pre-patch
code can indeed raise spurious RuntimeErrors in the presence of
threads or mutating comparison functions.
See the bug report for my confusions: I can't see any reason for why
__delitem__ iterated over the keys. The new one-liner implementation
is much faster, can't raise RuntimeError, and should be better-behaved
in all respects wrt threads.
New tests test_weak_keyed_bad_delitem and
test_weak_keyed_cascading_deletes fail before this patch.
Bugfix candidate for 2.2.3 too, if someone else agrees with this patch.
Kurt B. Kaiser [Sat, 24 May 2003 21:12:46 +0000 (21:12 +0000)]
Improved the RESTART annotation in the shell window when the user
restarts the shell while it is generating output. Also improved
annotation when user repeatedly hammers the Ctrl-F6 restart.
Kurt B. Kaiser [Sat, 24 May 2003 20:59:15 +0000 (20:59 +0000)]
1. Stake Freddy.
e.g. further improve subprocess interrupt, exceptions, and termination.
2. Remove the workarounds in PyShell.py and ScriptBinding.py involving
interrupting the subprocess prior to killing it, not necessary anymore.
3. Fix a bug introduced at PyShell Rev 1.66: was getting extra shell menu
every time the shell window was recreated.
Tim Peters [Sat, 24 May 2003 20:18:24 +0000 (20:18 +0000)]
SF bug 705231: Assertion failed, python aborts.
float_pow(): Don't let the platform pow() raise -1.0 to an integer power
anymore; at least glibc gets it wrong in some cases. Note that
math.pow() will continue to deliver wrong (but platform-native) results
in such cases.
Walter Dörwald [Fri, 23 May 2003 10:01:07 +0000 (10:01 +0000)]
All calls to getarrayitem() (which is static) are done either in loops
over the size of the array, or the callers check the index bounds themselves,
so the index check never failed => Replace it with an assert().
Christian Tismer [Fri, 23 May 2003 03:33:35 +0000 (03:33 +0000)]
Generalized my type flags structure extension without being specific about
the purpose. Increased my claim to two bits, hoping that nobody
will complain about it. I'm taking the highest two bits, whatever
the integer word size may be.
[Bug #741171] pdb crashes when enabling a non-existing breakpoint
Check the supplied breakpoint number more carefully.
(Incompatibility: before this patch, "enable -1" would enable
the last breakpoint on the list; now -1 is not a legal ID. Not sure
anyone would ever use negative indices...)
2.2 bugfix candidate, assuming making -1 illegal isn't considered a problem.
Walter Dörwald [Thu, 22 May 2003 13:15:31 +0000 (13:15 +0000)]
test_byteswap() fails on alphas, because treating the byte swapped bit
patterns as floats/doubles results in floating point exceptions.
Fix this by implementing a separate test_byteswap() for the floating
point tests. This new test compares the tostring() values of both arrays
instead of the arrays themselves.
Tim Peters [Wed, 21 May 2003 21:29:48 +0000 (21:29 +0000)]
PyType_Ready(): Complain if the type is a base type, and gc'able, and
tp_free is NULL or PyObject_Del at the end. Because it's a base type
it must call tp_free in its dealloc function, and because it's gc'able
it must not call PyObject_Del.
inherit_slots(): Don't inherit tp_free unless the type and its base
agree about whether they're gc'able. If the type is gc'able and the
base is not, and the base uses the default PyObject_Del for its
tp_free, give the type PyObject_GC_Del for its tp_free (the appropriate
default for a gc'able type).
cPickle.c: The Pickler and Unpickler types claim to be base classes
and gc'able, but their dealloc functions didn't call tp_free.
Repaired that. Also call PyType_Ready() on these typeobjects, so
that the correct (PyObject_GC_Del) default memory-freeing function
gets plugged into these types' tp_free slots.
Jeremy Hylton [Wed, 21 May 2003 17:34:50 +0000 (17:34 +0000)]
Fix for SF [ 734869 ] Lambda functions in list comprehensions
The compiler was reseting the list comprehension tmpname counter for each function, but the symtable was using the same counter for the entire module. Repair by move tmpname into the symtable entry.
Kurt B. Kaiser [Mon, 19 May 2003 23:11:51 +0000 (23:11 +0000)]
Fix race exposed by 2.4 GHz XP box: Don't tear down PyShell until
subprocess polling has terminated. Tk callit gets unhappy if it can't
find the function 'after' scheduled to run.
Walter Dörwald [Sun, 18 May 2003 03:15:10 +0000 (03:15 +0000)]
Fix array.array.insert(), so that it treats negative indices as
being relative to the end of the array, just like list.insert() does.
This closes SF bug #739313.
Tim Peters [Sat, 17 May 2003 15:57:00 +0000 (15:57 +0000)]
datetime.timedelta is now subclassable in Python. The new test shows
one good use: a subclass adding a method to express the duration as
a number of hours (or minutes, or whatever else you want to add). The
native breakdown into days+seconds+us is often clumsy. Incidentally
moved a large chunk of object-initialization code closer to the top of
the file, to avoid worse forward-reference trickery.
Kurt B. Kaiser [Sat, 17 May 2003 03:15:48 +0000 (03:15 +0000)]
Noam Raphael's patch.
SF Patch 686254 "Run IDLEfork from any directory without set-up"
Allows IDLE to run when not installed and cwd is not the IDLE directory.
I took the liberty of moving it to the startup scripts since once IDLEfork
is again a part of Python it will be superfluous and I don't want it to
be forgotten. But it is very useful for those using IDLEfork standalone!
M CREDITS.txt
M NEWS.txt
M idle
M idle.py
M idle.pyw