Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
24df416
Specify constants for native error policies.
picnixz Sep 27, 2024
a65c1b7
Add `PyCodec_UnregisterError` C API function
picnixz Sep 27, 2024
c1ff9e6
Expose `PyCodec_UnregisterError` as `codecs.unregister_error`
picnixz Sep 27, 2024
5837019
Update stable ABI files.
picnixz Sep 27, 2024
80d1ceb
update ignored.tsv
picnixz Sep 27, 2024
a134f23
add tests
picnixz Sep 27, 2024
47971e9
add docs
picnixz Sep 27, 2024
c00ad8d
add What's New entry
picnixz Sep 27, 2024
cf3bc2f
blurb
picnixz Sep 27, 2024
2108308
docs fix
picnixz Sep 27, 2024
1036516
simplify logic
picnixz Sep 27, 2024
ae601fe
nit: error message standardization
picnixz Sep 27, 2024
864c1ab
Make it a private utility for now.
picnixz Sep 28, 2024
3d9ff15
Revert "docs fix"
picnixz Sep 28, 2024
dbf0d5b
Revert "blurb"
picnixz Sep 28, 2024
5ba676c
Revert "add What's New entry"
picnixz Sep 28, 2024
8a0a0a9
Revert "add docs"
picnixz Sep 28, 2024
7915fa1
Revert "Update stable ABI files."
picnixz Sep 28, 2024
8eaa147
simplify array logic
picnixz Sep 28, 2024
7f41aec
update tests
picnixz Sep 28, 2024
988b34d
fix tests
picnixz Sep 28, 2024
c6e1d98
Duplicate standard error policies to avoid indirection.
picnixz Sep 28, 2024
dd6d210
standardize names
picnixz Sep 28, 2024
b68e54e
PEP 7
picnixz Sep 28, 2024
2c528fe
standardize names
picnixz Sep 28, 2024
c95cd65
revert renaming as well
picnixz Sep 28, 2024
101eb76
use 'built-in' instead of 'standard' terminology
picnixz Sep 28, 2024
903238a
use 'random.getrandbits' instead of 'os.urandom' to generate random IDs
picnixz Sep 28, 2024
a6c692d
address Victor's review
picnixz Sep 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
add docs
  • Loading branch information
picnixz committed Sep 27, 2024
commit 47971e965fb8c1c99301da02bb2473e7463ee9c6
16 changes: 16 additions & 0 deletions Doc/c-api/codec.rst
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,22 @@ Registry API for Unicode encoding error handlers

Return ``0`` on success, ``-1`` on error.

.. c:function:: int PyCodec_UnregisterError(const char *name)

Un-register the error handling callback function error under the given error
policy *name*. :ref:`Standard error policies <serror-handlers>` cannot be
un-registered.

* Return ``-1`` and set a :exc:`ValueError` exception if *name* is a
standard error policy or if an error occurred (in which case the
existing exception is propagated).

* Return ``0`` if no error handler is associated with the given error policy.

* Return ``1`` if the error handler was successfully removed.

.. versionadded:: 3.14

.. c:function:: PyObject* PyCodec_LookupError(const char *name)

Lookup the error handling callback function registered under *name*. As a
Expand Down
11 changes: 11 additions & 0 deletions Doc/library/codecs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,17 @@ handler:
replacement from the error handler will be put into the output directly.


.. function:: unregister_error(name)

Attempt to un-register the error handling function under the name *name*.

This raises a :exc:`ValueError` if *name* denotes a standard error policy
as specified above. Otherwise, this returns ``True`` if an error handler
existed for the given *name* and ``False`` otherwise.

.. versionadded:: 3.14


Previously registered error handlers (including the standard error handlers)
can be looked up by name:

Expand Down