Issue #24824: Signatures of codecs.encode() and codecs.decode() now are

compatible with pydoc.
This commit is contained in:
Serhiy Storchaka 2015-08-09 12:25:07 +03:00
commit 224d403050
3 changed files with 14 additions and 13 deletions

View File

@ -15,6 +15,9 @@ Core and Builtins
Library Library
------- -------
- Issue #24824: Signatures of codecs.encode() and codecs.decode() now are
compatible with pydoc.
- Issue #4395: Better testing and documentation of binary operators. - Issue #4395: Better testing and documentation of binary operators.
Patch by Martin Panter. Patch by Martin Panter.

View File

@ -91,12 +91,12 @@ _codecs_lookup_impl(PyModuleDef *module, const char *encoding)
/*[clinic input] /*[clinic input]
_codecs.encode _codecs.encode
obj: object obj: object
encoding: str(c_default="NULL") = sys.getdefaultencoding() encoding: str(c_default="NULL") = "utf-8"
errors: str(c_default="NULL") = "strict" errors: str(c_default="NULL") = "strict"
Encodes obj using the codec registered for encoding. 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 different error handling scheme. Default is 'strict' meaning that encoding
errors raise a ValueError. Other possible values are 'ignore', 'replace' errors raise a ValueError. Other possible values are 'ignore', 'replace'
and 'backslashreplace' as well as any other name registered with and 'backslashreplace' as well as any other name registered with
@ -106,7 +106,7 @@ codecs.register_error that can handle ValueErrors.
static PyObject * static PyObject *
_codecs_encode_impl(PyModuleDef *module, PyObject *obj, const char *encoding, _codecs_encode_impl(PyModuleDef *module, PyObject *obj, const char *encoding,
const char *errors) const char *errors)
/*[clinic end generated code: output=5c073f62249c8d7c input=2440d769df020a0e]*/ /*[clinic end generated code: output=5c073f62249c8d7c input=cd5b685040ff61f0]*/
{ {
if (encoding == NULL) if (encoding == NULL)
encoding = PyUnicode_GetDefaultEncoding(); encoding = PyUnicode_GetDefaultEncoding();
@ -118,12 +118,12 @@ _codecs_encode_impl(PyModuleDef *module, PyObject *obj, const char *encoding,
/*[clinic input] /*[clinic input]
_codecs.decode _codecs.decode
obj: object obj: object
encoding: str(c_default="NULL") = sys.getdefaultencoding() encoding: str(c_default="NULL") = "utf-8"
errors: str(c_default="NULL") = "strict" errors: str(c_default="NULL") = "strict"
Decodes obj using the codec registered for encoding. 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 different error handling scheme. Default is 'strict' meaning that encoding
errors raise a ValueError. Other possible values are 'ignore', 'replace' errors raise a ValueError. Other possible values are 'ignore', 'replace'
and 'backslashreplace' as well as any other name registered with and 'backslashreplace' as well as any other name registered with
@ -133,7 +133,7 @@ codecs.register_error that can handle ValueErrors.
static PyObject * static PyObject *
_codecs_decode_impl(PyModuleDef *module, PyObject *obj, const char *encoding, _codecs_decode_impl(PyModuleDef *module, PyObject *obj, const char *encoding,
const char *errors) const char *errors)
/*[clinic end generated code: output=c81cbf6189a7f878 input=a351e5f5baad1544]*/ /*[clinic end generated code: output=c81cbf6189a7f878 input=7702c0cc2fa1add6]*/
{ {
if (encoding == NULL) if (encoding == NULL)
encoding = PyUnicode_GetDefaultEncoding(); encoding = PyUnicode_GetDefaultEncoding();

View File

@ -42,13 +42,12 @@ exit:
} }
PyDoc_STRVAR(_codecs_encode__doc__, PyDoc_STRVAR(_codecs_encode__doc__,
"encode($module, /, obj, encoding=sys.getdefaultencoding(),\n" "encode($module, /, obj, encoding=\'utf-8\', errors=\'strict\')\n"
" errors=\'strict\')\n"
"--\n" "--\n"
"\n" "\n"
"Encodes obj using the codec registered for encoding.\n" "Encodes obj using the codec registered for encoding.\n"
"\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" "different error handling scheme. Default is \'strict\' meaning that encoding\n"
"errors raise a ValueError. Other possible values are \'ignore\', \'replace\'\n" "errors raise a ValueError. Other possible values are \'ignore\', \'replace\'\n"
"and \'backslashreplace\' as well as any other name registered with\n" "and \'backslashreplace\' as well as any other name registered with\n"
@ -80,13 +79,12 @@ exit:
} }
PyDoc_STRVAR(_codecs_decode__doc__, PyDoc_STRVAR(_codecs_decode__doc__,
"decode($module, /, obj, encoding=sys.getdefaultencoding(),\n" "decode($module, /, obj, encoding=\'utf-8\', errors=\'strict\')\n"
" errors=\'strict\')\n"
"--\n" "--\n"
"\n" "\n"
"Decodes obj using the codec registered for encoding.\n" "Decodes obj using the codec registered for encoding.\n"
"\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" "different error handling scheme. Default is \'strict\' meaning that encoding\n"
"errors raise a ValueError. Other possible values are \'ignore\', \'replace\'\n" "errors raise a ValueError. Other possible values are \'ignore\', \'replace\'\n"
"and \'backslashreplace\' as well as any other name registered with\n" "and \'backslashreplace\' as well as any other name registered with\n"
@ -1395,4 +1393,4 @@ exit:
#ifndef _CODECS_CODE_PAGE_ENCODE_METHODDEF #ifndef _CODECS_CODE_PAGE_ENCODE_METHODDEF
#define _CODECS_CODE_PAGE_ENCODE_METHODDEF #define _CODECS_CODE_PAGE_ENCODE_METHODDEF
#endif /* !defined(_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]*/