Stan Ulbrych
dbca27cfca
gh-133379: Fix misuse of the term "arguments" in error messages (GH-133382)
...
The right term is "parameters".
2025-05-10 15:00:43 +03:00
Lysandros Nikolaou
60202609a2
gh-132661: Implement PEP 750 ( #132662 )
...
Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Wingy <git@wingysam.xyz>
Co-authored-by: Koudai Aono <koxudaxi@gmail.com>
Co-authored-by: Dave Peck <davepeck@gmail.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Paul Everitt <pauleveritt@me.com>
Co-authored-by: sobolevn <mail@sobolevn.me>
2025-04-30 11:46:41 +02:00
Jelle Zijlstra
922049b613
gh-130907: Treat all module-level annotations as conditional ( #131550 )
2025-04-28 06:10:28 -07:00
Jelle Zijlstra
01317bb449
gh-132479: Fix crash with multiple comprehensions in annotations ( #132778 )
2025-04-21 13:49:59 -07:00
Tomasz Pytel
891c61c1fa
gh-128632: fix segfault on nested __classdict__ type param ( #128744 )
2025-04-04 06:23:35 -07:00
Jelle Zijlstra
425f60b9eb
gh-130924: Do not create cells for usages of names in local annotations ( #131843 )
2025-03-29 21:15:48 +00:00
Jelle Zijlstra
898e6b395e
gh-130881: Handle conditionally defined annotations ( #130935 )
2025-03-26 03:48:19 +00:00
Mark Shannon
a45f25361d
GH-131238: More refactoring of core header files (GH-131351)
...
Adds new pycore_stats.h header file to help break dependencies involving the pycore_code.h header.
2025-03-17 14:41:05 +00:00
Victor Stinner
978e37bb5f
gh-131238: Add explicit includes to pycore headers ( #131257 )
2025-03-17 12:32:43 +01:00
Victor Stinner
1b635d86cd
gh-111178: Fix function signatures in symtable.c ( #130589 )
2025-02-26 21:35:24 +01:00
Mark Shannon
014223649c
GH-130396: Use computed stack limits on linux (GH-130398)
...
* Implement C recursion protection with limit pointers for Linux, MacOS and Windows
* Remove calls to PyOS_CheckStack
* Add stack protection to parser
* Make tests more robust to low stacks
* Improve error messages for stack overflow
2025-02-25 09:24:48 +00:00
Petr Viktorin
ef29104f7d
GH-91079: Revert "GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)" for now (GH130413)
...
Revert "GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)" for now
Unfortunatlely, the change broke some buildbots.
This reverts commit 2498c22fa0
.
2025-02-24 11:16:08 +01:00
Mark Shannon
2498c22fa0
GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)
...
* Implement C recursion protection with limit pointers
* Remove calls to PyOS_CheckStack
* Add stack protection to parser
* Make tests more robust to low stacks
* Improve error messages for stack overflow
2025-02-19 11:44:57 +00:00
mpage
255762c09f
gh-127274: Defer nested methods ( #128012 )
...
Methods (functions defined in class scope) are likely to be cleaned
up by the GC anyway.
Add a new code flag, `CO_METHOD`, that is set for functions defined
in a class scope. Use that when deciding to defer functions.
2024-12-19 13:03:14 -08:00
Xuanteng Huang
6ec886531f
gh-126072: Set docstring attribute for module and class ( #126231 )
2024-11-08 15:13:18 +00:00
Xuanteng Huang
35df4eb959
gh-126072: do not add `None` to `co_consts` if there is no docstring (GH-126101)
2024-10-30 09:01:09 +00:00
Victor Stinner
9bda7750c2
gh-125196: Use PyUnicodeWriter in symtable.c ( #125199 )
2024-10-09 17:54:54 +02:00
Victor Stinner
b9a8ca0a6a
gh-115754: Use Py_GetConstant(Py_CONSTANT_EMPTY_STR) ( #125194 )
...
Replace PyUnicode_New(0, 0), PyUnicode_FromString("")
and PyUnicode_FromStringAndSize("", 0)
with Py_GetConstant(Py_CONSTANT_EMPTY_STR).
2024-10-09 17:15:23 +02:00
Irit Katriel
05fc4d758a
gh-122985: add SYMBOL_TO_SCOPE macro in symtable ( #122986 )
2024-08-14 06:17:04 +01:00
Irit Katriel
833eb106f5
gh-122562: fix dump_symtable for ste_free and ste_child_free removal ( #122825 )
2024-08-08 14:03:45 +01:00
Serhiy Storchaka
e74680b718
gh-122595: Add more error checks in the compiler (GH-122596)
2024-08-06 08:59:44 +03:00
Serhiy Storchaka
efcd65cd84
gh-122313: Clean up deep recursion guarding code in the compiler (GH-122640)
...
Add ENTER_RECURSIVE and LEAVE_RECURSIVE macros in ast.c, ast_opt.c and
symtable.c. Remove VISIT_QUIT macro in symtable.c.
The current recursion depth counter only needs to be updated during
normal execution -- all functions should just return an error code
if an error occurs.
2024-08-03 12:45:45 +03:00
Jelle Zijlstra
8234419c32
gh-122562: Remove ste_free and ste_child_free from symtable ( #122563 )
2024-08-01 16:28:25 -07:00
Jelle Zijlstra
ae192262ad
gh-119180: Add evaluate functions for type params and type aliases ( #122212 )
2024-07-27 17:24:10 +00:00
Irit Katriel
bc94cf7e25
gh-122245: move checks for writes and shadowing of __debug__ to symtable ( #122246 )
2024-07-26 14:39:56 +01:00
Jelle Zijlstra
2762c6cc5e
gh-121637: Syntax error for optimized-away incorrect await ( #121656 )
...
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-07-22 14:12:43 -07:00
Irit Katriel
67a05de17c
gh-121272: move async for/with validation from compiler to symtable ( #121361 )
2024-07-04 14:47:21 +01:00
Irit Katriel
19d1e43e43
gh-121352: use _Py_SourceLocation in symtable ( #121353 )
2024-07-04 11:28:44 +01:00
Irit Katriel
93156880ef
gh-121272: set ste_coroutine during symtable construction ( #121297 )
...
compiler no longer modifies the symtable after this.
2024-07-03 10:18:34 +01:00
Irit Katriel
1ac273224a
gh-121272: move __future__ import validation from compiler to symtable ( #121273 )
2024-07-02 16:22:08 +00:00
Steve Dower
e731554337
Fixes loop variables to be the same types as their limit (GH-120958)
2024-06-24 17:11:47 +01:00
Bénédikt Tran
4bf17c381f
gh-119933: Improve ``SyntaxError`` message for invalid type parameters expressions ( #119976 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-06-17 06:51:03 -07:00
Bénédikt Tran
32d3e05fe6
gh-120029: remove unused macros in ``symtable.c`` ( #120222 )
...
Co-authored-by: Carl Meyer <carl@oddbird.net>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-06-12 09:23:45 -04:00
Kirill Podoprigora
19435d299a
gh-120385: Fix reference leak in symtable ( #120386 )
...
Decref 'new_ste' if symtable_visit_annotations() fails.
2024-06-12 09:37:14 +02:00
Jelle Zijlstra
9b8611eeea
gh-119180: PEP 649 compiler changes ( #119361 )
2024-06-11 13:06:49 +00:00
Carl Meyer
0ae8579b85
gh-119666: fix multiple class-scope comprehensions referencing __class__ ( #120295 )
2024-06-09 22:23:30 -04:00
Bénédikt Tran
153b118b78
gh-119981: Use do while(0) in some symtable.c multi-line macros ( #119982 )
2024-06-03 15:48:02 +00:00
Jelle Zijlstra
a9a74da4a0
gh-119311: Fix name mangling with PEP 695 generic classes ( #119464 )
...
Fixes #119311 . Fixes #119395 .
2024-05-27 19:50:38 -07:00
Jelle Zijlstra
ca269e58c2
gh-116126: Implement PEP 696 ( #116129 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2024-05-03 06:17:32 -07:00
Jelle Zijlstra
2326d6c868
gh-109118: Make comprehensions work within annotation scopes, but without inlining ( #118160 )
...
Co-authored-by: Carl Meyer <carl@oddbird.net>
2024-04-28 06:21:28 -07:00
Jelle Zijlstra
85f727c5fb
gh-109118: Allow lambdas in annotation scopes in classes ( #118019 )
2024-04-22 12:50:26 -07:00
Irit Katriel
1d5479b236
gh-117411: move PyFutureFeatures to pycore_symtable.h and make it private ( #117412 )
2024-04-02 10:34:49 +00:00
wookie184
664965a1c1
gh-96497: Mangle name before symtable lookup in 'symtable_extend_namedexpr_scope' (GH-96561)
2024-02-17 12:06:31 +00:00
Carl Meyer
fedbf77191
gh-114828: Fix __class__ in class-scope inlined comprehensions ( #115139 )
2024-02-07 16:56:16 +00:00
Mark Shannon
17b73ab99e
GH-113655: Lower the C recursion limit on various platforms (GH-113944)
2024-01-16 09:32:01 +00:00
Yan Yanchii
fda901a1ff
gh-113842: Add missing error check for PyIter_Next() in Python/symtable.c (GH-113843)
2024-01-09 12:43:58 +02:00
Serhiy Storchaka
befbad3663
gh-111789: Use PyDict_GetItemRef() in Python/symtable.c (gh-112084)
2023-11-27 18:55:30 +01:00
Irit Katriel
b578e51f02
gh-111123: symtable should visit exception handlers before the else block ( #111142 )
2023-10-21 13:38:29 +01:00
Carl Meyer
32ffe58c12
gh-109390: add dump_symtable utility under #if 0 ( #109391 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-09-20 10:55:56 -06:00
Carl Meyer
909adb5092
gh-109219: propagate free vars through type param scopes ( #109377 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-09-14 10:20:32 -06:00