Tim Peters
add09b4149
SF bug 840829: weakref callbacks and gc corrupt memory.
...
subtype_dealloc(): This left the dying object exposed to gc, so that
if cyclic gc triggered during the weakref callback, gc tried to delete
the dying object a second time. That's a disaster. subtype_dealloc()
had a (I hope!) unique problem here, as every normal dealloc routine
untracks the object (from gc) before fiddling with weakrefs etc. But
subtype_dealloc has obscure technical reasons for re-registering the
dying object with gc (already explained in a large comment block at
the bottom of the function).
The fix amounts to simply refraining from reregistering the dying object
with gc until after the weakref callback (if any) has been called.
This is a critical bug (hard to predict, and causes seemingly random
memory corruption when it occurs). I'll backport it to 2.3 later.
2003-11-12 20:43:28 +00:00
Tim Peters
045f1de57e
pyexpat stopped building on Windows -- whining about the lack of a
...
HAVE_MEMMOVE define. Just defined it on the cmdline (it doesn't
include Python.h, and Fred doesn't want to change the code).
2003-11-12 19:30:36 +00:00
Raymond Hettinger
7d1dd04334
Fix typo
2003-11-12 16:42:10 +00:00
Raymond Hettinger
bc3cba2881
Explain the advantages of reversed.
2003-11-12 16:39:30 +00:00
Raymond Hettinger
607c00f792
Present each feature in terms of what makes it useful or desirable.
2003-11-12 16:27:50 +00:00
Raymond Hettinger
859db26729
Improve backwards compatibility code to handle True/False.
2003-11-12 15:21:20 +00:00
Raymond Hettinger
ad983e79d6
Improve the implementation of itertools.tee().
...
Formerly, underlying queue was implemented in terms of two lists. The
new queue is a series of singly-linked fixed length lists.
The new implementation runs much faster, supports multi-way tees, and
allows tees of tees without additional memory costs.
The root ideas for this structure were contributed by Andrew Koenig
and Guido van Rossum.
2003-11-12 14:32:26 +00:00
Neil Schemenauer
767126d7b9
Make Message.__str__ more efficient.
2003-11-11 19:39:17 +00:00
Fred Drake
d85ed1b7fc
fix typo in markup
2003-11-10 14:50:54 +00:00
Fred Drake
28eae084bf
fix use of undefined markup
2003-11-10 14:48:48 +00:00
Fred Drake
dbe7980d6a
add missing "if"
2003-11-10 14:43:16 +00:00
Martin v. Löwis
75aa4db04b
Mention that getsid is new in 2.4.
2003-11-10 06:46:15 +00:00
Martin v. Löwis
d8921379e9
Patch #798297 : Add IMAP THREAD command.
2003-11-10 06:44:44 +00:00
Martin v. Löwis
49ee14dac5
Patch #839038 : Add getsid(2).
2003-11-10 06:35:36 +00:00
Guido van Rossum
967b063add
Plug tempfile.mktemp() hole (Iustin Pop).
2003-11-10 02:27:19 +00:00
Guido van Rossum
b256159396
mktemp() shouldn't rely on os.path.exists(), which can return False if
...
the file is a symlink. Instead, use os.lstat directly, if it exists;
fall back on os.stat or the built-in open. Thanks to Iustin Pop.
2003-11-10 02:16:36 +00:00
Alex Martelli
f09994e527
fixed wrong error checking on fcntl call as per SF bug # 821896
...
(same as commit of Sun Nov 2 to the release23-maint branch)
2003-11-09 16:44:09 +00:00
Alex Martelli
0c5b4ad8f2
fixed obvious bug in _send_header as per SF bug #831271
...
(same as commit of Sun Nov 2 to the release23-maint branch)
2003-11-09 16:41:38 +00:00
Alex Martelli
721b776175
fixed buggy comment as per SF bug #827856
...
(same as commit of Sun Nov 2 to the release23-maint branch)
2003-11-09 16:38:39 +00:00
Alex Martelli
c516b0e47c
clarified (in the 5.14 summary) that tests and comparisons all chain,
...
added a specific \ref to 5.9 in lieu of previous vague "see above".
(same as commit of Sun Nov 2 to the release23-maint branch)
2003-11-09 16:33:56 +00:00
Alex Martelli
37dc334276
Add docs for readmodule_ex and its function-descriptors, fixing
...
sf bug#812818.
(same as commit of Sun Nov 2 to the release23-maint branch)
2003-11-09 16:32:54 +00:00
Alex Martelli
50324a604c
Avoid giving advice that's bad for security, as per SF bug #823515
...
(same as commit of Sun Nov 2 to the release23-maint branch)
2003-11-09 16:31:18 +00:00
Brett Cannon
35d8360bf7
Document Py_RETURN_NONE.
2003-11-09 04:15:30 +00:00
Andrew M. Kuchling
f7a6b67e5c
Add 'see also' section pointing to the PEP
2003-11-08 16:05:37 +00:00
Andrew M. Kuchling
1a420251cf
Add some recent changes
2003-11-08 15:58:49 +00:00
Raymond Hettinger
af28e4b66b
Update test to handle list.__reversed__().
2003-11-08 12:39:53 +00:00
Raymond Hettinger
001f228f36
Improve the reverse list iterator to free memory as soon as the iterator
...
is exhausted.
2003-11-08 11:58:44 +00:00
Raymond Hettinger
e21f606657
SF bug #835457 : Small typo in logging documentation
2003-11-08 11:40:03 +00:00
Raymond Hettinger
c24c9106e8
Minor code fixup. Make sure that len reflects the current list size.
2003-11-08 11:35:22 +00:00
Raymond Hettinger
b3af1813eb
Convert heapq.py to a C implementation.
2003-11-08 10:24:38 +00:00
Raymond Hettinger
1021c44b41
Optimize reversed(list) using a custom iterator.
2003-11-07 15:38:09 +00:00
Michael W. Hudson
ff1f194982
Fix the problem addressed by patch
...
[ 819012 ] Fix for former/latter confusion in Extending documentation
although not by using supplied patch.
2003-11-07 11:45:34 +00:00
Raymond Hettinger
dc62aeca4c
Add a new looping idiom
2003-11-07 01:30:58 +00:00
Martin v. Löwis
5ce2fecf8e
Patch #837322 : Clarify owning, borrowing, stealing. Backported to 2.3.
2003-11-06 21:08:11 +00:00
Martin v. Löwis
d2171d2ba4
Overallocate target buffer for normalization more early. Fixes #834676 .
...
Backported to 2.3.
2003-11-06 20:47:57 +00:00
Raymond Hettinger
85c20a41df
Implement and apply PEP 322, reverse iteration
2003-11-06 14:06:48 +00:00
Neil Schemenauer
f607fc5395
Add traceback.format_exc().
2003-11-05 23:03:00 +00:00
Jeremy Hylton
904ed86a77
Make undetected error on stack unwind a fatal error.
2003-11-05 17:29:35 +00:00
Anthony Baxter
92bee36045
missing news entry
2003-11-04 14:35:49 +00:00
Gregory P. Smith
7441e65821
* SF patch 835100 - C++ // comments are not allowed. Use /* */
2003-11-03 21:35:31 +00:00
Jeremy Hylton
ceac90aecb
Fix compiler warning about possible use of n without assignment.
...
Also fix use of n for two different variables in two different blocks.
2003-11-03 20:58:28 +00:00
Gregory P. Smith
a703a21b48
* Use weakref's of DBCursor objects for the iterator cursors to avoid a
...
memory leak that would've occurred for all iterators that were
destroyed before having iterated until they raised StopIteration.
* Simplify some code.
* Add new test cases to check for the memleak and ensure that mixing
iteration with modification of the values for existing keys works.
2003-11-03 01:04:41 +00:00
Raymond Hettinger
83c187460e
SF patch #834444 : add versionadd to new functions
...
(Contributed by George Yoshida.)
2003-11-02 09:50:56 +00:00
Raymond Hettinger
cc523fc53d
SF patch #834015 : Remove imports of unused modules
...
(Contributed by George Yoshida.)
2003-11-02 09:47:05 +00:00
Gregory P. Smith
dc113a8a06
* Fix the singlethreaded deadlocks occurring in the simple bsddb interface.
...
* Add support for multiple iterator/generator objects at once on the simple
bsddb _DBWithCursor interface.
2003-11-02 09:10:16 +00:00
Gregory P. Smith
e276717113
Fix a tuple memory leak when raising DB, DBEnv and DBCursor "object
...
has been closed" exceptions.
Adds a DBCursorClosedError exception in the closed cursor case for
future use in fixing the legacy bsddb interface deadlock problems
due to its use of cursors with DB_INIT_LOCK | DB_THREAD support
enabled.
2003-11-02 08:06:29 +00:00
Raymond Hettinger
54a831bef7
Use PyTuple_Pack() to simplify enumerate().
2003-11-02 05:37:44 +00:00
Andrew M. Kuchling
b4b9ced1b6
[Bug #817178 ] Fix incorrect arguments in example, noted by Terry Reedy
2003-10-31 19:52:30 +00:00
Martin v. Löwis
2389c41a10
Patch #833710 : Set INSTSONAME on Solaris. Backported to 2.3.
2003-10-31 15:42:07 +00:00
Martin v. Löwis
893ffa4372
Patch #830858 : Correct the number of is-functions. Backported to 2.3 and 2.2.
2003-10-31 15:35:53 +00:00