| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
only contains instances of the dialect type, we can refer directly to the
dialect instances rather than creating new ones. In other words, if the
dialect comes from the registry, and we apply no further modifications,
the reader/writer can use the dialect object directly.
|
|
|
|
|
|
| |
was done because we were previously performing validation of the dialect
from python, but this is now down within the C module. Also, the method
we were using to detect classes did not work with new-style classes.
|
|
|
|
|
| |
record objects of internal dialect type, rather than instances of
python objects.
|
| |
|
|
|
|
| |
it for all failures, potentially masking other exceptions).
|
|
|
|
| |
same as None.
|
|
|
|
| |
rather than using PyString_Check/PyUnicode_Check.
|
|
|
|
| |
writer objects (other GC infrastructure already in place).
|
|
|
|
| |
left in stream).
|
| |
|
|
|
|
|
| |
implementation features better error reporting, and better compliance
with the PEP.
|
| |
|
|
|
|
| |
to an uninitialized pointer: fixes the problem and adds a test case
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* bumped the module version number up to 4.3.0
|
|
|
|
|
| |
Also revise a related function to minimise file handle/pipe leakage
and improve reliability.
|
|
|
|
| |
arguments in __reduce__().
|
| |
|
| |
|
|
|
|
| |
to ioctl() and remove the warning when it is not supplied.
|
|
|
|
|
| |
GNU readline exports a global variable that has such a name already
and the collision makes gcc4 doesn't compile the source.
|
|
|
|
|
|
|
|
| |
and its usage in PyLocale_strcoll().
Clarify the documentation on this.
Thanks to Andreas Degert for pointing this out.
|
|
|
|
|
|
| |
regrtest.py: skip rgbimg and imageop as they are not built on 64-bit systems.
_tkinter.c: replace %.8x with %p for printing pointers.
setup.py: add lib64 into the library directories.
|
|
|
|
|
|
| |
(Contributed by Niki W. Waibel.)
Simple renaming to avoid a conflict that prevented compilation on Solaris.
|
|
|
|
|
|
|
| |
(Contributed by Dima Dorfman.)
* Support pickling of dictionaries in instances of deque subclasses.
* Support pickling of recursive deques.
|
|
|
|
| |
memset() wrote one past the end of the buffer, which was likely to be unused padding or a yet-to-be-initialized local variable. This routine is already tested by test_socket.
|
| |
|
|
|
|
| |
Add function names to various PyArg_ParseTuple calls in bz2module.c.
|
|
|
|
|
|
| |
nothing in gc currently cares, the original coding could screw up if,
e.g., you tried to move a node to the list it's already in, and the node
was already the last in its list.
|
|
|
|
|
|
|
|
|
|
|
| |
Introduced gc_list_move(), which captures the common gc_list_remove() +
gc_list_append() sequence. In fact, no uses of gc_list_append() remained
(they were all in a gc_list_move() sequence), so commented that one out.
gc_list_merge(): assert that `from` != `to`; that was an implicit
precondition, now verified in a debug build.
Others: added comments about their purpose.
|
|
|
|
| |
pass over the unreachable weakrefs-with-callbacks to unreachable objects.
|
|
|
|
|
|
|
|
| |
In cyclic gc, clear weakrefs to unreachable objects before allowing any
Python code (weakref callbacks or __del__ methods) to run.
This is a critical bugfix, affecting all versions of Python since weakrefs
were introduced. I'll backport to 2.3.
|
| |
|
| |
|
|
|
|
| |
was a mistake of mine in updating patch #975056 (I think).
|
| |
|
|
|
|
|
|
| |
73: Restore support for Python 2.1.
74: Factor the previous change differently
79: Conditionalize usage of PyTuple_Pack.
|
|
|
|
| |
detection to configure &c.
|
|
|
|
| |
a few remaining calls to signal() were converted to PyOS_setsig().
|
|
|
|
| |
arguments passed through tuples.
|
|
|
|
|
|
| |
[ 1030629 ] PyOS_InputHook broken
with a couple of utterly inconsequential changes by me.
|
|
|
|
| |
(Contributed by Nick Coghlan.)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
deque_item(): a performance bug: the linked list of blocks was followed
from the left in most cases, because the test (i < (deque->len >> 1)) was
after "i %= BLOCKLEN".
deque_clear(): replaced a call to deque_len() with deque->len; not sure what
this call was here for, nor if all compilers under the sun would inline it.
deque_traverse(): I belive that it could be called by the GC when the deque
has leftblock==rightblock==NULL, because it is tracked before the first block
is allocated (though closely before). Still, a C extension module subclassing
deque could provide its own tp_alloc that could trigger a GC collection after
the PyObject_GC_Track()...
deque_richcompare(): rewrote to cleanly check for end-of-iterations instead of
relying on deque.__iter__().next() to succeed exactly len(deque) times -- an
assumption which can break if deques are subclassed. Added a test.
I wonder if the length should be explicitely bounded to INT_MAX, with
OverflowErrors, as in listobject.c. On 64-bit machines, adding more than
INT_MAX in the deque will result in trouble. (Note to anyone/me fixing
this: carefully check for overflows if len is close to INT_MAX in the
following functions: deque_rotate(), deque_item(), deque_ass_item())
|
| |
|
|
|
|
|
|
|
|
|
| |
The previous approach was too easily fooled (a rotate() sufficed).
* Use it->counter to determine when iteration is complete. The
previous approach was too complex.
* Strengthen an assertion and add a comment here or there.
|