Brett Cannon
2ee5183852
Remove an unneeded variable increment.
...
Found using Clang's static analyzer.
2010-05-05 20:27:49 +00:00
Brett Cannon
417439e6cd
Partially revert the over-reaching r80813.
2010-05-05 20:24:30 +00:00
Brett Cannon
0b03f10afb
Remove three unneeded variable assignments.
...
Found using Clang's static analyzer.
2010-05-05 20:20:19 +00:00
Antoine Pitrou
76c8649038
Issue #8276 : PyEval_CallObject() is now only available in macro form. The
...
function declaration, which was kept for backwards compatibility reasons,
is now removed (the macro was introduced in 1997!).
2010-04-01 16:42:11 +00:00
Benjamin Peterson
bb9d726357
take into account keyword arguments when passing too many args
2010-03-21 20:30:30 +00:00
Benjamin Peterson
965458931f
improve error message from passing inadequate number of keyword arguments #6474
...
Note this removes the "non-keyword" or "keyword" phrases from these messages.
2010-03-21 20:21:00 +00:00
Benjamin Peterson
88e7ebac4c
co_varnames is certainly a tuple, so let's not waste time finding out
2010-03-21 19:39:52 +00:00
Benjamin Peterson
d51b259b31
remove pointless condition
2010-03-21 19:35:39 +00:00
Benjamin Peterson
56472c2463
flatten condition
2010-03-21 19:24:08 +00:00
Benjamin Peterson
9c4742e6ce
more specific exception for wrong kind of raise #8082
2010-03-07 00:00:37 +00:00
Benjamin Peterson
ee46101e68
remove pointless error checking
2010-02-06 19:40:18 +00:00
Benjamin Peterson
565d78586b
normalize exceptions passed to the __exit__ method #7853
...
In Python 2.x, exceptions in finally blocks are not normalized. Since with
statements are implemented using finally blocks, ceval.c had to be tweaked to
distinguish between with finally blocks and normal ones.
A test for the finalization of generators containing with statements was also
added.
2010-02-05 02:12:14 +00:00
Alexandre Vassalotti
b646547bb4
Issue #2333 : Backport set and dict comprehensions syntax.
2010-01-11 22:36:12 +00:00
Alexandre Vassalotti
ee936a2130
Issue #2335 : Backport set literals syntax from Python 3.x.
2010-01-09 23:35:54 +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
Mark Dickinson
504a151c82
Issue #6603 : Fix --with-tsc build failures on x86-64 that resulted
...
from a gcc inline assembler peculiarity. (gcc's "A" constraint
apparently means 'rax or rdx' in 64-bit mode, not edx:eax
or rdx:rax as one might expect.)
2009-10-31 10:11:28 +00:00
Benjamin Peterson
4a3cf191f4
small optimization: avoid popping the current block until we have to
2009-07-01 23:45:19 +00:00
Benjamin Peterson
8f7b94eae9
use stack macros
2009-06-28 16:14:07 +00:00
Benjamin Peterson
b8338ab92c
add two generic macros for peeking and setting in the stack
2009-06-28 16:08:02 +00:00
Antoine Pitrou
46dbe27f7e
Issue #5330 : C functions called with keyword arguments were not reported by
...
the various profiling modules (profile, cProfile). Patch by Hagen Fürstenau.
2009-05-30 21:27:00 +00:00
Benjamin Peterson
1880d8b823
add a SETUP_WITH opcode
...
It speeds up the with statement and correctly looks up the special
methods involved.
2009-05-25 13:13:44 +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
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
68d6852006
Backport r69961 to trunk, replacing JUMP_IF_{TRUE,FALSE} with
...
POP_JUMP_IF_{TRUE,FALSE} and JUMP_IF_{TRUE,FALSE}_OR_POP. This avoids executing
a POP_TOP on each conditional and sometimes allows the peephole optimizer to
skip a JUMP_ABSOLUTE entirely. It speeds up list comprehensions significantly.
2009-02-28 19:03:21 +00:00
Collin Winter
8725dce2ae
Issue 5176: special-case string formatting in BINARY_MODULO implementation. This shows a modest (1-3%) speed-up in templating systems, for example.
2009-02-20 19:30:41 +00:00
Mark Dickinson
9e58a37252
Silence 'arg may be used uninitialized in this function' warning from gcc.
2009-02-08 17:33:11 +00:00
Benjamin Peterson
78821ddf8c
fix building the core with --disable-unicode
...
I changed some bytearray methods to use strings instead of unicode like bytes_repr
Also, bytearray.fromhex() can take strings as well as unicode
2009-01-25 17:15:10 +00:00
Benjamin Peterson
e18ef194d9
allow unicode keyword arguments for the ** syntax #4978
2009-01-20 14:21:16 +00:00
Kristján Valur Jónsson
0e91938e58
Issue 4293: Make Py_AddPendingCall() thread safe
2009-01-09 20:31:26 +00:00
Antoine Pitrou
d0c3515bc5
Issue #2183 : Simplify and optimize bytecode for list comprehensions.
2008-12-17 00:38:28 +00:00
Amaury Forgeot d'Arc
ad9b5992e3
#4559 : When a context manager's __exit__() method returns an object whose
...
conversion to bool raises an exception, 'with' loses that exception.
Reviewed by Jeffrey Yasskin.
Already ported to 2.5, will port to 2.6 and 3.0
2008-12-10 23:22:49 +00:00
Jeffrey Yasskin
2d873bd68b
Issue 4597: Fix several cases in EvalFrameEx where an exception could be
...
"raised" without setting x, err, or why to let the eval loop know.
2008-12-08 18:55:24 +00:00
Jeffrey Yasskin
fd8a1ec486
Speed up Python (according to pybench and 2to3-on-itself) by 1-2% by caching
...
whether any thread has tracing turned on, which saves one load instruction in
the fast_next_opcode path in PyEval_EvalFrameEx(). See issue 4477.
2008-12-03 06:46:45 +00:00
Antoine Pitrou
c2cc80c64e
Raymond's patch for #1819 : speedup function calls with named parameters
...
(35% faster according to pybench)
2008-07-25 22:13:52 +00:00
Jesse Noller
5e62ca4fea
Apply patch for 874900: threading module can deadlock after fork
2008-07-16 20:03:47 +00:00
Raymond Hettinger
afae11ea88
Update comment on prediction macros.
2008-07-05 02:11:55 +00:00
Georg Brandl
aa76d77e2b
Add a comment about incref'ing w.
2008-07-01 20:56:03 +00:00
Amaury Forgeot d'Arc
bdd941fac3
#3242 : fix a crash in "print", if sys.stdout is set to a custom object,
...
whose write() method installs another sys.stdout.
Will backport.
2008-07-01 20:38:04 +00:00
Gregory P. Smith
dd96db63f6
This reverts r63675 based on the discussion in this thread:
...
http://mail.python.org/pipermail/python-dev/2008-June/079988.html
Python 2.6 should stick with PyString_* in its codebase. The PyBytes_* names
in the spirit of 3.0 are available via a #define only. See the email thread.
2008-06-09 04:58:54 +00:00
Christian Heimes
593daf545b
Renamed PyString to PyBytes
2008-05-26 12:51:38 +00:00
Benjamin Peterson
f19a7b90bd
A little reformating of Py3k warnings
2008-04-27 18:40:21 +00:00
Benjamin Peterson
9f4f48114f
Use PyErr_WarnPy3k throughout
2008-04-27 03:01:45 +00:00
Georg Brandl
d5b635f196
Make Py3k warnings consistent w.r.t. punctuation; also respect the
...
EOL 80 limit and supply more alternatives in warning messages.
2008-03-25 08:29:14 +00:00
Guido van Rossum
504153d55b
Issue #2341 : Add a Py3k warning when raising an exception that doesn't
...
derive from BaseException.
2008-03-18 04:26:48 +00:00
Guido van Rossum
20bda581e3
Clean up the Py3k warnings for non-BaseException-subclasses a bit. We
...
now don't warn for some corner cases that deserve a warning, rather
than warning double or incorrectly for some other corner cases.
2008-03-18 03:15:05 +00:00
Guido van Rossum
04edb528ca
- Issue #2371 : Add a Py3k warning when catching an exception that
...
doesn't derive from BaseException.
2008-03-18 02:49:46 +00:00
Nick Coghlan
7af53be66f
Speed up with statements by storing the __exit__ method on the stack instead of in a temp variable (bumps the magic number for pyc files)
2008-03-07 14:13:28 +00:00
Jeffrey Yasskin
9063a99042
compile.c always emits END_FINALLY after WITH_CLEANUP, so predict that in
...
ceval.c. This is worth about a .03-.04us speedup on a simple with block.
2008-03-03 01:27:03 +00:00
Neal Norwitz
8250fbeac6
Reduce buffer size since we do not need 1k
2008-01-27 17:12:15 +00:00
Guido van Rossum
1d9a9eaa89
Fix two crashers.
2008-01-23 20:19:01 +00:00