summaryrefslogtreecommitdiffstats
path: root/Python/importlib_external.h
Commit message (Collapse)AuthorAgeFilesLines
* [3.8] bpo-38121: Sync importlib.metadata with 0.22 backport (GH-15993) ↡Jason R. Coombs2019-09-121-1019/+900
| | | | | | | | | | (GH-16064) * bpo-38121: Sync importlib.metadata with 0.22 backport * πŸ“œπŸ€– Added by blurb_it.. (cherry picked from commit 8ed6503eca4e3ea4949479d8d7fd9ffd54f81038) Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
* [3.8] bpo-38086: Sync importlib.metadata with importlib_metadata 0.21. ↡Jason R. Coombs2019-09-101-610/+609
| | | | | | | | (GH-15840) (#15861) https://gitlab.com/python-devs/importlib_metadata/-/tags/0.21. (cherry picked from commit 17499d82702432955d8e442a1871ff276ca64bc5) Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
* [3.8] bpo-37830: Fix compilation of break and continue in finally. ↡Serhiy Storchaka2019-08-241-122/+122
| | | | | | | | | (GH-15320) (GH-15456) Fix compilation of "break" and "continue" in the "finally" block when the corresponding "try" block contains "return" with a non-constant value. (cherry picked from commit ef61c524ddeeb56da3858b86e349e7288d68178e)
* bpo-37697: Sync with importlib_metadata 0.19 (GH-14993) (GH-14995)Miss Islington (bot)2019-07-281-779/+796
| | | | | | | | | | * bpo-37697: Sync with importlib_metadata 0.19 * Run make regen-importlib * πŸ“œπŸ€– Added by blurb_it. (cherry picked from commit 049460da9c7b5f51732e2966195c44713af9dc4c) Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
* bpo-37593: Swap the positions of posonlyargs and args in the constructor of ↡Miss Islington (bot)2019-07-141-121/+121
| | | | | | | | ast.parameters nodes (GH-14778) https://bugs.python.org/issue37593 (cherry picked from commit cd6e83b4810549c308ab2d7315dbab526e35ccf6) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* bpo-35224: Bump the pyc magic number by 1 instead of by 10 in last ↡Miss Islington (bot)2019-06-231-1/+1
| | | | | | | modification (GH-14320) (cherry picked from commit b3ca7972c8d8c6479b6542ce28e0f7a6ebd5b8fe) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* bpo-35224: Bump the pyc magic number after the change in MAP_ADD (GH-14313)Miss Islington (bot)2019-06-221-121/+121
| | | | | (cherry picked from commit 663131a6e2c6c8b83e9f982d8c6ca38fc7c238b4) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* bpo-37213: Handle negative line deltas correctly in the peephole optimizer ↡Miss Islington (bot)2019-06-131-2736/+2736
| | | | | | | | (GH-13969) The peephole optimizer was not optimizing correctly bytecode after negative deltas were introduced. This is due to the fact that some special values (255) were being searched for in both instruction pointer delta and line number deltas. (cherry picked from commit 3498c642f4e83f3d8e2214654c0fa8e0d51cebe5) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
* bpo-34632: Add importlib.metadata (GH-12547)Jason R. Coombs2019-05-241-638/+775
| | | Add importlib.metadata module as forward port of the standalone importlib_metadata.
* bpo-36842: Implement PEP 578 (GH-12613)Steve Dower2019-05-231-1216/+1222
| | | Adds sys.audit, sys.addaudithook, io.open_code, and associated C APIs.
* bpo-36540: PEP 570 -- Implementation (GH-12701)Pablo Galindo2019-04-291-2092/+2124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit contains the implementation of PEP570: Python positional-only parameters. * Update Grammar/Grammar with new typedarglist and varargslist * Regenerate grammar files * Update and regenerate AST related files * Update code object * Update marshal.c * Update compiler and symtable * Regenerate importlib files * Update callable objects * Implement positional-only args logic in ceval.c * Regenerate frozen data * Update standard library to account for positional-only args * Add test file for positional-only args * Update other test files to account for positional-only args * Add News entry * Update inspect module and related tests
* bpo-35843: Implement __getitem__ for _NamespacePath (GH-11690)Anthony Sottile2019-03-081-869/+878
|
* bpo-16806: Fix `lineno` and `col_offset` for multi-line string tokens (GH-10021)Anthony Sottile2019-01-131-9/+9
|
* bpo-34100: Merge constants recursively (GH-8341)INADA Naoki2018-11-261-2295/+2265
| | | | | | | There are some same consts in a module. This commit merges them into single instance. It reduces number of objects in memory after loading modules. https://bugs.python.org/issue34100
* bpo-34876: Change the lineno of the AST for decorated function and class. ↡Serhiy Storchaka2018-10-301-1430/+1431
| | | | | | | (GH-9731) It was overridden by the lineno of the first decorator. Now it is the lineno of 'def' or 'class'.
* bpo-35024: Remove redundant and possibly incorrect verbose message after ↡Quentin Agren2018-10-261-1345/+1343
| | | | | | | | | writing '.pyc' (GH-9998) Since `SourceFileLoader.set_data()` catches exceptions raised by `_write_atomic()` and logs an informative message consequently, always logging successful outcome in 'SourceLoader.get_code()' seems redundant. https://bugs.python.org/issue35024
* importlib: Fix typo in SourceLoader.path_stats docstring (GH-10052)Quentin2018-10-251-1497/+1496
|
* bpo-25711: Rewrite zipimport in pure Python. (GH-6809)Serhiy Storchaka2018-09-181-1341/+1356
|
* bpo-12458: Fix line numbers for multiline expressions. (GH-8774)Serhiy Storchaka2018-09-171-2592/+2600
|
* bpo-33499: Add PYTHONPYCACHEPREFIX env var for alt bytecode cache location. ↡Carl Meyer2018-06-161-1063/+1110
| | | | | | | | | | | | | | | (GH-6834) In some development setups it is inconvenient or impossible to write bytecode caches to the code tree, but the bytecode caches are still useful. The PYTHONPYCACHEPREFIX environment variable allows specifying an alternate location for cached bytecode files, within which a directory tree mirroring the code tree will be created. This cache tree is then used (for both reading and writing) instead of the local `__pycache__` subdirectory within each source directory. Exposed at runtime as sys.pycache_prefix (defaulting to None), and can be set from the CLI as "-X pycache_prefix=path". Patch by Carl Meyer.
* bpo-32911: Add the historical note about the magic number. (GH-7273)Serhiy Storchaka2018-05-311-111/+111
|
* bpo-32911: Revert bpo-29463. (GH-7121) (GH-7197)Serhiy Storchaka2018-05-291-1449/+1451
| | | | | | Remove the docstring attribute of AST types and restore docstring expression as a first stmt in their body. Co-authored-by: INADA Naoki <methane@users.noreply.github.com>
* bpo-33270: Intern names for all anonymous code objects (#6472)Zackery Spytz2018-04-151-3/+3
|
* bpo-33169: Remove values of `None` from sys.path_importer_cache when ↡Brett Cannon2018-04-061-616/+618
| | | | | invalidating caches (GH-6402) An entry of None in sys.path_importer_cache represents a negative/missing finder for a path, so clearing it out makes sense.
* bpo-33041: Rework compiling an "async for" loop. (#6142)Serhiy Storchaka2018-03-231-112/+112
| | | | | | | | * Added new opcode END_ASYNC_FOR. * Setting global StopAsyncIteration no longer breaks "async for" loops. * Jumping into an "async for" loop is now disabled. * Jumping out of an "async for" loop no longer corrupts the stack. * Simplify the compiler.
* bpo-17611. Move unwinding of stack for "pseudo exceptions" from interpreter ↡Serhiy Storchaka2018-02-221-2028/+2029
| | | | | | | | | to compiler. (GH-5006) Co-authored-by: Mark Shannon <mark@hotpy.org> Co-authored-by: Antoine Pitrou <antoine@python.org>
* bpo-32838: Fix Python versions in the table of magic numbers. (#5658)Serhiy Storchaka2018-02-221-117/+117
|
* bpo-32303 - Consistency fixes for namespace loaders (#5481)Barry Warsaw2018-02-021-481/+480
| | | | | | | * Make sure ``__spec__.loader`` matches ``__loader__`` for namespace packages. * Make sure ``__spec__.origin` matches ``__file__`` for namespace packages. https://bugs.python.org/issue32303 https://bugs.python.org/issue32305
* bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181)Mark Shannon2018-01-301-112/+112
|
* Implement the get_resource_reader() API for file system imports (#5168)Barry Warsaw2018-01-151-1248/+1307
|
* bpo-24340: Fix estimation of the code stack size. (#5076)Serhiy Storchaka2018-01-091-1094/+1094
|
* bpo-29469: Optimize literal lists and sets iterating on the AST level. (#4866)Serhiy Storchaka2017-12-141-1979/+1978
|
* bpo-29469: Move constant folding to AST optimizer (GH-2858)INADA Naoki2017-12-141-1995/+1989
|
* closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575)Benjamin Peterson2017-12-091-2383/+2513
| | | | | | | | | | | | | | | | | | | | | | | | | Python now supports checking bytecode cache up-to-dateness with a hash of the source contents rather than volatile source metadata. See the PEP for details. While a fairly straightforward idea, quite a lot of code had to be modified due to the pervasiveness of pyc implementation details in the codebase. Changes in this commit include: - The core changes to importlib to understand how to read, validate, and regenerate hash-based pycs. - Support for generating hash-based pycs in py_compile and compileall. - Modifications to our siphash implementation to support passing a custom key. We then expose it to importlib through _imp. - Updates to all places in the interpreter, standard library, and tests that manually generate or parse pyc files to grok the new format. - Support in the interpreter command line code for long options like --check-hash-based-pycs. - Tests and documentation for all of the above.
* bpo-31709: Update importlib magic (#3906)Yury Selivanov2017-10-061-104/+104
|
* Trivial cleanups following bpo-31370 (#3649)Antoine Pitrou2017-09-181-72/+70
| | | | | | * Trivial cleanups following bpo-31370 * Also cleanup the "importlib._bootstrap_external" module
* bpo-30501: Make the compiler producing optimized code for condition ↡Serhiy Storchaka2017-06-111-1986/+1985
| | | | expressions. (#1851)
* bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051)Serhiy Storchaka2017-04-161-1406/+1406
|
* bpo-29463: Add docstring field to some AST nodes. (#46)INADA Naoki2017-02-221-1247/+1246
| | | | | | | | | | | * bpo-29463: Add docstring field to some AST nodes. ClassDef, ModuleDef, FunctionDef, and AsyncFunctionDef has docstring field for now. It was first statement of there body. * fix document. thanks travis! * doc fixes
* Issue #26110: Add LOAD_METHOD/CALL_METHOD opcodes.Yury Selivanov2016-12-141-342/+342
| | | | | | | Special thanks to INADA Naoki for pushing the patch through the last mile, Serhiy Storchaka for reviewing the code, and to Victor Stinner for suggesting the idea (originally implemented in the PyPy project).
* Issue #28896: Disable WindowsRegistryFinder by default.Steve Dower2016-12-121-56/+53
|
* Issue #23722: improve __classcell__ compatibilityNick Coghlan2016-12-051-1177/+1177
| | | | | | | | | | | | | | | | | | | | | Handling zero-argument super() in __init_subclass__ and __set_name__ involved moving __class__ initialisation to type.__new__. This requires cooperation from custom metaclasses to ensure that the new __classcell__ entry is passed along appropriately. The initial implementation of that change resulted in abruptly broken zero-argument super() support in metaclasses that didn't adhere to the new requirements (such as Django's metaclass for Model definitions). The updated approach adopted here instead emits a deprecation warning for those cases, and makes them work the same way they did in Python 3.5. This patch also improves the related class machinery documentation to cover these details and to include more reader-friendly cross-references and index entries.
* Issue #28517: Fixed of-by-one error in the peephole optimizer that causedSerhiy Storchaka2016-10-251-1958/+1957
| | | | keeping unreachable code.
* Issue #28257: Improved error message when pass a non-iterable asSerhiy Storchaka2016-10-021-106/+106
| | | | a var-positional argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.
* Issue #27942: String constants now interned recursively in tuples and ↡Serhiy Storchaka2016-09-301-1886/+1883
|\ | | | | | | frozensets.
| * Issue #27942: String constants now interned recursively in tuples and ↡Serhiy Storchaka2016-09-301-801/+800
| | | | | | | | frozensets.
| * Fix regressions introduced by fixes for issue #27083.Brett Cannon2016-07-161-2551/+2561
| |
* | Issue #27213: Fixed different issues with reworked CALL_FUNCTION* opcodes.Serhiy Storchaka2016-09-111-1902/+1902
| | | | | | | | | | | | | | | | | | | | | | * BUILD_TUPLE_UNPACK and BUILD_MAP_UNPACK_WITH_CALL no longer generated with single tuple or dict. * Restored more informative error messages for incorrect var-positional and var-keyword arguments. * Removed code duplications in _PyEval_EvalCodeWithName(). * Removed redundant runtime checks and parameters in _PyStack_AsDict(). * Added a workaround and enabled previously disabled test in test_traceback. * Removed dead code from the dis module.
* | Issue #23722: Initialize __class__ from type.__new__()Nick Coghlan2016-09-111-1242/+1243
| | | | | | | | | | | | | | | | | | The __class__ cell used by zero-argument super() is now initialized from type.__new__ rather than __build_class__, so class methods relying on that will now work correctly when called from metaclass methods during class creation. Patch by Martin Teichmann.
* | Issue #24320: Drop an old setuptools-induced hack.Eric Snow2016-09-091-53/+52
| |