- 02 Oct, 2001 9 commits
-
-
Tim Peters authored
Unknown whether this fixes it. - stringobject.c, PyString_FromFormatV: don't assume that va_list is of a type that can be copied via an initializer. - errors.c, PyErr_Format: add a va_end() to balance the va_start().
-
Guido van Rossum authored
instances). Also added GC support to various auxiliary types: super, property, descriptors, wrappers, dictproxy. (Only type objects have a tp_clear field; the other types are.) One change was necessary to the GC infrastructure. We have statically allocated type objects that don't have a GC header (and can't easily be given one) and heap-allocated type objects that do have a GC header. Giving these different metatypes would be really ugly: I tried, and I had to modify pickle.py, cPickle.c, copy.py, add a new invent a new name for the new metatype and make it a built-in, change affected tests... In short, a mess. So instead, we add a new type slot tp_is_gc, which is a simple Boolean function that determines whether a particular instance has GC headers or not. This slot is only relevant for types that have the (new) GC flag bit set. If the tp_is_gc slot is NULL (by far the most common case), all instances of the type are deemed to have GC headers. This slot is called by the PyObject_IS_GC() macro (which is only used twice, both times in gcmodule.c). I also changed the extern declarations for a bunch of GC-related functions (_PyObject_GC_Del etc.): these always exist but objimpl.h only declared them when WITH_CYCLE_GC was defined, but I needed to be able to reference them without #ifdefs. (When WITH_CYCLE_GC is not defined, they do the same as their non-GC counterparts anyway.)
-
Tim Peters authored
Tim Hochberg. Doctest no longer searches imported objects.
-
Guido van Rossum authored
- The test for deepcopy() in pickles() was indented wrongly, so it got run twice (one for binary pickle mode, one for text pickle mode; but the test doesn't depend on the pickle mode). - In verbose mode, show which subtest (pickle/cPickle/deepcopy, text/bin).
-
Guido van Rossum authored
in run_test() referenced two non-existent variables, and in non-verbose mode, the tests didn't report the actual number, when it differed from the expected number. Fixed this. Also added an extra call to gc.collect() at the start of test_all(). This will be needed when I check in the changes to add GC to new-style classes.
-
Guido van Rossum authored
"from xml.parsers import expat" succeeds but the imported expat module is an empty shell. Make sure we don't be fooled by that.
-
Guido van Rossum authored
is not found). Being fancy: insert the first 3 characters of sys.version in the URL.
-
Guido van Rossum authored
-
Tim Peters authored
from Tim Hochberg. Also mucho fiddling to change the way doctest determines whether a thing is a function, module or class. Under 2.2, this really requires the functions in inspect.py (e.g., types.ClassType is close to meaningless now, if not outright misleading).
-
- 01 Oct, 2001 24 commits
-
-
Fred Drake authored
public interface, so we can simplify the documentation.
-
Tim Peters authored
-
Tim Peters authored
try to explain the complex general scheme we actually use now, I decided to spell out only what equality means (which is easy to explain and intuitive), leaving the other outcomes unspecified beyond consistency.
-
Tim Peters authored
The patch repaired internal gcc compiler errors on BeOS. This checkin repairs them in a simpler way, by explicitly casting the platform INFINITY to double.
-
Fredrik Lundh authored
added local escape method (made the dumps method some 50-80% faster) minor tweaks to the unmarshalling code
-
Tim Peters authored
Patch from Steve Scott to add SIGBREAK support (unique to Windows).
-
Skip Montanaro authored
top level.
-
Skip Montanaro authored
-
Guido van Rossum authored
- SLOT1BINFULL() macro: changed this to check for __rop__ overriding __op__, like binary_op1() in abstract.c -- the latter only calls the slot function once if both types use the same slot function, so the slot function must make both calls -- which it already did for the __op__, __rop__ order, but not yet for the __rop__, __op__ order when B.__class__ is a subclass of A.__class__. - slot_sq_contains(), slot_nb_nonzero(): use lookup_maybe() rather than lookup_method() which sets an exception which we then clear. - slot_nb_coerce(): don't give up when left argument's __coerce__ returns NotImplemented, but give the right argument a chance.
-
Guido van Rossum authored
(to see whether __rop__ should go before __op__) only when slotv is set. This saves a test+branch when only slotw is set.
-
Fred Drake authored
-
Fred Drake authored
-
Martin v. Löwis authored
-
Fred Drake authored
"boolean" --> "Boolean" (per the style guide).
-
Martin v. Löwis authored
-
Guido van Rossum authored
-
Fred Drake authored
as container objects rather than as mapping objects (in the index entries). Change the section heading and intro sentence to be a little more general, since that's how things have actually evolved.
-
Guido van Rossum authored
-
Fred Drake authored
-
Guido van Rossum authored
-
Guido van Rossum authored
-
Guido van Rossum authored
I modified nntplib so the body method can accept an optional second parameter pointing to a filehandle or filename (string). This way, really long body articles can be stored to disk instead of kept in memory. The way I made the modification should make it easy to extend this functionality to other extended return methods.
-
Guido van Rossum authored
-
Martin v. Löwis authored
-
- 30 Sep, 2001 7 commits
-
-
Martin v. Löwis authored
-
Martin v. Löwis authored
Decode and encode underscores for header style encoding. Fixes bug #463996.
-
Martin v. Löwis authored
-
Tim Peters authored
it acts more like assigning to keys in locals(), i.e. modifications to function locals aren't reflected in the locals when execfile() returns.
-
Tim Peters authored
-
Tim Peters authored
Replaced 3 instances of "iter() of non-sequence" with "iteration over non-sequence". Restored "unpack non-sequence" for stuff like "a, b = 1".
-
Tim Peters authored
Generalize PyLong_AsLongLong to accept int arguments too. The real point is so that PyArg_ParseTuple's 'L' code does too. That code was undocumented (AFAICT), so documented it.
-