diff --git a/Misc/NEWS b/Misc/NEWS index 4cb08eef7a3..209a4b953e2 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -15,6 +15,9 @@ Core and Builtins Library ------- +- Issue #24824: Signatures of codecs.encode() and codecs.decode() now are + compatible with pydoc. + - Issue #24634: Importing uuid should not try to load libc on Windows - Issue #24798: _msvccompiler.py doesn't properly support manifests diff --git a/Modules/_codecsmodule.c b/Modules/_codecsmodule.c index cf67c462e79..7575773f455 100644 --- a/Modules/_codecsmodule.c +++ b/Modules/_codecsmodule.c @@ -91,12 +91,12 @@ _codecs_lookup_impl(PyModuleDef *module, const char *encoding) /*[clinic input] _codecs.encode obj: object - encoding: str(c_default="NULL") = sys.getdefaultencoding() + encoding: str(c_default="NULL") = "utf-8" errors: str(c_default="NULL") = "strict" Encodes obj using the codec registered for encoding. -encoding defaults to the default encoding. errors may be given to set a +The default encoding is 'utf-8'. errors may be given to set a different error handling scheme. Default is 'strict' meaning that encoding errors raise a ValueError. Other possible values are 'ignore', 'replace' and 'backslashreplace' as well as any other name registered with @@ -106,7 +106,7 @@ codecs.register_error that can handle ValueErrors. static PyObject * _codecs_encode_impl(PyModuleDef *module, PyObject *obj, const char *encoding, const char *errors) -/*[clinic end generated code: output=5c073f62249c8d7c input=2440d769df020a0e]*/ +/*[clinic end generated code: output=5c073f62249c8d7c input=cd5b685040ff61f0]*/ { if (encoding == NULL) encoding = PyUnicode_GetDefaultEncoding(); @@ -118,12 +118,12 @@ _codecs_encode_impl(PyModuleDef *module, PyObject *obj, const char *encoding, /*[clinic input] _codecs.decode obj: object - encoding: str(c_default="NULL") = sys.getdefaultencoding() + encoding: str(c_default="NULL") = "utf-8" errors: str(c_default="NULL") = "strict" Decodes obj using the codec registered for encoding. -encoding defaults to the default encoding. errors may be given to set a +Default encoding is 'utf-8'. errors may be given to set a different error handling scheme. Default is 'strict' meaning that encoding errors raise a ValueError. Other possible values are 'ignore', 'replace' and 'backslashreplace' as well as any other name registered with @@ -133,7 +133,7 @@ codecs.register_error that can handle ValueErrors. static PyObject * _codecs_decode_impl(PyModuleDef *module, PyObject *obj, const char *encoding, const char *errors) -/*[clinic end generated code: output=c81cbf6189a7f878 input=a351e5f5baad1544]*/ +/*[clinic end generated code: output=c81cbf6189a7f878 input=7702c0cc2fa1add6]*/ { if (encoding == NULL) encoding = PyUnicode_GetDefaultEncoding(); diff --git a/Modules/clinic/_codecsmodule.c.h b/Modules/clinic/_codecsmodule.c.h index 2b97b187ce4..e94be1176e9 100644 --- a/Modules/clinic/_codecsmodule.c.h +++ b/Modules/clinic/_codecsmodule.c.h @@ -42,13 +42,12 @@ exit: } PyDoc_STRVAR(_codecs_encode__doc__, -"encode($module, /, obj, encoding=sys.getdefaultencoding(),\n" -" errors=\'strict\')\n" +"encode($module, /, obj, encoding=\'utf-8\', errors=\'strict\')\n" "--\n" "\n" "Encodes obj using the codec registered for encoding.\n" "\n" -"encoding defaults to the default encoding. errors may be given to set a\n" +"The default encoding is \'utf-8\'. errors may be given to set a\n" "different error handling scheme. Default is \'strict\' meaning that encoding\n" "errors raise a ValueError. Other possible values are \'ignore\', \'replace\'\n" "and \'backslashreplace\' as well as any other name registered with\n" @@ -80,13 +79,12 @@ exit: } PyDoc_STRVAR(_codecs_decode__doc__, -"decode($module, /, obj, encoding=sys.getdefaultencoding(),\n" -" errors=\'strict\')\n" +"decode($module, /, obj, encoding=\'utf-8\', errors=\'strict\')\n" "--\n" "\n" "Decodes obj using the codec registered for encoding.\n" "\n" -"encoding defaults to the default encoding. errors may be given to set a\n" +"Default encoding is \'utf-8\'. errors may be given to set a\n" "different error handling scheme. Default is \'strict\' meaning that encoding\n" "errors raise a ValueError. Other possible values are \'ignore\', \'replace\'\n" "and \'backslashreplace\' as well as any other name registered with\n" @@ -1395,4 +1393,4 @@ exit: #ifndef _CODECS_CODE_PAGE_ENCODE_METHODDEF #define _CODECS_CODE_PAGE_ENCODE_METHODDEF #endif /* !defined(_CODECS_CODE_PAGE_ENCODE_METHODDEF) */ -/*[clinic end generated code: output=713a4081788da1bc input=a9049054013a1b77]*/ +/*[clinic end generated code: output=9c9967048027c1c7 input=a9049054013a1b77]*/