| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
all, either to see whether the # of chars fit in an int, or that the
amount of memory needed fit in a size_t. Checking these is expensive, but
the alternative is silently wrong answers (as in the bug report) or
core dumps (which were easy to provoke using Unicode strings).
|
|
|
|
|
|
| |
strings. closes PEP-223.
also added \U escape (eight hex digits).
|
| |
|
|
|
|
| |
This should match the situation in the 1.6b1 tree.
|
| |
|
| |
|
|
|
|
|
| |
add sanity check to gc: if an exception occurs during GC, call
PyErr_WriteUnraisable and then call Py_FatalEror.
|
| |
|
|
|
|
|
|
|
|
| |
state for dictionaries that have only been indexed by string keys.
See the comments in SourceForge for more.
This closes SourceForge patch #101309.
|
|
|
|
|
|
|
|
|
|
| |
exception context. This avoids improperly propogating errors raised by
a user-defined __cmp__() by a subsequent lookup operation.
This patch does *not* include the performance enhancement patch for
dictionaries with string keys only; that will be checked in separately.
This closes SourceForge patch #101277 and bug #112558.
|
|
|
|
| |
operator associativity.
|
|
|
|
|
|
| |
Remove some of GCC's warning in -Wstrict-prototypes mode.
This closes SourceForge patch #101342.
|
|
|
|
|
| |
expression next to a || expression; this is a readability-inspired
warning from GCC.
|
| |
|
| |
|
|
|
|
|
|
|
| |
file.writelines() now tries to emulate the behaviour of file.write()
as closely as possible. Due to the problems with releasing the
interpreter lock the solution isn't exactly optimal, but still better
than not supporting the file.write() semantics at all.
|
| |
|
|
|
|
|
| |
the list object supports this currently, but other candidates are
gladly accepted (like arraymodule and such.)
|
|
|
|
| |
initialized in the 'if (..)', do so manually.
|
|
|
|
|
| |
in the PyNumber_* functions. Also, remove unnecessary tests from
PyNumber_Multiply: after BINOP(), neither argument can be an instance.
|
|
|
|
|
| |
Lowered the recursion limit on compares to 60 (one recursion depth can
take a whopping 2K of stack space when running test_b1!)
|
| |
|
|
|
|
| |
`str' is no longer necessary. Gotta turn on -Wall!
|
|
|
|
|
| |
PyUnicode_EncodeUTF8() already returns the created object with the
proper reference count. This fixes an Insure reported memory leak.
|
|
|
|
|
|
| |
types (i.e. Py_uintptr_t, our spelling of C9X's uintptr_t). ANSI
specifies that pointer compares other than == and != to non-related
structures are undefined. This quiets an Insure portability warning.
|
|
|
|
|
|
| |
scope. Previously, s_buffer[] was defined inside the
PyUnicode_Check() scope, but referred to in the outer scope via
assignment to s. This quiets an Insure portability warning.
|
|
|
|
|
|
|
| |
to integer types (i.e. Py_uintptr_t, our spelling of C9X's uintptr_t).
ANSI specifies that pointer compares other than == and != to
non-related structures are undefined. This quiets an Insure
portability warning.
|
|
|
|
|
|
|
|
| |
is no __getslice__ available. Also does the same for C extension types.
Includes rudimentary documentation (it could use a cross reference to the
section on slice objects, I couldn't figure out how to do that) and a test
suite for all Python __hooks__ I could think of, including the new
behaviour.
|
|
|
|
|
|
| |
shutdown time, but CVS log entry for revision 2.45 explains why this
is so. Simply include a comment so we don't have to re-figure it out
again 5 years from now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This was a misleading bug -- the true "bug" was that hash(x) gave an error
return when x is an infinity. Fixed that. Added new Py_IS_INFINITY macro to
pyport.h. Rearranged code to reduce growing duplication in hashing of float and
complex numbers, pushing Trent's earlier stab at that to a logical conclusion.
Fixed exceedingly rare bug where hashing of floats could return -1 even if there
wasn't an error (didn't waste time trying to construct a test case, it was simply
obvious from the code that it *could* happen). Improved complex hash so that
hash(complex(x, y)) doesn't systematically equal hash(complex(y, x)) anymore.
|
|
|
|
|
|
|
| |
resized after creation. 0-length strings are usually shared
and _PyString_Resize() fails on these shared strings.
Fixes [ Bug #111667 ] unicode core dump.
|
|
|
|
| |
see: http://www.python.org/pipermail/python-dev/2000-August/014971.html
|
|
|
|
|
|
| |
Properly end a comment block. It was terminated fine later but by a subsequent
block and. It was also in #if 0. This patch is so trivial I can't believe I am
talking about it. :)
|
|
|
|
|
| |
return value to int is safe here because it previously checked that
there will be no overflow.
|
|
|
|
|
| |
huge switch statement broken up. This will probably not be necessary when
the Win64 compiler matures.
|
|
|
|
|
|
|
|
|
|
| |
change to regrtest.py to allow optional running of test_largefile ('cause it's
slow on Win64).
This closes patches:
http://sourceforge.net/patch/index.php?func=detailpatch&patch_id=100510&group_id=5470
and
http://sourceforge.net/patch/index.php?func=detailpatch&patch_id=100511&group_id=5470
|
|
|
|
| |
Closes Patch #101065.
|
| |
|
|
|
|
|
|
|
| |
function (together with other locale aware ones) should into a new collation
support module. See python-dev for a discussion of this removal.
Note: This patch should also be applied to the 1.6 branch.
|
| |
|
|
|
|
| |
Ensure that # of args to sprintf always matches # of format specifiers.
|
|
|
|
| |
snprintf() is available.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the Python Unicode implementation.
The internal buffer used for implementing the buffer protocol
is renamed to defenc to make this change visible. It now holds the
default encoded version of the Unicode object and is calculated
on demand (NULL otherwise).
Since the default encoding defaults to ASCII, this will mean that
Unicode objects which hold non-ASCII characters will no longer
work on C APIs using the "s" or "t" parser markers. C APIs must now
explicitly provide Unicode support via the "u", "U" or "es"/"es#"
parser markers in order to work with non-ASCII Unicode strings.
(Note: this patch will also have to be applied to the 1.6 branch
of the CVS tree.)
|
|
|
|
|
| |
Revise the tp_repr handler to produce a more "minimal" presentation.
Make the tolist() method use PyArg_ParseTuple() and provide a docstring.
|
|
|
|
|
|
| |
This doesn't change the copyright status for these files -- just the
markings! Doing it on the main branch for these three files for which
the HEAD revision was pushed back into 1.6.
|
|
|
|
|
| |
This is a notice without a date, which apparently is not a claim to
copyright but only advice to the reader. IANAL. :-)
|
|
|
|
| |
marked my*.h as obsolete
|
|
|
|
| |
Leave the actual #define in for API compatibility.
|
| |
|