Ezio Melotti
e57e50c8e7
Update PyUnicode_DecodeUTF8 from RFC 2279 to RFC 3629.
...
1) #8271 : when a byte sequence is invalid, only the start byte and all the
valid continuation bytes are now replaced by U+FFFD, instead of replacing
the number of bytes specified by the start byte.
See http://www.unicode.org/versions/Unicode5.2.0/ch03.pdf (pages 94-95);
2) 5- and 6-bytes-long UTF-8 sequences are now considered invalid (no changes
in behavior);
3) Add code and tests to reject surrogates (U+D800-U+DFFF) as defined in
RFC 3629, but leave it commented out since it's not backward compatible;
4) Change the error messages "unexpected code byte" to "invalid start byte"
and "invalid data" to "invalid continuation byte";
5) Add an extensive set of tests in test_unicode;
6) Fix test_codeccallbacks because it was failing after this change.
2010-06-05 17:51:07 +00:00
Mark Dickinson
77acee9567
Fix comment typo.
2010-06-05 12:51:21 +00:00
Mark Dickinson
e4b83e013b
Issue #8627 : Fix "XXX undetected error" from unchecked PyErr_WarnPy3k return.
...
This is just a quick fix: if the warning is turned into an exception, the
exception simply gets ignored.
2010-06-05 12:14:43 +00:00
Mark Dickinson
23f0d6b57b
Issue #8627 : remove out-of-date warning about overriding __cmp__
2010-06-05 11:52:24 +00:00
Benjamin Peterson
d5adb5d73d
_PyObject_LookupSpecial returns a new reference
2010-06-05 02:07:01 +00:00
Benjamin Peterson
67783b1f71
fix ref counting
2010-06-05 01:00:10 +00:00
Benjamin Peterson
039c585805
implement object.__format__ with PyObject_Format
2010-06-05 00:56:46 +00:00
Benjamin Peterson
3a2acb5040
remove PyType_Ready call; float should be initialized in interpreter startup
2010-06-05 00:38:22 +00:00
Benjamin Peterson
2aa6c38237
properly lookup the __format__ special method
2010-06-05 00:32:50 +00:00
Mark Dickinson
4ca7c3c089
Issue #8748 : Fix incorrect results from comparisons between an integer
...
and a complex instance. Based on a patch by Meador Inge.
2010-05-30 13:18:10 +00:00
Mark Dickinson
4b3035d0b8
Remove declaration for unused variable.
2010-05-30 12:17:11 +00:00
Mark Dickinson
813363743d
Issue #5211 : Complete removal of implicit coercions for the complex
...
type. Coercion for arithmetic operations was already removed in
r78280, but that commit didn't remove coercion for rich comparisons.
2010-05-30 12:12:25 +00:00
Georg Brandl
54d2898ef8
#8635 : document enumerate() start parameter in docstring.
2010-05-22 11:43:25 +00:00
Antoine Pitrou
83137c2e16
Issue #7079 : Fix a possible crash when closing a file object while using
...
it from another thread. Patch by Daniel Stutzbach.
2010-05-17 19:56:59 +00:00
Mark Dickinson
43ca377e45
Wrap multiline macros in a 'do {} while(0)', for safety.
2010-05-09 20:42:09 +00:00
Mark Dickinson
fda8d114ea
Post-detabification cleanup: whitespace fixes and long line rewraps only.
2010-05-09 20:30:29 +00:00
Antoine Pitrou
c83ea137d7
Untabify C files. Will watch buildbots.
2010-05-09 14:46:46 +00:00
Mark Dickinson
22ff664ff7
Issue #8659 : Remove redundant ABS calls. Thanks Daniel Stutzbach.
2010-05-08 08:01:19 +00:00
Brett Cannon
a8ac944924
Add back in a line that was unneeded which advanced a pointer, but commented
...
out as it is currently unneeded.
This effectively adds back in the line removed in r80809 as a comment.
2010-05-06 17:56:36 +00:00
Brett Cannon
8a478ced55
Remove an unneeded assignment.
...
Found using Clang's static analyzer.
2010-05-05 20:19:26 +00:00
Brett Cannon
fee3acb082
Remove an unneeded variable assignment.
...
Found using Clang's static analyzer.
2010-05-05 20:18:23 +00:00
Brett Cannon
eb3fef59b9
Remove an unneeded variable.
...
Found using Clang's static analyzer.
2010-05-05 20:16:50 +00:00
Brett Cannon
6f38175cbc
Remove an unneeded variable increment.
...
Found using Clang's static analyzer.
2010-05-05 20:16:09 +00:00
Alexandre Vassalotti
268e4872d3
Issue #8404 : Fix set operations on dictionary views.
2010-05-04 03:21:51 +00:00
Brett Cannon
0d8a859a85
Pull a NULL pointer check up to cover more cases in the function.
...
Found using Clang's static analyzer.
2010-05-04 01:23:36 +00:00
Brett Cannon
a7f13ee3f5
Remove an unneeded variable and assignment.
...
Found using Clang's static analyzer.
2010-05-04 01:16:51 +00:00
Mark Dickinson
328284adcf
Improve error message from nb_int returning a non-integer, in various PyInt_As* functions:
2010-05-02 09:38:43 +00:00
Raymond Hettinger
35b76027f9
Issue 8436: set.__init__ accepts keyword args
2010-04-18 22:57:57 +00:00
Benjamin Peterson
ae530c2bab
tiny simplification
2010-04-16 22:52:44 +00:00
Benjamin Peterson
821a8ea39f
have a clear error when passing something > sys.maxsize to bytearray
2010-04-16 22:35:38 +00:00
Stefan Krah
ef7590e943
Issue #8328 : Silence Visual Studio warnings.
2010-04-07 08:24:44 +00:00
Mark Dickinson
ea7e5510aa
Silence a 'comparison between signed and unsigned integer expressions' gcc warning.
2010-04-06 18:58:54 +00:00
Mark Dickinson
3ec9b942b5
Issue #8259 : Get rid of 'outrageous left shift count' error when
...
left-shifting an integer by more than 2**31 on a 64-bit machine. Also
convert shift counts to a Py_ssize_t instead of a C long.
2010-04-06 16:46:09 +00:00
Mark Dickinson
56506a6ed2
Use a better NaN test in _Py_HashDouble as well.
2010-04-05 18:54:51 +00:00
Mark Dickinson
5e0c2748fb
Use a more robust infinity check in _Py_HashDouble.
...
This fixes a test_decimal failure on FreeBSD 8.0. (modf apparently
doesn't follow C99 Annex F on FreeBSD.)
2010-04-05 18:07:51 +00:00
Raymond Hettinger
30583e3f38
Silence a compiler warning.
2010-04-03 17:10:05 +00:00
Benjamin Peterson
bea424af98
more _PyString_Resize error checking
2010-04-03 00:57:33 +00:00
Benjamin Peterson
6caf7ff505
always check _PyString_Resize for error
...
also normalize how this error is checked
2010-04-02 23:59:41 +00:00
Eric Smith
d44b2fc87c
Issue 7994: Make object.__format__ with a non-empty format string a PendingDecprecationWarning. Still need to remove uses of this from various tests.
2010-04-02 12:30:56 +00:00
Larry Hastings
5ac006dfd3
Capsule-related changes:
...
* PyCObject_AsVoidPtr() can now open capsules. This addresses
most of the remaining backwards-compatibility concerns about
the conversion of Python 2.7 from CObjects to capsules.
* CObjects were marked Pending Deprecation.
* Documentation about this pending deprecation was added to
cobject.h.
* The capsule source files were added to the legacy PC build
processes.
2010-04-02 11:01:35 +00:00
Antoine Pitrou
a57df2cf1d
Issue #8268 : Old-style classes (not just instances) now support weak
...
references.
2010-03-31 21:32:15 +00:00
Florent Xicluna
22b243809e
#7643 : Unicode codepoints VT (0x0B) and FF (0x0C) are linebreaks according to Unicode Standard Annex #14 .
2010-03-30 08:24:06 +00:00
Larry Hastings
402b73fb8d
Backported PyCapsule from 3.1, and converted most uses of
...
CObject to PyCapsule.
2010-03-25 00:54:54 +00:00
Victor Stinner
95affc4449
Issue #1583863 : An unicode subclass can now override the __str__ method
2010-03-22 12:24:37 +00:00
Collin Winter
001a3952c9
Add support for weak references to code objects. This will be used by an optimization in the incoming Python 3 JIT.
...
Patch by Reid Kleckner!
2010-03-18 21:54:01 +00:00
Florent Xicluna
2e0a53fdf6
Issue #8024 : Update the Unicode database to 5.2
2010-03-18 21:50:06 +00:00
Victor Stinner
17d905449d
Issue #7818 : set().test_c_api() doesn't expect a set('abc'), modify the set.
2010-03-13 00:13:22 +00:00
Ezio Melotti
fb501123e3
#8030 : more docstring fix for builtin types.
2010-02-28 23:59:00 +00:00
Georg Brandl
b36e63a5ee
The set types can also be called without arguments.
2010-02-28 18:26:37 +00:00
Georg Brandl
bca1169e94
#8030 : make builtin type docstrings more consistent: use "iterable" instead of "seq(uence)", use "new" to show that set() always returns a new object.
2010-02-28 18:19:17 +00:00
Ezio Melotti
321251567e
#7649 : "u'%c' % char" now behaves like "u'%s' % char" and raises a UnicodeDecodeError if 'char' is a byte string that can't be decoded using the default encoding.
2010-02-25 17:36:04 +00:00
Eric Smith
2d9856d6ce
Issue #7309 : Unchecked pointer access when converting UnicodeEncodeError, UnicodeDecodeError, and UnicodeTranslateError to strings.
2010-02-24 14:15:36 +00:00
Victor Stinner
f20f9c299e
Issue #7649 : Fix u'%c' % char for character in range 0x80..0xFF
...
=> raise an UnicodeDecodeError. Patch written by Ezio Melotti.
2010-02-23 23:16:07 +00:00
Eric Smith
87bcb243ac
Issue #6902 : Fix problem with built-in types format incorrectly with 0 padding.
2010-02-23 00:11:16 +00:00
Andrew M. Kuchling
00b6a5c03d
#7706 : DONT_HAVE_ERRNO_H is no longer defined by configure (after rev.46819).
2010-02-22 23:10:52 +00:00
Eric Smith
f32d4acead
Issue #7988 : Fix default alignment to be right aligned for complex.__format__. Now it matches other numeric types.
2010-02-22 18:33:47 +00:00
Ezio Melotti
bce3e17bd2
#7482 : clarify error message in case of division by zero of float and complex numbers.
2010-02-22 16:30:58 +00:00
Mark Dickinson
82b34c5dbe
Issue #5211 : Fix complex type to avoid implicit calls to
...
complex.__coerce__. Thanks Meador Inge for the patch.
2010-02-21 12:57:35 +00:00
Mark Dickinson
2d7911eda4
Silence more compiler warnings; fix an instance of potential undefined behaviour from signed overflow.
2010-02-14 12:31:26 +00:00
Mark Dickinson
ac5685eb67
Silence some 'comparison between signed and unsigned' compiler warnings.
2010-02-14 12:16:43 +00:00
Antoine Pitrou
bb445a1f22
Issue #5677 : Explicitly forbid write operations on read-only file objects,
...
and read operations on write-only file objects. On Windows, the system C
library would return a bogus result; on Solaris, it was possible to crash
the interpreter. Patch by Stefan Krah.
2010-02-05 17:05:54 +00:00
Antoine Pitrou
526e421b12
Issue #7385 : Fix a crash in `MemoryView_FromObject` when
...
`PyObject_GetBuffer` fails. Patch by Florent Xicluna.
2010-02-02 22:36:17 +00:00
Mark Dickinson
a36507c64c
Issue #7767 : Add new C-API function PyLong_AsLongLongAndOverflow, a
...
long long variant of PyLong_AsLongAndOverflow. Patch by Case Van
Horsen.
2010-01-30 10:08:33 +00:00
Mark Dickinson
36ecd676ea
Issue #7788 : Fix a crash produced by deleting a list slice with huge
...
step value. Patch by Marcin Bachry.
2010-01-29 17:11:39 +00:00
Ezio Melotti
1fafaab5e5
#7775 : fixed docstring for rpartition
2010-01-25 11:24:37 +00:00
Antoine Pitrou
e80a6a4ead
Issue #7561 : Operations on empty bytearrays (such as `int(bytearray())`)
...
could crash in many places because of the PyByteArray_AS_STRING() macro
returning NULL. The macro now returns a statically allocated empty
string instead.
2010-01-17 12:26:20 +00:00
Georg Brandl
aee900338e
Add note about usage of STRINGLIB_EMPTY.
2010-01-17 12:14:42 +00:00
Ezio Melotti
d234208588
Fixed typo
2010-01-14 11:34:10 +00:00
Antoine Pitrou
10042922d9
Sanitize bloom filter macros
2010-01-13 14:01:26 +00:00
Antoine Pitrou
a913a20c91
Test commit to try to diagnose failures of the IA-64 buildbot
2010-01-13 13:43:37 +00:00
Antoine Pitrou
5c767c2f87
Fix Windows build (re r77461)
2010-01-13 08:55:20 +00:00
Antoine Pitrou
6467213bfd
Issue #7622 : Improve the split(), rsplit(), splitlines() and replace()
...
methods of bytes, bytearray and unicode objects by using a common
implementation based on stringlib's fast search. Patch by Florent Xicluna.
2010-01-13 07:55:48 +00:00
Alexandre Vassalotti
58a96efde5
Fixed repr of dictionary views.
2010-01-12 01:34:43 +00:00
Alexandre Vassalotti
69eb51697c
Issue #1967 : Backport dictionary views.
2010-01-11 23:17:10 +00:00
Benjamin Peterson
3694366af5
factor out __complex__ lookup code to fix another case
2010-01-04 01:00:47 +00:00
Benjamin Peterson
ecdae19fbe
do correct lookup of the __complex__ method
2010-01-04 00:43:01 +00:00
Antoine Pitrou
5b7139aab4
Issue #7462 : Implement the stringlib fast search algorithm for the `rfind`,
...
`rindex`, `rsplit` and `rpartition` methods. Patch by Florent Xicluna.
2010-01-02 21:12:58 +00:00
Mark Dickinson
d3e323215c
Refactor some longobject internals: PyLong_AsDouble and _PyLong_AsScaledDouble
...
(the latter renamed to _PyLong_Frexp) now use the same core code. The
exponent produced by _PyLong_Frexp now has type Py_ssize_t instead of the
previously used int, and no longer needs scaling by PyLong_SHIFT. This
frees the math module from having to know anything about the PyLong
implementation. This closes issue #5576 .
2010-01-02 14:45:40 +00:00
Mark Dickinson
99d652ef66
Issue #7534 : Fix handling of nans, infinities, and negative zero in **
...
operator, on IEEE 754 platforms. Thanks Marcos Donolo for original patch.
2009-12-30 12:12:23 +00:00
Mark Dickinson
4657283647
Issue #1811 : Improve accuracy and consistency of true division for integers.
2009-12-27 14:55:57 +00:00
Ezio Melotti
f84caf4eda
#6108 : unicode(exception) and str(exception) should return the same message
2009-12-24 22:25:17 +00:00
Mark Dickinson
e31d300664
Issue #7528 : Backport PyLong_AsLongAndOverflow from py3k to trunk.
...
Thanks Case Van Horsen for the patch.
2009-12-21 11:21:25 +00:00
Benjamin Peterson
0c0dcaf272
remove type_compare, since type_richcompare does the same trick
2009-12-16 03:36:22 +00:00
R. David Murray
0a0a1a842c
Issue #1680159 : unicode coercion during an 'in' operation was masking
...
any errors that might occur during coercion of the left operand and
turning them into a TypeError with a message text that was confusing in
the given context. This patch lets any errors through, as was already
done during coercion of the right hand side.
2009-12-14 16:28:26 +00:00
Benjamin Peterson
4895af4ef1
fix the ignoring of __cmp__ method on metaclasses #7491
2009-12-13 16:36:53 +00:00
Antoine Pitrou
c169c781a8
Issue #7466 : segmentation fault when the garbage collector is called
...
in the middle of populating a tuple. Patch by Florent Xicluna.
(note: no NEWS entry for trunk since the bug was introduced in 2.7/3.1)
2009-12-12 19:13:08 +00:00
Benjamin Peterson
5fb877027b
substitute PyDict_Check() for PyObject_IsInstance
2009-12-10 03:37:59 +00:00
Mark Dickinson
1691025ff2
Avoid undefined behaviour due to overflow in i_divmod (Objects/intobject.c).
2009-12-04 11:24:38 +00:00
Benjamin Peterson
91c12ebc3d
disable pymalloc tricks with the --with-valgrind option #2422
...
Patch from James Henstridge.
2009-12-03 02:52:39 +00:00
Mark Dickinson
34398184eb
Issue #7406 : Fix some occurrences of potential signed overflow in int
...
arithmetic.
2009-12-02 17:33:41 +00:00
Eric Smith
c4ab8339e9
Issue #3382 : Make '%F' and float.__format__('F') convert results to upper case. Much of the patch came from Mark Dickinson.
2009-11-29 17:40:57 +00:00
Mark Dickinson
31f0cfef0e
Include ieeefp.h (when available) in pyport.h instead of individually in
...
Objects/floatobject.c and Objects/complexobject.c. This should silence
compiler warnings about implicit declaration of the 'finite' function
on Solaris.
2009-11-28 12:30:36 +00:00
Mark Dickinson
9dd5e16c5d
Issue #7117 , continued: Remove substitution of %g-style formatting for
...
%f-style formatting, which used to occur at high precision. Float formatting
should now be consistent between 2.7 and 3.1.
2009-11-23 20:54:09 +00:00
Mark Dickinson
18cfada1ea
Remove restriction on precision when formatting floats. This is the
...
first step towards removing the %f -> %g switch (see issues 7117,
5859).
2009-11-23 18:46:41 +00:00
Benjamin Peterson
dc3c239b1e
#5037 proxy __unicode__ correctly
2009-11-19 03:00:02 +00:00
Raymond Hettinger
79628d311f
Issue 7263: Fix set.intersection() docstring.
2009-11-18 20:28:22 +00:00
Mark Dickinson
bd15a06fd3
Issue #7117 , continued: Change round implementation to use the correctly-rounded
...
string <-> float conversions; this makes sure that the result of the round
operation is correctly rounded, and hence displays nicely using the new float
repr.
2009-11-18 19:33:35 +00:00
Mark Dickinson
3d6790e49f
Silence another MSVC warning about unary minus.
2009-11-16 19:17:16 +00:00
Mark Dickinson
b2c3ca1e38
Silence MSVC warning about unary minus applied to unsigned type.
2009-11-16 17:33:25 +00:00
Mark Dickinson
82864d1ab1
Issue #7228 : Add '%lld' and '%llu' support to PyFormat_FromString,
...
PyFormat_FromStringV and PyErr_Format.
2009-11-15 16:18:58 +00:00