Commit Graph

11 Commits

Author SHA1 Message Date
Eric Snow 23ee38fc29 PEP 489: The PEP is accepted. 2015-05-22 15:45:38 -06:00
Berker Peksag e597818e47 PEP 489: Tweak code formatting. 2015-05-21 17:10:14 +03:00
Berker Peksag 0751f33dab PEP 489: Improve markup. 2015-05-21 15:58:29 +03:00
Berker Peksag b6eac8846e PEP 489 updates from Petr Viktorin.
- Don't allow execution slots for non-module subclasses
- Remove misleading reason for PyModuleDef_Init
- Clarify that sys.modules is not checked between execution steps
- Add a Backwards Compatibility summary
- Heading level fix, Typo fix
2015-05-21 15:48:38 +03:00
Eric Snow ac7c29c0a1 Set the BDFL-Delegate. 2015-05-20 15:27:54 -06:00
Berker Peksag 5b952e1713 PEP 489 updates from Petr Viktorin.
- Clarify that not all problems with PEP 3121 are solved
- Add a pseudo-code overview
- Clarify that PyModuleDef_Init does very little
- Say that the execution phase isn't done for non-module objects
- Link to docs on support for multiple interpreters
- Reword text about lack of finder for multi-module extensions
- Mention changes in imp and _imp modules
- Remove stale footnote
2015-05-20 14:27:55 +03:00
Berker Peksag fef77a92e3 PEP 489 changes
Summary by Petr Viktorin:

- Reuse the PyInit_* hook, instead of adding PyModuleExport_*;
  add the PyModuleDef_Init helper
- Per-module state is allocated at the beginning of the execute step
- Docstrings & methods from the def are added unconditionally
- Rename PEP to better reflect what it ended up doing
- Mention built-in modules, which get the same changes
- Several rewordings and clarifications
2015-05-18 17:27:02 +03:00
Berker Peksag 9891f4843b PEP 489: Updates from Petr Viktorin.
Summary:

- PyModuleExport -> PyModuleDef (which brings us down to two slot types,
  create & exec)
- Removed "singleton modules"
- Stated that PyModule_Create, PyState_FindModule, PyState_AddModule,
  PyState_RemoveModule will not work on slots-based modules.
- Added a section on C-level callbacks
- Clarified that if PyModuleExport_* returns NULL, it's as if it wasn't
  defined (i.e. falls back to PyInit)
- Added API functions: PyModule_FromDefAndSpec, PyModule_ExecDef
- Added PyModule_AddMethods and PyModule_AddDocstring helpers
- Added PyMODEXPORT_FUNC macro for x-platform declarations of the export
  function
- Added summary of API changes
- Added example code for a backwards-compatible module
- Changed modules ported in the initial implementation to "array" and "xx*"
- Changed ImportErrors to SystemErrors in cases where the module is
  badly written (and to mirror what PyInit does now)
- Several typo fixes and clarifications
2015-05-08 04:58:19 +03:00
Berker Peksag d7780468e2 PEP 489: Update from Petr. 2015-04-17 21:05:59 +03:00
Berker Peksag 22807f72c3 PEP 489: Updates from Petr Viktorin. 2015-04-16 18:49:43 +03:00
Brett Cannon 08ec9b2956 Add PEP 489: Redesigning extension module loading 2015-03-13 08:41:41 -04:00