- 11 Nis, 2006 28 kayıt (commit)
-
-
Martin v. Löwis yazdı
-
Martin v. Löwis yazdı
after the type objects.
-
Martin v. Löwis yazdı
-
Neal Norwitz yazdı
mismatches. At least I hope this fixes them all. This reverts part of my change from yesterday that converted everything in Parser/*.c to use PyObject_* API. The encoding doesn't really need to use PyMem_*, however, it uses new_string() which must return PyMem_* for handling the result of PyOS_Readline() which returns PyMem_* memory. If there were 2 versions of new_string() one that returned PyMem_* for tokens and one that return PyObject_* for encodings that could also fix this problem. I'm not sure which version would be clearer. This seems to fix both Guido's and Phillip's problems, so it's good enough for now. After this change, it would be good to review Parser/*.c for consistent use of the 2 memory APIs.
-
Martin v. Löwis yazdı
Explicitly cast void* to int to cmpop_ty.
-
Neal Norwitz yazdı
-
Anthony Baxter yazdı
in Python/Python-ast.c. Not sure what to do about those.
-
Anthony Baxter yazdı
solution) in the same way as listobject.c got changed. Hoping for a better solution.
-
Anthony Baxter yazdı
-
Neal Norwitz yazdı
-
Neal Norwitz yazdı
-
Martin v. Löwis yazdı
in #1454485.
-
Georg Brandl yazdı
-
Anthony Baxter yazdı
PyTypeObject structures, I had to make prototypes for the functions, and move the structure definition ahead of the functions. I'd dearly like a better way to do this - to change this would make for a massive set of changes to the codebase. There's still some warnings - this is purely to get rid of errors first.
-
Georg Brandl yazdı
fails with an error condition.
-
Georg Brandl yazdı
-
Anthony Baxter yazdı
malloc/realloc type functions, as well as renaming one variable called 'new' in tokensizer.c. Still lots more to be done, going to be checking in one chunk at a time or the patch will be massively huge. Still compiles ok with gcc.
-
Tim Peters yazdı
"x86 OpenBSD trunk" buildbot due to changing Python so that Python-exposed addresses are always non-negative. test_int_pointer_arg(): This line failed now whenever the box happened to assign an address to `ci` "with the sign bit set": self.failUnlessEqual(addressof(ci), func(byref(ci))) The problem is that the ctypes addressof() inherited "all addresses are non-negative now" from changes to PyLong_FromVoidPtr(), but byref() did not inherit that change and can still return a negative int. I don't know whether, or what, the ctypes implementation wants to do about that (possibly nothing), but in the meantime the test fails frequently. So, introduced a Python positive_address() function in the test module, that takes a purported machine address and, if negative, converts it to a non-negative value "with the same bits". This should leave the test passing under all versions of Python. Belated thanks to Armin Rigo for teaching me the sick trick ;-) for determining the # of bits in a machine pointer via abuse of the struct module.
-
Tim Peters yazdı
tests. Alas, because only the "x86 OpenBSD trunk" buildbot fails these tests, and test_descr stops after the first failure, there's no sane way for me to fix these short of fixing one and then waiting for the buildbot to reveal the next one.
-
Tim Peters yazdı
-
Tim Peters yazdı
-
Tim Peters yazdı
failing on one of the 32-bit buildbot boxes because of it, due to tempting but always-wrong Python code. Users probably have code like this too (I know I did ...).
-
Phillip J. Eby yazdı
-
Tim Peters yazdı
test. Add some lines that at least invoke the default __hash__, although there's nothing to check there beyond that they don't blow up.
-
Phillip J. Eby yazdı
-
Phillip J. Eby yazdı
to work correctly with modules imported from zipfiles or via other PEP 302 __loader__ objects. Tests and doc updates are included.
-
Tim Peters yazdı
didn't commit it.
-
Tim Peters yazdı
to that id() can now return a Python long on a 32-bit box that allocates addresses "with the sign bit set". test_set.py test_subclass_with_custom_hash(): it's never been portably legal for a __hash__() method to return id(self), but on 32-bit boxes that never caused a problem before it became possible for id() to return a Python long. Changed __hash__ here to return a Python int regardless of platform. test_descr.py specials(): vereq(hash(c1), id(c1)) has never been a correct test -- just removed it (hash() is always a Python int; id() may be a Python long).
-
- 10 Nis, 2006 12 kayıt (commit)
-
-
Andrew M. Kuchling yazdı
-
Andrew M. Kuchling yazdı
-
Tim Peters yazdı
due to that id() may return a long on a 32-bit box now. On a box that assigns addresses "with the sign bit set", id() always returns a long now.
-
Tim Peters yazdı
to that id() may return a long on a 32-bit box now. On a box that assigns addresses "with the sign bit set", id() always returns a long now.
-
Tim Peters yazdı
-
Martin v. Löwis yazdı
-
Tim Peters yazdı
default decimal context, causing test_tokenize to fail if it ran after test_contextlib. Changed to restore the decimal context in effect at the test's start.
-
Phillip J. Eby yazdı
it was being run, but no tests were actually executed!
-
Phillip J. Eby yazdı
-
Phillip J. Eby yazdı
that are suspended outside of any try/except/finally blocks to be garbage collected even if they are part of a cycle. Generators that suspend inside of an active try/except or try/finally block (including those created by a ``with`` statement) are still not GC-able if they are part of a cycle, however.
-
Martin v. Löwis yazdı
Introduce _child_active member to keep track on whether a child needs to be waited for. Backport candidate.
-
Martin v. Löwis yazdı
-