| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This patch should also be applied to the 2.2b1 trunk.
|
|
|
|
|
| |
TestMIMEMessage.test_epilogue(), TestIdempotent.test_preamble_epilogue():
Test cases for SF bug #472481.
|
| |
|
|
|
|
|
|
| |
_handle_multipart(): If there is an epilogue and the epilogue does
not itself start with a newline, add a newline before writing the
epilogue. Closes SF bug #472481.
|
|
|
|
|
|
|
|
| |
This adds unsetenv to posix, and uses it in the __delitem__ method of
os.environ.
(XXX Should we change the preferred name for putenv to setenv, for
consistency?)
|
| |
|
| |
|
|
|
|
|
| |
TypeError (on systems where it's not defined at all, it raises
AttributeError; when it's defined, assignment to it raises TypeError).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a big one, touching lots of files. Some of the platforms
aren't tested yet. Briefly, this changes the return value of the
os/posix functions stat(), fstat(), statvfs(), fstatvfs(), and the
time functions localtime(), gmtime(), and strptime() from tuples into
pseudo-sequences. When accessed as a sequence, they behave exactly as
before. But they also have attributes like st_mtime or tm_year. The
stat return value, moreover, has a few platform-specific attributes
that are not available through the sequence interface (because
everybody expects the sequence to have a fixed length, these couldn't
be added there). If your platform's struct stat doesn't define
st_blksize, st_blocks or st_rdev, they won't be accessible from Python
either.
(Still missing is a documentation update.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The GUI-mode code to display properties blew up if the property functions
(get, set, etc) weren't simply methods (or functions).
"The problem" here is really that the generic document() method dispatches
to one of .doc{routine, class, module, other}(), but all of those require
a different(!) number of arguments. Thus document isn't general-purpose
at all: you have to know exactly what kind of thing is it you're going
to document first, in order to pass the correct number of arguments to
.document for it to pass on. As an expedient hack, just tacked "*ignored"
on to the end of the formal argument lists for the .docXXX routines so
that .document's caller doesn't have to know in advance which path
.document is going to take.
|
|
|
|
|
| |
The right fix is to generate line number events anyway ;-), but this will
have to do for now.
|
|
|
|
|
|
|
|
| |
compile should raise error for non-strings
SRE bug #432570, 448951:
reset group after failed match
also bumped version number to 2.2.0
|
| |
|
|
|
|
|
|
|
|
|
|
| |
:-).
Add a test that prevents the __hello__ bytecode from going stale
unnoticed again.
The test also tests the loophole noted in SF bug #404545. This test
will fail right now; I'll check in the fix in a minute.
|
|
|
|
| |
handlers. This was fixed in Objects/weakrefobject.c 1.2.
|
|
|
|
|
| |
Solved with a helper method that calls finish_request() and then
close_request(). The code is by Max Neunhöffer.
|
| |
|
| |
|
|
|
|
|
| |
The fix is a band-aid: type_call() now makes the same exception for a
single-argument call to type() as type_new() was already making.
|
| |
|
|
|
|
| |
(The rest of the test cases are trivial, so I don't feel too bad.)
|
|
|
|
| |
closes patch 470254
|
|
|
|
|
|
|
|
|
| |
test_no_semis_header_splitter(): This actually should still split.
test_no_split_long_header(): An example of an unsplittable line.
test_no_semis_header_splitter(): Test for SF bug # 471918, Generator
splitting long headers.
|
|
|
|
|
|
|
|
| |
_split_header(): Split on folding whitespace if the attempt to split
on semi-colons failed.
_split_header(): Patch by Matthew Cowles for fixing SF bug # 471918,
Generator splitting long headers.
|
|
|
|
| |
ValueError on too-large inputs.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are now no known cases where the compiler package computes a
stack depth lower than the one computed by the builtin compiler. (To
achieve this state, we had to fix bugs in both compilers :-).
The chief change is to do the depth calculations with respect to basic
blocks. The stack effect of block is calculated. Then the flow graph
is traversed using breadth-first search to find the max weight path
through the graph.
Had to fix the StackDepthTracker to calculate the right info for
several opcodes: LOAD_ATTR, CALL_FUNCTION (and friends), MAKE_CLOSURE,
and DUP_TOPX.
XXX Still need to handle free variables in MAKE_CLOSURE.
XXX There are still a lot of places where the computed stack depth is
larger than for the builtin compiler. These won't cause the
interpreter to overflow the frame, but they waste space.
|
| |
|
| |
|
|
|
|
|
|
| |
- replace some log_error() calls with log_message()
- flush self.rfile before forking too (hope this works on Windows)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mostly by Toby Dickenson and Titus Brown.
Add an optional argument to a decompression object's decompress()
method. The argument specifies the maximum length of the return
value. If the uncompressed data exceeds this length, the excess data
is stored as the unconsumed_tail attribute. (Not to be confused with
unused_data, which is a separate issue.)
Difference from SF patch: Default value for unconsumed_tail is ""
rather than None. It's simpler if the attribute is always a string.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
object.c, PyObject_Str: Don't try to optimize anything except exact
string objects here; in particular, let str subclasses go thru tp_str,
same as non-str objects. This allows overrides of tp_str to take
effect.
stringobject.c:
+ string_print (str's tp_print): If the argument isn't an exact string
object, get one from PyObject_Str.
+ string_str (str's tp_str): Make a genuine-string copy of the object if
it's of a proper str subclass type. str() applied to a str subclass
that doesn't override __str__ ends up here.
test_descr.py: New str_of_str_subclass() test.
|
|
|
|
|
| |
size(), parse150(): try int() first, catch OverflowError, fall back to
long().
|
| |
|
| |
|
| |
|
|
|
|
|
| |
hotshot.stats.load(logfilename) returns a pstats.Stats instance, which is
about as compatible as it gets.
|
|
|
|
|
|
| |
changing an application to collect profile data on one part of the
app while still making use of the profiled component, without relying
on side effects.
|
|
|
|
|
| |
Add support for extracting function names from the log file, keeping the
extract-names-from-sources support as a fallback.
|
|
|
|
|
| |
distinguish __dict__ and __defined__ any more. In the C structure,
tp_cache takes its place -- but this hasn't been implemented yet.
|
|
|
|
|
| |
Extend tests to cover a few more cases. For cPickle, test several of
the undocumented features.
|
|
|
|
| |
Remove test code. It's available in Lib/test/picklertester.py.
|
|
|
|
|
| |
Py_TPFLAGS_DYNAMICTYPE bit. There is no longer a performance benefit,
and I don't really see the use case any more.
|
|
|
|
|
| |
RFC 2049 recommends never outputting a line consisting of a single
dot.
|
|
|
|
| |
Pass binary mode to makefile().
|
|
|
|
| |
has no Content-Type: header, it should be treated as text/plain.
|