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
Mark Dickinson
009ae861f2
Avoid signed overflow in some xrange calculations, and extend
...
xrange tests to cover some special cases that caused problems
in py3k. This is a partial backport of r76292-76293 (see
issue #7298.)
2009-11-15 12:31:13 +00:00
Benjamin Peterson
c45a0cfb5f
grant list.index() a more informative error message #7252
2009-11-02 16:14:19 +00:00
Benjamin Peterson
e2caf1f60e
prevent a rather unlikely segfault
2009-11-02 15:06:45 +00:00
Mark Dickinson
c04c7c5b72
Issue #7117 : Use PyOS_string_to_double instead of PyOS_ascii_strtod in
...
complexobject.c. Also remove length restriction on unicode inputs to
the complex constructor.
2009-10-26 22:28:14 +00:00
Mark Dickinson
8568b19850
Issue #7117 : Use PyOS_string_to_double instead of PyOS_ascii_strtod in
...
floatobject.c. Also, remove limitation on length of unicode inputs to
float().
2009-10-26 21:11:20 +00:00
Eric Smith
c1bdf89145
Finished removing _PyOS_double_to_string, as mentioned in issue 7117.
2009-10-26 17:46:17 +00:00
Eric Smith
cfaf79c56e
Start to remove _PyOS_double_to_string, as mentioned in issue 7117.
2009-10-26 14:48:55 +00:00
Mark Dickinson
8d87dc0c29
Issue #1087418 : Small performance boost for bitwise operations on longs.
...
Initial patch by Gregory Smith; some tweaks added.
2009-10-25 20:39:06 +00:00
Eric Smith
8c3fb39440
Removed unused function PyFloat_AsStringEx. It is unused in floatobject.c, and it's not declared in any .h file.
2009-10-24 19:50:44 +00:00
Benjamin Peterson
97a57ec048
rewrite for style, clarify, and comments
...
Also, use the hasattr() like scheme of allowing BaseException exceptions through.
2009-10-22 02:50:38 +00:00
Benjamin Peterson
3c67afa714
whitespace
2009-10-22 02:26:47 +00:00
Eric Smith
b327258d4f
Removed usage of unsafe PyFloat_AsString.
2009-10-16 14:26:36 +00:00
Mark Dickinson
08133af12e
Issue #7142 : Fix uses of unicode in memoryview objects
2009-10-15 15:53:58 +00:00
Benjamin Peterson
196b0925ca
only clear a module's __dict__ if the module is the only one with a reference to it #7140
2009-10-15 15:44:46 +00:00
Mark Dickinson
9d109742c0
Fix missing semicolon
2009-10-15 15:18:55 +00:00
Georg Brandl
9b4e5820cb
#7116 : str.join() takes an iterable.
2009-10-14 18:48:32 +00:00
Amaury Forgeot d'Arc
5c92d4301d
#7112 : Fix compilation warning in unicodetype_db.h
...
makeunicodedata now generates double literals
2009-10-13 21:29:34 +00:00
Antoine Pitrou
beaf6a02f4
Issue #7084 : Fix a (very unlikely) crash when printing a list from one
...
thread, and mutating it from another one. Patch by Scott Dial.
2009-10-11 21:03:26 +00:00
Amaury Forgeot d'Arc
d0052d17b1
#1571184 : makeunicodedata.py now generates the functions _PyUnicode_ToNumeric,
...
_PyUnicode_IsLinebreak and _PyUnicode_IsWhitespace.
It now also parses the Unihan.txt for numeric values.
2009-10-06 19:56:32 +00:00
Mark Dickinson
71adc9328d
Style/consistency/nano-optimization nit: replace occurrences of
...
(high_bits << PyLong_SHIFT) + low_bits with
(high_bits << PyLong_SHIFT) | low_bits
in Objects/longobject.c. Motivation:
- shouldn't unnecessarily mix bit ops with arithmetic ops (style)
- this pattern should be spelt the same way thoughout (consistency)
- it's very very very slightly faster: no need to worry about
carries to the high digit (nano-optimization).
2009-09-28 16:52:40 +00:00
Kristján Valur Jónsson
b331802f97
http://bugs.python.org/issue6836
...
A missing 'const' wasn't detected by Visual Studio.
2009-09-28 15:56:25 +00:00
Kristján Valur Jónsson
02ca57ce4c
http://bugs.python.org/issue6836
...
The debug memory api now keeps track of which external API (PyMem_* or PyObject_*) was used to allocate each block and treats any API violation as an error. Added separate _PyMem_DebugMalloc functions for the Py_Mem API instead of having it use the _PyObject_DebugMalloc functions.
2009-09-28 13:12:38 +00:00
Mark Dickinson
4b9d473d0a
Issue #6713 : Improve decimal int -> string conversions. Thanks Gawain
...
Bolton for the suggestion and original patches.
2009-09-27 16:05:21 +00:00
Ezio Melotti
a9a7611fb6
#6994 : fix typo in enumerate docstring
2009-09-25 16:07:55 +00:00
Mark Dickinson
40ee861c0a
Silence MSVC compiler warnings.
2009-09-21 16:16:44 +00:00
Benjamin Peterson
dc782b55f2
backport keyword argument support for bytearray.decode
2009-09-18 21:46:21 +00:00
Benjamin Peterson
332d721750
add keyword arguments support to str/unicode encode and decode #6300
2009-09-18 21:14:55 +00:00
Benjamin Peterson
4fe03350b5
use macros
2009-09-17 21:33:46 +00:00
Georg Brandl
e9741f3ed8
Issue #6922 : Fix an infinite loop when trying to decode an invalid
...
UTF-32 stream with a non-raising error handler like "replace" or "ignore".
2009-09-17 11:28:09 +00:00
Mark Dickinson
aa2adc828a
Issue #6713 : Improve performance of str(n) and repr(n) for integers n
...
(up to 3.1 times faster in tests), by special-casing base 10 in
_PyLong_Format. (Backport of r74851 from py3k.)
2009-09-16 22:10:56 +00:00
Georg Brandl
0674d3fb5f
#6844 : do not emit DeprecationWarnings on access if Exception.message has been set by the user.
...
This works by always setting it in __dict__, except when it's implicitly set in __init__.
2009-09-16 20:30:09 +00:00
Mark Dickinson
1f4fc097f6
Fix potential signed-overflow bug in _PyLong_Format; also fix
...
a couple of whitespace issues.
2009-09-13 11:56:13 +00:00
Mark Dickinson
752a2daf32
Remove redundant assignment
2009-09-06 20:51:37 +00:00
Mark Dickinson
135a7cf540
Issue #6847 : s/bytes/bytearray/ in some bytearray error messages. Thanks Hagen Fürstenau.
2009-09-06 10:32:21 +00:00
Mark Dickinson
c8a7c7c3b9
Issue #6846 : bytearray.pop was returning ints in the range [-128, 128)
...
instead of [0, 256). Thanks Hagen Fürstenau for the report and fix.
2009-09-06 10:03:31 +00:00
Benjamin Peterson
6fcf9b50bc
remove the check that classmethod's argument is a callable
2009-09-01 22:27:57 +00:00
Mark Dickinson
2fdd58ad18
Silence gcc 'comparison always false' warning
2009-08-28 20:46:24 +00:00
Benjamin Peterson
4c6e8088f5
#6707 fix a crash with dir() on an uninitialized module
2009-08-15 13:16:38 +00:00
Eric Smith
5c4a5d2911
Issue 6330: Fix --enable-unicode=ucs4.
2009-07-30 13:39:44 +00:00
Raymond Hettinger
c2b9e1a134
Issue 6573: Fix set.union() for cases where self is in the argument chain.
2009-07-27 20:32:04 +00:00
Eric Smith
e94a826304
Sync trunk and py3k versions of string formatting. Will manually merge into py3k.
2009-07-27 01:58:25 +00:00
Benjamin Peterson
9119fbc683
clarify
2009-07-25 02:03:48 +00:00
Georg Brandl
ec812caf5d
Issue #6540 : Fixed crash for bytearray.translate() with invalid parameters.
2009-07-22 11:57:15 +00:00
Benjamin Peterson
24d9175ebe
must use _PyThreadState_Current so it isn't checked for NULL #6530
2009-07-21 14:08:40 +00:00
Alexandre Vassalotti
fd00916c2e
Grow the allocated buffer in PyUnicode_EncodeUTF7 to avoid buffer overrun.
...
Without this change, test_unicode.UnicodeTest.test_codecs_utf7 crashes in
debug mode. What happens is the unicode string u'\U000abcde' with a length
of 1 encodes to the string '+2m/c3g-' of length 8. Since only 5 bytes is
reserved in the buffer, a buffer overrun occurs.
2009-07-07 02:17:30 +00:00
Benjamin Peterson
1bf4765369
only order comparisons are removed in py3k #6119
2009-07-02 17:06:17 +00:00
Hirokazu Yamamoto
5c3dd9a1ee
Issue #6368 : Fixed unused variable warning on Unix.
2009-06-29 15:52:21 +00:00
Hirokazu Yamamoto
a3c5609079
Issue #4856 : Remove checks for win NT.
2009-06-28 10:23:00 +00:00
Amaury Forgeot d'Arc
595f7a5bf9
#2016 Fix a crash in function call when the **kwargs dictionary is mutated
...
during the function call setup.
This even gives a slight speedup, probably because tuple allocation
is faster than PyMem_NEW.
2009-06-25 22:29:29 +00:00
Raymond Hettinger
62641e9534
Issue 6329: Fix iteration for memoryviews.
2009-06-23 20:59:43 +00:00
Benjamin Peterson
bf9ec9ba67
add underscores
2009-06-16 23:13:09 +00:00
Georg Brandl
af01c03e14
Remove unused macro.
2009-06-16 17:43:44 +00:00
Alexandre Vassalotti
55bd1efb2a
Clear reference to the static PyExc_RecursionErrorInst in _PyExc_Fini.
2009-06-12 18:56:57 +00:00
Georg Brandl
18187e2167
#6224 : s/JPython/Jython/, and remove one link to a module nine years old.
2009-06-06 18:21:58 +00:00
Benjamin Peterson
064a381a14
use the offical api
2009-06-04 01:40:29 +00:00
Antoine Pitrou
25de0dd89b
Fix compilation error with gcc 4.3.2
2009-06-01 23:23:16 +00:00
Amaury Forgeot d'Arc
b02ceda3a5
#4547 : When debugging a very large function, it was not always
...
possible to update the lineno attribute of the current frame.
2009-06-01 20:53:18 +00:00
Antoine Pitrou
d11f7fcc0f
Uninitialized file type would lead to __exit__ lookup failure when site.py
...
tries to read *.pth files on interpreter startup.
2009-05-31 18:05:51 +00:00
Raymond Hettinger
578a228ee2
Issue 5982: Classmethod and staticmethod expose wrapped function with __func__.
2009-05-29 04:58:52 +00:00
Benjamin Peterson
1afec5d6bf
plug ref leak
2009-05-27 03:08:44 +00:00
Benjamin Peterson
39d43b4660
correctly handle descrs with __missing__
2009-05-27 02:43:46 +00:00
Benjamin Peterson
87e5006d8c
handle errors from _PyObject_LookupSpecial when __get__ fails
2009-05-25 02:40:21 +00:00
Jeffrey Yasskin
655d835415
Issue #6042 :
...
lnotab-based tracing is very complicated and isn't documented very well. There
were at least 3 comment blocks purporting to document co_lnotab, and none did a
very good job. This patch unifies them into Objects/lnotab_notes.txt which
tries to completely capture the current state of affairs.
I also discovered that we've attached 2 layers of patches to the basic tracing
scheme. The first layer avoids jumping to instructions that don't start a line,
to avoid problems in if statements and while loops. The second layer
discovered that jumps backward do need to trace at instructions that don't
start a line, so it added extra lnotab entries for 'while' and 'for' loops, and
added a special case for backward jumps within the same line. I replaced these
patches by just treating forward and backward jumps differently.
2009-05-23 23:23:01 +00:00
Eric Smith
4b94b192ff
Issue 6089: str.format raises SystemError.
2009-05-23 13:56:13 +00:00
Mark Dickinson
a4e0efa4b1
Issue #5829 : don't raise OverflowError for complex('1e500'). Backport of r72803.
2009-05-20 18:43:07 +00:00
Jeffrey Yasskin
c8d30fec16
Fix issue #1689458 by teaching frame_setlineno how to jump to the first line of
...
a code object.
2009-05-20 17:57:57 +00:00
Jeffrey Yasskin
61328eef1f
While I was modifying test_trace, it threw an exception when I accidentally
...
made it try to set the line number from the trace callback for a 'call' event.
This patch makes the error message a little more helpful in that case, and
makes it a little less likely that a future editor will make the same mistake
in test_trace.
2009-05-18 21:14:54 +00:00
Mark Dickinson
50626db437
Issue #6044 : remove confusing wording from complex -> integer and
...
complex -> float conversion error messages.
2009-05-17 10:38:30 +00:00
Hirokazu Yamamoto
b24bb27d22
Issue #3527 : Removed Py_WIN_WIDE_FILENAMES which is not used any more.
2009-05-17 02:52:09 +00:00
Benjamin Peterson
a27dbc68f0
completely ignore old-style stuff for type checking overloading
2009-05-16 22:40:56 +00:00
Benjamin Peterson
94eaba78b7
deal with old-style classes in issubclass and isinstance
2009-05-16 22:30:48 +00:00
Benjamin Peterson
fb6fb062e8
properly lookup __instancecheck__ and __subclasscheck__
2009-05-16 21:44:25 +00:00
Mark Dickinson
b1d45856c2
Issue #5981 : Fix some float.fromhex bugs related to inf and nan handling.
2009-05-11 15:33:08 +00:00
Benjamin Peterson
ceea163e7c
clear error state properly
2009-05-09 19:18:36 +00:00
Benjamin Peterson
a7dc949e17
ignore AttributeErrors for classic classes
2009-05-09 19:03:05 +00:00
Benjamin Peterson
784d455066
*sigh* deal with instances correctly
2009-05-09 17:23:03 +00:00
Benjamin Peterson
0a32f9c448
can't handle classic classes here
2009-05-09 17:13:10 +00:00
Benjamin Peterson
3f3d36bd03
ignore classic classes
2009-05-09 16:51:51 +00:00
Benjamin Peterson
af1692a266
convert some more special methods to use _PyObject_LookupSpecial
2009-05-09 16:36:39 +00:00
Benjamin Peterson
809e22543f
lookup __reversed__ correctly as a special method
2009-05-09 02:07:04 +00:00
Jeffrey Yasskin
f7f858d141
Issue 5954, PyFrame_GetLineNumber:
...
Most uses of PyCode_Addr2Line
(http://www.google.com/codesearch?q=PyCode_Addr2Line ) are just trying to get
the line number of a specified frame, but there's no way to do that directly.
Forcing people to go through the code object makes them know more about the
guts of the interpreter than they should need.
The remaining uses of PyCode_Addr2Line seem to be getting the line from a
traceback (for example,
http://www.google.com/codesearch/p?hl=en#u_9_nDrchrw/pygame-1.7.1release/src/base.c&q=PyCode_Addr2Line ),
which is replaced by the tb_lineno field. So we may be able to deprecate
PyCode_Addr2Line entirely for external use.
2009-05-08 22:23:21 +00:00
Jeffrey Yasskin
1aa4700234
PyCode_NewEmpty:
...
Most uses of PyCode_New found by http://www.google.com/codesearch?q=PyCode_New
are trying to build an empty code object, usually to put it in a dummy frame
object. This patch adds a PyCode_NewEmpty wrapper which lets the user specify
just the filename, function name, and first line number, instead of also
requiring lots of code internals.
2009-05-08 21:51:06 +00:00
Benjamin Peterson
3a9930db47
this is now a bound method
2009-05-08 03:29:26 +00:00
Benjamin Peterson
399e4c4f8f
add _PyObject_LookupSpecial to handle fetching special method lookup
2009-05-08 03:06:00 +00:00