diff -r c5729c10ce65 Doc/library/zlib.rst --- a/Doc/library/zlib.rst Mon May 02 13:45:20 2016 +0300 +++ b/Doc/library/zlib.rst Mon May 02 15:12:41 2016 +0300 @@ -57,7 +57,7 @@ The available exception and functions in Raises the :exc:`error` exception if any error occurs. .. versionchanged:: 3.6 - Keyword arguments are now supported. + *level* is now supported as keyword arguments. .. function:: compressobj(level=-1, method=DEFLATED, wbits=15, memLevel=8, strategy=Z_DEFAULT_STRATEGY[, zdict]) diff -r c5729c10ce65 Lib/test/test_zlib.py --- a/Lib/test/test_zlib.py Mon May 02 13:45:20 2016 +0300 +++ b/Lib/test/test_zlib.py Mon May 02 15:12:41 2016 +0300 @@ -163,8 +163,10 @@ class CompressTestCase(BaseCompressTestC self.assertEqual(zlib.decompress(x), HAMLET_SCENE) def test_keywords(self): - x = zlib.compress(data=HAMLET_SCENE, level=3) + x = zlib.compress(HAMLET_SCENE, level=3) self.assertEqual(zlib.decompress(x), HAMLET_SCENE) + with self.assertRaises(TypeError): + zlib.compress(data=HAMLET_SCENE, level=3) def test_speech128(self): # compress more data diff -r c5729c10ce65 Modules/clinic/zlibmodule.c.h --- a/Modules/clinic/zlibmodule.c.h Mon May 02 13:45:20 2016 +0300 +++ b/Modules/clinic/zlibmodule.c.h Mon May 02 15:12:41 2016 +0300 @@ -3,7 +3,7 @@ preserve [clinic start generated code]*/ PyDoc_STRVAR(zlib_compress__doc__, -"compress($module, /, data, level=Z_DEFAULT_COMPRESSION)\n" +"compress($module, data, /, level=Z_DEFAULT_COMPRESSION)\n" "--\n" "\n" "Returns a bytes object containing compressed data.\n" @@ -23,7 +23,7 @@ static PyObject * zlib_compress(PyModuleDef *module, PyObject *args, PyObject *kwargs) { PyObject *return_value = NULL; - static char *_keywords[] = {"data", "level", NULL}; + static char *_keywords[] = {"", "level", NULL}; Py_buffer data = {NULL, NULL}; int level = Z_DEFAULT_COMPRESSION; @@ -440,4 +440,4 @@ exit: #ifndef ZLIB_COMPRESS_COPY_METHODDEF #define ZLIB_COMPRESS_COPY_METHODDEF #endif /* !defined(ZLIB_COMPRESS_COPY_METHODDEF) */ -/*[clinic end generated code: output=e6f3b79e051ecc35 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=6d7aefbce8cb56e8 input=a9049054013a1b77]*/ diff -r c5729c10ce65 Modules/zlibmodule.c --- a/Modules/zlibmodule.c Mon May 02 13:45:20 2016 +0300 +++ b/Modules/zlibmodule.c Mon May 02 15:12:41 2016 +0300 @@ -139,6 +139,7 @@ zlib.compress data: Py_buffer Binary data to be compressed. + / level: int(c_default="Z_DEFAULT_COMPRESSION") = Z_DEFAULT_COMPRESSION Compression level, in 0-9 or -1. @@ -147,7 +148,7 @@ Returns a bytes object containing compre static PyObject * zlib_compress_impl(PyModuleDef *module, Py_buffer *data, int level) -/*[clinic end generated code: output=1b97589132b203b4 input=abed30f4fa14e213]*/ +/*[clinic end generated code: output=1b97589132b203b4 input=638d54b6315dbed3]*/ { PyObject *ReturnVal = NULL; Byte *input, *output = NULL;