Issue 47236: Document types.CodeType.replace() changes about co_exceptiontable (original) (raw)
Issue47236
This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.
This issue has been migrated to GitHub: https://github.com/python/cpython/issues/91392
classification
Title: | Document types.CodeType.replace() changes about co_exceptiontable | ||
---|---|---|---|
Type: | Stage: | ||
Components: | Documentation | Versions: | Python 3.11 |
process
Status: | open | Resolution: | |
---|---|---|---|
Dependencies: | Superseder: | ||
Assigned To: | docs@python | Nosy List: | docs@python, gvanrossum, vstinner |
Priority: | normal | Keywords: |
Created on 2022-04-05 23:22 by vstinner, last changed 2022-04-11 14:59 by admin.
Messages (1) | ||
---|---|---|
msg416831 - (view) | Author: STINNER Victor (vstinner) * ![]() |
Date: 2022-04-05 23:22 |
It would be nice to document the bpo-40222 changes in What's New in Python 3.11 and in the CodeType documentation: * https://docs.python.org/dev/library/types.html#types.CodeType * https://docs.python.org/dev/whatsnew/3.11.html Users of types.CodeType.replace(co_code=new_code) must now pass co_exceptiontable or exception handling will no longer work as expected. Callers are responsible to build co_exceptiontable. Currently, the format of this table is documented at: https://github.com/python/cpython/blob/main/Objects/exception_handling_notes.txt There is no public function to encode this table, it's also the responsibility of the caller. See also bpo-47185 "code.replace(co_code=new_code) no longer catch exceptions on Python 3.11" closed as "won't fix" for the background. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:59:58 | admin | set | github: 91392 |
2022-04-05 23:23:47 | gvanrossum | set | nosy: + gvanrossum |
2022-04-05 23:22:06 | vstinner | create |