Commit Graph

65 Commits

Author SHA1 Message Date
Christian Heimes dfaf90da9c Cleanup 'k' when the creation of PySTEntryObject fails. ad3824a90261 used to decref 'k' in too many error cases. 2012-09-12 17:58:10 +02:00
Christian Heimes 65a0141e14 Partly revert ad3824a90261 and add comment about reference ownership 2012-09-12 17:52:46 +02:00
Christian Heimes 8c1bce00d2 Closed reference leak of variable 'k' in function ste_new which wasn't decrefed in error cases 2012-09-10 03:08:46 +02:00
Benjamin Peterson 045bbcdc8e Merged revisions 85757 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85757 | benjamin.peterson | 2010-10-20 16:25:23 -0500 (Wed, 20 Oct 2010) | 1 line

  fix uninitialized struct member #10152
........
2010-10-20 21:28:09 +00:00
Benjamin Peterson f76942d6bf Merged revisions 85562 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85562 | benjamin.peterson | 2010-10-15 22:45:45 -0500 (Fri, 15 Oct 2010) | 1 line

  don't identify the toplevel namespace by name #9997
........
2010-10-16 03:51:38 +00:00
Benjamin Peterson c6660cf4d6 different spellings are just unacceptable 2010-06-11 21:40:37 +00:00
Antoine Pitrou c83ea137d7 Untabify C files. Will watch buildbots. 2010-05-09 14:46:46 +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
Benjamin Peterson 009b89d22a genexps have linenos 2009-11-20 01:16:58 +00:00
Benjamin Peterson d16d0abf0b provide line number for lambdas 2009-11-20 01:15:53 +00:00
Benjamin Peterson 1a4ceb2f4b fix grammar 2009-06-23 01:18:57 +00:00
Benjamin Peterson d9920c255d remove tmpname support since it's no longer used 2009-06-21 23:03:36 +00:00
Benjamin Peterson f67caf8523 don't need to add the name 'lambda' as assigned 2009-06-21 23:01:07 +00:00
Benjamin Peterson 985951df7f fix error handling 2009-04-02 02:52:46 +00:00
Jeremy Hylton 2696275348 Add check for PyDict_Update() error. 2009-03-31 15:04:15 +00:00
Jeremy Hylton 88f1c04215 Global statements from one function leaked into parallel functions.
Re http://bugs.python.org/issue4315

The symbol table used the same name dictionaries to recursively
analyze each of its child blocks, even though the dictionaries are
modified during analysis.  The fix is to create new temporary
dictionaries via the analyze_child_block().  The only information that
needs to propagate back up is the names of the free variables.

Add more comments and break out a helper function.  This code doesn't
get any easier to understand when you only look at it once a year.
2009-03-31 13:48:15 +00:00
Benjamin Peterson 25f2d89f32 uhh PySTEntry->ste_unoptimized has to be exposed too 2008-08-17 02:23:43 +00:00
Benjamin Peterson e0d4c7b5bd expose PySTEntry.nested so the symtable module will work 2008-08-17 01:09:17 +00:00
Benjamin Peterson e0d12eb85c PySTEntry's constructor is static; there's no point in a fancy API name 2008-08-16 23:29:40 +00:00
Benjamin Peterson 0847332716 include filename and line number in SyntaxError 2008-08-16 22:11:33 +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
Georg Brandl a48f3ab895 Patch #2511: Give the "excepthandler" AST item proper attributes by making it a Sum. 2008-03-30 06:40:17 +00:00
Neal Norwitz 5becac576c Handle memory allocation failure. Found by Adam Olsen 2008-03-15 22:36:01 +00:00
Christian Heimes 5224d28d38 Patch #1759: Backport of PEP 3129 class decorators
with some help from Georg
2008-02-23 15:01:05 +00:00
Martin v. Löwis 6819210b9e PEP 3123: Provide forward compatibility with Python 3.0, while keeping
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
2007-07-21 06:55:02 +00:00
Neal Norwitz 7605936dee Handle PyString_FromInternedString() failing (unlikely, but possible).
Klocwork #325

(I'm not backporting this, but if someone wants to, feel free.)
2006-08-19 04:52:03 +00:00
Neal Norwitz 6f5ff3f3eb Klocwork made another run and found a bunch more problems.
This is the first batch of fixes that should be easy to verify based on context.

This fixes problem numbers: 220 (ast), 323-324 (symtable),
321-322 (structseq), 215 (array), 210 (hotshot), 182 (codecs), 209 (etree).
2006-08-12 01:43:40 +00:00
Neal Norwitz 18b6adf9b2 Handle more mem alloc issues found with failmalloc 2006-07-23 07:50:36 +00:00
Neal Norwitz b59d08c2fb Fix more memory allocation issues found with failmalloc. 2006-07-22 16:20:49 +00:00
Neal Norwitz d12bd012a6 Handle more memory allocation failures without crashing. 2006-07-21 07:59:47 +00:00
Georg Brandl ddbaa660d3 Patch #1346214: correctly optimize away "if 0"-style stmts
(thanks to Neal for review)
2006-06-04 21:56:52 +00:00
Anthony Baxter 019aec618a Make symtable.c safe for C++ compilers. Changed macros in the same way as
compile.c to add a cast.
2006-04-12 04:00:50 +00:00
Neal Norwitz 090b3dde06 No need to export PySTEntry_New, it is only used in symtable.c 2006-02-28 22:36:46 +00:00
Guido van Rossum c2e20744b2 PEP 343 -- the with-statement.
This was started by Mike Bland and completed by Guido
(with help from Neal).

This still needs a __future__ statement added;
Thomas is working on Michael's patch for that aspect.

There's a small amount of code cleanup and refactoring
in ast.c, compile.c and ceval.c (I fixed the lltrace
behavior when EXT_POP is used -- however I had to make
lltrace a static global).
2006-02-27 22:32:47 +00:00
Thomas Wouters dca3b9c797 PEP 308 implementation, including minor refdocs and some testcases. It
breaks the parser module, because it adds the if/else construct as well as
two new grammar rules for backward compatibility. If no one else fixes
parsermodule, I guess I'll go ahead and fix it later this week.

The TeX code was checked with texcheck.py, but not rendered. There is
actually a slight incompatibility:

>>> (x for x in lambda:0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: iteration over non-sequence

changes into

>>> (x for x in lambda: 0)
  File "<stdin>", line 1
    (x for x in lambda: 0)
                     ^
SyntaxError: invalid syntax

Since there's no way the former version can be useful, it's probably a
bugfix ;)
2006-02-27 00:24:13 +00:00
Martin v. Löwis d96ee90993 Use Py_ssize_t to count the 2006-02-16 14:37:16 +00:00
Martin v. Löwis 18e165558b Merge ssize_t branch. 2006-02-15 17:27:45 +00:00
Tim Peters d8fe7ab711 analyze_cells(): This no longer compiled under VC 7.1.
Move declaration of local `flags` to top of block.
2006-01-08 02:19:07 +00:00
Neal Norwitz 46b7bda9bc Fix icc warnings: conversion from "long" to "int" may lose significant bits 2006-01-08 01:06:06 +00:00
Neal Norwitz daf595f8a9 Fix icc warnings: shadowing local variable (i) and complex is set but not used, so remove 2006-01-07 21:24:54 +00:00
Neal Norwitz 5d0ad50f5a Bug #889500, fix line number on SyntaxWarning for global declarations. 2005-12-19 04:27:42 +00:00
Neal Norwitz 3715c3e576 Fix a few more ref leaks. Backport candidate 2005-11-24 22:09:18 +00:00
Neal Norwitz 4737b2348b Last batch of ref leaks in new AST code.
Also converted a bunch of assert(0) to SystemError's.

There are still printfs, etc that need to be cleaned up.
2005-11-19 23:58:29 +00:00
Nick Coghlan 99b2533539 Bring handling of genexpr in line with other anonymous scope names 2005-11-16 12:45:24 +00:00
Neal Norwitz b6fc9df8fc Fix a lot of memory and ref leaks in error paths.
(Call symtable_exit_block or compiler_exit_scope as appropriate)

Use PyMem_Free on c_future since it was allocated with PyMem_Malloc
2005-11-13 18:50:34 +00:00
Neal Norwitz 62c2fac9a0 Do not pollute name block_ty, prefix with _Py_ 2005-10-24 00:30:44 +00:00
Neil Schemenauer 2dfcef5c57 Fix check_unoptimized() function. The only optimized namespaces are
in function blocks.  This elimiates spurious warnings about "import *" and
related statements at the class level.
2005-10-23 18:50:36 +00:00
Neil Schemenauer 8b528b28f1 Fix private name mangling. The symtable also must do mangles so that
the scope of names can be correctly determined.
2005-10-23 18:37:42 +00:00