Mercurial > cpython-lru_cache-weakref
comparison Python/Python-ast.c @ 41824:24b60622b944
Merged revisions 55407-55513 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/p3yk
................
r55413 | fred.drake | 2007-05-17 12:30:10 -0700 (Thu, 17 May 2007) | 1 line
fix argument name in documentation; match the implementation
................
r55430 | jack.diederich | 2007-05-18 06:39:59 -0700 (Fri, 18 May 2007) | 1 line
Implements class decorators, PEP 3129.
................
r55432 | guido.van.rossum | 2007-05-18 08:09:41 -0700 (Fri, 18 May 2007) | 2 lines
obsubmit.
................
r55434 | guido.van.rossum | 2007-05-18 09:39:10 -0700 (Fri, 18 May 2007) | 3 lines
Fix bug in test_inspect. (I presume this is how it should be fixed;
Jack Diedrich, please verify.)
................
r55460 | brett.cannon | 2007-05-20 00:31:57 -0700 (Sun, 20 May 2007) | 4 lines
Remove the imageop module. With imgfile already removed in Python 3.0 and
rgbimg gone in Python 2.6 the unit tests themselves were made worthless. Plus
third-party libraries perform the same function much better.
................
r55469 | neal.norwitz | 2007-05-20 11:28:20 -0700 (Sun, 20 May 2007) | 118 lines
Merged revisions 55324-55467 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r55348 | georg.brandl | 2007-05-15 13:19:34 -0700 (Tue, 15 May 2007) | 4 lines
HTML-escape the plain traceback in cgitb's HTML output, to prevent
the traceback inadvertently or maliciously closing the comment and
injecting HTML into the error page.
........
r55372 | neal.norwitz | 2007-05-15 21:33:50 -0700 (Tue, 15 May 2007) | 6 lines
Port rev 55353 from Guido:
Add what looks like a necessary call to PyErr_NoMemory() when PyMem_MALLOC()
fails.
Will backport.
........
r55377 | neal.norwitz | 2007-05-15 22:06:33 -0700 (Tue, 15 May 2007) | 1 line
Mention removal of some directories for obsolete platforms
........
r55380 | brett.cannon | 2007-05-15 22:50:03 -0700 (Tue, 15 May 2007) | 2 lines
Change the maintainer of the BeOS port.
........
r55383 | georg.brandl | 2007-05-16 06:44:18 -0700 (Wed, 16 May 2007) | 2 lines
Bug #1719995: don't use deprecated method in sets example.
........
r55386 | neal.norwitz | 2007-05-16 13:05:11 -0700 (Wed, 16 May 2007) | 5 lines
Fix bug in marshal where bad data would cause a segfault due to
lack of an infinite recursion check.
Contributed by Damien Miller at Google.
........
r55389 | brett.cannon | 2007-05-16 15:42:29 -0700 (Wed, 16 May 2007) | 6 lines
Remove the gopherlib module. It has been raising a DeprecationWarning since
Python 2.5.
Also remove gopher support from urllib/urllib2. As both imported gopherlib the
usage of the support would have raised a DeprecationWarning.
........
r55394 | raymond.hettinger | 2007-05-16 18:08:04 -0700 (Wed, 16 May 2007) | 1 line
calendar.py gets no benefit from xrange() instead of range()
........
r55395 | brett.cannon | 2007-05-16 19:02:56 -0700 (Wed, 16 May 2007) | 3 lines
Complete deprecation of BaseException.message. Some subclasses were directly
accessing the message attribute instead of using the descriptor.
........
r55396 | neal.norwitz | 2007-05-16 23:11:36 -0700 (Wed, 16 May 2007) | 4 lines
Reduce the max stack depth to see if this fixes the segfaults on
Windows and some other boxes. If this is successful, this rev should
be backported. I'm not sure how close to the limit we should push this.
........
r55397 | neal.norwitz | 2007-05-16 23:23:50 -0700 (Wed, 16 May 2007) | 4 lines
Set the depth to something very small to try to determine if the
crashes on Windows are really due to the stack size or possibly
some other problem.
........
r55398 | neal.norwitz | 2007-05-17 00:04:46 -0700 (Thu, 17 May 2007) | 4 lines
Last try for tweaking the max stack depth. 5000 was the original value,
4000 didn't work either. 1000 does work on Windows. If 2000 works,
that will hopefully be a reasonable balance.
........
r55412 | fred.drake | 2007-05-17 12:29:58 -0700 (Thu, 17 May 2007) | 1 line
fix argument name in documentation; match the implementation
........
r55427 | neal.norwitz | 2007-05-17 22:47:16 -0700 (Thu, 17 May 2007) | 1 line
Verify neither dumps or loads overflow the stack and segfault.
........
r55446 | collin.winter | 2007-05-18 16:11:24 -0700 (Fri, 18 May 2007) | 1 line
Backport PEP 3110's new 'except' syntax to 2.6.
........
r55448 | raymond.hettinger | 2007-05-18 18:11:16 -0700 (Fri, 18 May 2007) | 1 line
Improvements to NamedTuple's implementation, tests, and documentation
........
r55449 | raymond.hettinger | 2007-05-18 18:50:11 -0700 (Fri, 18 May 2007) | 1 line
Fix beginner mistake -- don't mix spaces and tabs.
........
r55450 | neal.norwitz | 2007-05-18 20:48:47 -0700 (Fri, 18 May 2007) | 1 line
Clear data so random memory does not get freed. Will backport.
........
r55452 | neal.norwitz | 2007-05-18 21:34:55 -0700 (Fri, 18 May 2007) | 3 lines
Whoops, need to pay attention to those test failures.
Move the clear to *before* the first use, not after.
........
r55453 | neal.norwitz | 2007-05-18 21:35:52 -0700 (Fri, 18 May 2007) | 1 line
Give some clue as to what happened if the test fails.
........
r55455 | georg.brandl | 2007-05-19 11:09:26 -0700 (Sat, 19 May 2007) | 2 lines
Fix docstring for add_package in site.py.
........
r55458 | brett.cannon | 2007-05-20 00:09:50 -0700 (Sun, 20 May 2007) | 2 lines
Remove the rgbimg module. It has been deprecated since Python 2.5.
........
r55465 | nick.coghlan | 2007-05-20 04:12:49 -0700 (Sun, 20 May 2007) | 1 line
Fix typo in example (should be backported, but my maintenance branch is woefully out of date)
........
................
r55472 | brett.cannon | 2007-05-20 12:06:18 -0700 (Sun, 20 May 2007) | 2 lines
Remove imageop from the Windows build process.
................
r55486 | neal.norwitz | 2007-05-20 23:59:52 -0700 (Sun, 20 May 2007) | 1 line
Remove callable() builtin
................
r55506 | neal.norwitz | 2007-05-22 00:43:29 -0700 (Tue, 22 May 2007) | 78 lines
Merged revisions 55468-55505 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r55468 | neal.norwitz | 2007-05-20 11:06:27 -0700 (Sun, 20 May 2007) | 1 line
rotor is long gone.
........
r55470 | neal.norwitz | 2007-05-20 11:43:00 -0700 (Sun, 20 May 2007) | 1 line
Update directories/files at the top-level.
........
r55471 | brett.cannon | 2007-05-20 12:05:06 -0700 (Sun, 20 May 2007) | 2 lines
Try to remove rgbimg from Windows builds.
........
r55474 | brett.cannon | 2007-05-20 16:17:38 -0700 (Sun, 20 May 2007) | 4 lines
Remove the macfs module. This led to the deprecation of macostools.touched();
it completely relied on macfs and is a no-op on OS X according to code
comments.
........
r55476 | brett.cannon | 2007-05-20 16:56:18 -0700 (Sun, 20 May 2007) | 3 lines
Move imgfile import to the global namespace to trigger an import error ASAP to
prevent creation of a test file.
........
r55477 | brett.cannon | 2007-05-20 16:57:38 -0700 (Sun, 20 May 2007) | 3 lines
Cause posixfile to raise a DeprecationWarning. Documented as deprecated since
Ptyhon 1.5.
........
r55479 | andrew.kuchling | 2007-05-20 17:03:15 -0700 (Sun, 20 May 2007) | 1 line
Note removed modules
........
r55481 | martin.v.loewis | 2007-05-20 21:35:47 -0700 (Sun, 20 May 2007) | 2 lines
Add Alexandre Vassalotti.
........
r55482 | george.yoshida | 2007-05-20 21:41:21 -0700 (Sun, 20 May 2007) | 4 lines
fix against r55474 [Remove the macfs module]
Remove "libmacfs.tex" from Makefile.deps and mac/mac.tex.
........
r55487 | raymond.hettinger | 2007-05-21 01:13:35 -0700 (Mon, 21 May 2007) | 1 line
Replace assertion with straight error-checking.
........
r55489 | raymond.hettinger | 2007-05-21 09:40:10 -0700 (Mon, 21 May 2007) | 1 line
Allow all alphanumeric and underscores in type and field names.
........
r55490 | facundo.batista | 2007-05-21 10:32:32 -0700 (Mon, 21 May 2007) | 5 lines
Added timeout support to HTTPSConnection, through the
socket.create_connection function. Also added a small
test for this, and updated NEWS file.
........
r55495 | georg.brandl | 2007-05-21 13:34:16 -0700 (Mon, 21 May 2007) | 2 lines
Patch #1686487: you can now pass any mapping after '**' in function calls.
........
r55502 | neal.norwitz | 2007-05-21 23:03:36 -0700 (Mon, 21 May 2007) | 1 line
Document new params to HTTPSConnection
........
r55504 | neal.norwitz | 2007-05-22 00:16:10 -0700 (Tue, 22 May 2007) | 1 line
Stop using METH_OLDARGS
........
r55505 | neal.norwitz | 2007-05-22 00:16:44 -0700 (Tue, 22 May 2007) | 1 line
Stop using METH_OLDARGS implicitly
........
................
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Tue, 22 May 2007 18:11:13 +0000 |
| parents | d3cd2920beb6 |
| children | 843f7efc058f |
comparison
equal
deleted
inserted
replaced
| 41823:dd80a4c5f47d | 41824:24b60622b944 |
|---|---|
| 1 /* File automatically generated by Parser/asdl_c.py. */ | 1 /* File automatically generated by Parser/asdl_c.py. */ |
| 2 | 2 |
| 3 | 3 |
| 4 /* | 4 /* |
| 5 __version__ 55343. | 5 __version__ 55430. |
| 6 | 6 |
| 7 This module must be committed separately after each AST grammar change; | 7 This module must be committed separately after each AST grammar change; |
| 8 The __version__ number is set to the revision number of the commit | 8 The __version__ number is set to the revision number of the commit |
| 9 containing the grammar change. | 9 containing the grammar change. |
| 10 */ | 10 */ |
| 40 static PyTypeObject *FunctionDef_type; | 40 static PyTypeObject *FunctionDef_type; |
| 41 static char *FunctionDef_fields[]={ | 41 static char *FunctionDef_fields[]={ |
| 42 "name", | 42 "name", |
| 43 "args", | 43 "args", |
| 44 "body", | 44 "body", |
| 45 "decorators", | 45 "decorator_list", |
| 46 "returns", | 46 "returns", |
| 47 }; | 47 }; |
| 48 static PyTypeObject *ClassDef_type; | 48 static PyTypeObject *ClassDef_type; |
| 49 static char *ClassDef_fields[]={ | 49 static char *ClassDef_fields[]={ |
| 50 "name", | 50 "name", |
| 51 "bases", | 51 "bases", |
| 52 "keywords", | 52 "keywords", |
| 53 "starargs", | 53 "starargs", |
| 54 "kwargs", | 54 "kwargs", |
| 55 "body", | 55 "body", |
| 56 "decorator_list", | |
| 56 }; | 57 }; |
| 57 static PyTypeObject *Return_type; | 58 static PyTypeObject *Return_type; |
| 58 static char *Return_fields[]={ | 59 static char *Return_fields[]={ |
| 59 "value", | 60 "value", |
| 60 }; | 61 }; |
| 483 if (!stmt_type) return 0; | 484 if (!stmt_type) return 0; |
| 484 if (!add_attributes(stmt_type, stmt_attributes, 2)) return 0; | 485 if (!add_attributes(stmt_type, stmt_attributes, 2)) return 0; |
| 485 FunctionDef_type = make_type("FunctionDef", stmt_type, | 486 FunctionDef_type = make_type("FunctionDef", stmt_type, |
| 486 FunctionDef_fields, 5); | 487 FunctionDef_fields, 5); |
| 487 if (!FunctionDef_type) return 0; | 488 if (!FunctionDef_type) return 0; |
| 488 ClassDef_type = make_type("ClassDef", stmt_type, ClassDef_fields, 6); | 489 ClassDef_type = make_type("ClassDef", stmt_type, ClassDef_fields, 7); |
| 489 if (!ClassDef_type) return 0; | 490 if (!ClassDef_type) return 0; |
| 490 Return_type = make_type("Return", stmt_type, Return_fields, 1); | 491 Return_type = make_type("Return", stmt_type, Return_fields, 1); |
| 491 if (!Return_type) return 0; | 492 if (!Return_type) return 0; |
| 492 Delete_type = make_type("Delete", stmt_type, Delete_fields, 1); | 493 Delete_type = make_type("Delete", stmt_type, Delete_fields, 1); |
| 493 if (!Delete_type) return 0; | 494 if (!Delete_type) return 0; |
| 810 return p; | 811 return p; |
| 811 } | 812 } |
| 812 | 813 |
| 813 stmt_ty | 814 stmt_ty |
| 814 FunctionDef(identifier name, arguments_ty args, asdl_seq * body, asdl_seq * | 815 FunctionDef(identifier name, arguments_ty args, asdl_seq * body, asdl_seq * |
| 815 decorators, expr_ty returns, int lineno, int col_offset, PyArena | 816 decorator_list, expr_ty returns, int lineno, int col_offset, |
| 816 *arena) | 817 PyArena *arena) |
| 817 { | 818 { |
| 818 stmt_ty p; | 819 stmt_ty p; |
| 819 if (!name) { | 820 if (!name) { |
| 820 PyErr_SetString(PyExc_ValueError, | 821 PyErr_SetString(PyExc_ValueError, |
| 821 "field name is required for FunctionDef"); | 822 "field name is required for FunctionDef"); |
| 831 return NULL; | 832 return NULL; |
| 832 p->kind = FunctionDef_kind; | 833 p->kind = FunctionDef_kind; |
| 833 p->v.FunctionDef.name = name; | 834 p->v.FunctionDef.name = name; |
| 834 p->v.FunctionDef.args = args; | 835 p->v.FunctionDef.args = args; |
| 835 p->v.FunctionDef.body = body; | 836 p->v.FunctionDef.body = body; |
| 836 p->v.FunctionDef.decorators = decorators; | 837 p->v.FunctionDef.decorator_list = decorator_list; |
| 837 p->v.FunctionDef.returns = returns; | 838 p->v.FunctionDef.returns = returns; |
| 838 p->lineno = lineno; | 839 p->lineno = lineno; |
| 839 p->col_offset = col_offset; | 840 p->col_offset = col_offset; |
| 840 return p; | 841 return p; |
| 841 } | 842 } |
| 842 | 843 |
| 843 stmt_ty | 844 stmt_ty |
| 844 ClassDef(identifier name, asdl_seq * bases, asdl_seq * keywords, expr_ty | 845 ClassDef(identifier name, asdl_seq * bases, asdl_seq * keywords, expr_ty |
| 845 starargs, expr_ty kwargs, asdl_seq * body, int lineno, int col_offset, | 846 starargs, expr_ty kwargs, asdl_seq * body, asdl_seq * decorator_list, |
| 846 PyArena *arena) | 847 int lineno, int col_offset, PyArena *arena) |
| 847 { | 848 { |
| 848 stmt_ty p; | 849 stmt_ty p; |
| 849 if (!name) { | 850 if (!name) { |
| 850 PyErr_SetString(PyExc_ValueError, | 851 PyErr_SetString(PyExc_ValueError, |
| 851 "field name is required for ClassDef"); | 852 "field name is required for ClassDef"); |
| 859 p->v.ClassDef.bases = bases; | 860 p->v.ClassDef.bases = bases; |
| 860 p->v.ClassDef.keywords = keywords; | 861 p->v.ClassDef.keywords = keywords; |
| 861 p->v.ClassDef.starargs = starargs; | 862 p->v.ClassDef.starargs = starargs; |
| 862 p->v.ClassDef.kwargs = kwargs; | 863 p->v.ClassDef.kwargs = kwargs; |
| 863 p->v.ClassDef.body = body; | 864 p->v.ClassDef.body = body; |
| 865 p->v.ClassDef.decorator_list = decorator_list; | |
| 864 p->lineno = lineno; | 866 p->lineno = lineno; |
| 865 p->col_offset = col_offset; | 867 p->col_offset = col_offset; |
| 866 return p; | 868 return p; |
| 867 } | 869 } |
| 868 | 870 |
| 1992 value = ast2obj_list(o->v.FunctionDef.body, ast2obj_stmt); | 1994 value = ast2obj_list(o->v.FunctionDef.body, ast2obj_stmt); |
| 1993 if (!value) goto failed; | 1995 if (!value) goto failed; |
| 1994 if (PyObject_SetAttrString(result, "body", value) == -1) | 1996 if (PyObject_SetAttrString(result, "body", value) == -1) |
| 1995 goto failed; | 1997 goto failed; |
| 1996 Py_DECREF(value); | 1998 Py_DECREF(value); |
| 1997 value = ast2obj_list(o->v.FunctionDef.decorators, ast2obj_expr); | 1999 value = ast2obj_list(o->v.FunctionDef.decorator_list, |
| 1998 if (!value) goto failed; | 2000 ast2obj_expr); |
| 1999 if (PyObject_SetAttrString(result, "decorators", value) == -1) | 2001 if (!value) goto failed; |
| 2002 if (PyObject_SetAttrString(result, "decorator_list", value) == | |
| 2003 -1) | |
| 2000 goto failed; | 2004 goto failed; |
| 2001 Py_DECREF(value); | 2005 Py_DECREF(value); |
| 2002 value = ast2obj_expr(o->v.FunctionDef.returns); | 2006 value = ast2obj_expr(o->v.FunctionDef.returns); |
| 2003 if (!value) goto failed; | 2007 if (!value) goto failed; |
| 2004 if (PyObject_SetAttrString(result, "returns", value) == -1) | 2008 if (PyObject_SetAttrString(result, "returns", value) == -1) |
| 2034 goto failed; | 2038 goto failed; |
| 2035 Py_DECREF(value); | 2039 Py_DECREF(value); |
| 2036 value = ast2obj_list(o->v.ClassDef.body, ast2obj_stmt); | 2040 value = ast2obj_list(o->v.ClassDef.body, ast2obj_stmt); |
| 2037 if (!value) goto failed; | 2041 if (!value) goto failed; |
| 2038 if (PyObject_SetAttrString(result, "body", value) == -1) | 2042 if (PyObject_SetAttrString(result, "body", value) == -1) |
| 2043 goto failed; | |
| 2044 Py_DECREF(value); | |
| 2045 value = ast2obj_list(o->v.ClassDef.decorator_list, | |
| 2046 ast2obj_expr); | |
| 2047 if (!value) goto failed; | |
| 2048 if (PyObject_SetAttrString(result, "decorator_list", value) == | |
| 2049 -1) | |
| 2039 goto failed; | 2050 goto failed; |
| 2040 Py_DECREF(value); | 2051 Py_DECREF(value); |
| 2041 break; | 2052 break; |
| 2042 case Return_kind: | 2053 case Return_kind: |
| 2043 result = PyType_GenericNew(Return_type, NULL, NULL); | 2054 result = PyType_GenericNew(Return_type, NULL, NULL); |
| 3111 if (!m) return; | 3122 if (!m) return; |
| 3112 d = PyModule_GetDict(m); | 3123 d = PyModule_GetDict(m); |
| 3113 if (PyDict_SetItemString(d, "AST", (PyObject*)AST_type) < 0) return; | 3124 if (PyDict_SetItemString(d, "AST", (PyObject*)AST_type) < 0) return; |
| 3114 if (PyModule_AddIntConstant(m, "PyCF_ONLY_AST", PyCF_ONLY_AST) < 0) | 3125 if (PyModule_AddIntConstant(m, "PyCF_ONLY_AST", PyCF_ONLY_AST) < 0) |
| 3115 return; | 3126 return; |
| 3116 if (PyModule_AddStringConstant(m, "__version__", "55343") < 0) | 3127 if (PyModule_AddStringConstant(m, "__version__", "55430") < 0) |
| 3117 return; | 3128 return; |
| 3118 if (PyDict_SetItemString(d, "mod", (PyObject*)mod_type) < 0) return; | 3129 if (PyDict_SetItemString(d, "mod", (PyObject*)mod_type) < 0) return; |
| 3119 if (PyDict_SetItemString(d, "Module", (PyObject*)Module_type) < 0) | 3130 if (PyDict_SetItemString(d, "Module", (PyObject*)Module_type) < 0) |
| 3120 return; | 3131 return; |
| 3121 if (PyDict_SetItemString(d, "Interactive", (PyObject*)Interactive_type) | 3132 if (PyDict_SetItemString(d, "Interactive", (PyObject*)Interactive_type) |
| 3267 PyObject* PyAST_mod2obj(mod_ty t) | 3278 PyObject* PyAST_mod2obj(mod_ty t) |
| 3268 { | 3279 { |
| 3269 init_types(); | 3280 init_types(); |
| 3270 return ast2obj_mod(t); | 3281 return ast2obj_mod(t); |
| 3271 } | 3282 } |
| 3272 | |
| 3273 |
