Commit Graph

3188 Commits

Author SHA1 Message Date
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