Serhiy Storchaka
a5a55902c1
Issue #29300 : Use Argument Clinic for getting struct object from the format.
2017-02-04 11:14:52 +02:00
Victor Stinner
c0f59ad145
Rename struct.unpack() 2nd parameter to "buffer"
...
Issue #29300 : Rename struct.unpack() second parameter from "inputstr" to
"buffer", and use the Py_buffer type.
Fix also unit tests on struct.unpack() which passed a Unicode string instead of
a bytes string as struct.unpack() second parameter. The purpose of
test_trailing_counter() is to test invalid format strings, not to test the
buffer parameter.
2017-02-02 14:24:16 +01:00
Victor Stinner
3f2d10132d
Issue #29300 : Convert _struct module to Argument Clinic
...
* The struct module now requires contiguous buffers.
* Convert most functions and methods of the _struct module to Argument Clinic
* Use "Py_buffer" type for the "buffer" argument. Argument Clinic is
responsible to create and release the Py_buffer object.
* Use "PyStructObject *" type for self to avoid explicit conversions.
* Add an unit test on the _struct.Struct.unpack_from() method to test passing
arguments as keywords.
* Rephrase docstrings.
* Rename "fmt" argument to "format" in docstrings and the documentation.
As a side effect, functions and methods which used METH_VARARGS calling
convention like struct.pack() now use the METH_FASTCALL calling convention
which avoids the creation of temporary tuple to pass positional arguments and
so is faster. For example, struct.pack("i", 1) becomes 1.56x faster (-36%)::
$ ./python -m perf timeit \
-s 'import struct; pack=struct.pack' 'pack("i", 1)' \
--compare-to=../default-ref/python
Median +- std dev: 119 ns +- 1 ns -> 76.8 ns +- 0.4 ns: 1.56x faster (-36%)
Significant (t=295.91)
Patch co-written with Serhiy Storchaka.
2017-02-02 12:09:30 +01:00
Xiang Zhang
1dfaa6c38a
Issue #29092 : Merge 3.6.
2017-01-22 13:10:12 +08:00
Xiang Zhang
4459e009ed
Issue #29092 : Sync os.stat's doc and docstring on path type.
2017-01-22 13:04:17 +08:00
Mark Dickinson
5e65cd39df
Issue #29282 : Backed out changeset b33012ef1417
2017-01-21 13:10:52 +00:00
Mark Dickinson
d1b230e48b
Issue #29282 : add fused multiply-add function, math.fma.
2017-01-21 12:35:30 +00:00
Serhiy Storchaka
c9ea933586
Issue #20186 : Converted the math module to Argument Clinic.
...
Patch by Tal Einat.
2017-01-19 18:13:09 +02:00
Serhiy Storchaka
b813a0e948
Issue #20186 : Converted the _operator module to Argument Clinic.
...
Patch by Tal Einat.
2017-01-19 17:44:13 +02:00
Victor Stinner
0c4a828cad
Run Argument Clinic: METH_VARARGS=>METH_FASTCALL
...
Issue #29286 . Run Argument Clinic to get the new faster METH_FASTCALL calling
convention for functions using "boring" positional arguments.
Manually fix _elementtree: _elementtree_XMLParser_doctype() must remain
consistent with the clinic code.
2017-01-17 02:21:47 +01:00
Victor Stinner
259f0e4437
Run Argument Clinic: METH_VARARGS=>METH_FASTCALL
...
Issue #29286 . Run Argument Clinic to get the new faster METH_FASTCALL calling
convention for functions using only positional arguments.
2017-01-17 01:35:17 +01:00
Victor Stinner
3e1fad6913
Rename _PyArg_ParseStack to _PyArg_ParseStackAndKeywords
...
Issue #29286 .
2017-01-17 01:29:01 +01:00
Serhiy Storchaka
b37f3f6e6b
Issue #29195 : Removed support of deprecated undocumented keyword arguments
...
in methods of regular expression objects.
2017-01-13 08:53:58 +02:00
Antoine Pitrou
c06ae208eb
Issue #28427 : old keys should not remove new values from
...
WeakValueDictionary when collecting from another thread.
2016-12-27 14:34:54 +01:00
Antoine Pitrou
d741ed492f
Issue #28427 : old keys should not remove new values from
...
WeakValueDictionary when collecting from another thread.
2016-12-27 14:23:43 +01:00
Antoine Pitrou
e10ca3a0fe
Issue #28427 : old keys should not remove new values from
...
WeakValueDictionary when collecting from another thread.
2016-12-27 14:19:20 +01:00
Martin Panter
9e40afe20a
Issue #29004 : Merge crc_hqx() doc from 3.6
2016-12-24 07:45:56 +00:00
Martin Panter
520569e9bd
Issue #29004 : Merge crc_hqx() doc from 3.5
2016-12-24 07:44:03 +00:00
Martin Panter
3310e146cc
Issue #29004 : Document binascii.crc_hqx() implements CRC-CCITT
2016-12-24 07:36:44 +00:00
Victor Stinner
726a57d45f
Issue #28765 : _sre.compile() now checks the type of groupindex and indexgroup
...
groupindex must a dictionary and indexgroup must be a tuple.
Previously, indexgroup was a list. Use a tuple to reduce the memory usage.
2016-11-22 23:04:39 +01:00
Serhiy Storchaka
b74fecc396
Issue #28585 : Restored docstring of os._isdir().
2016-11-08 20:28:43 +02:00
Serhiy Storchaka
852cc3335e
Issue #28585 : Restored docstring of os._isdir().
2016-11-08 20:26:18 +02:00
Serhiy Storchaka
579f038018
Issue #28585 : Restored docstring of os._isdir().
2016-11-08 20:21:22 +02:00
Serhiy Storchaka
49d02d1659
Issue #28586 : Converted os.scandir() to Argument Clinic.
2016-11-06 13:45:33 +02:00
Yury Selivanov
29d3cbfe97
Merge 3.6 (issue #28544 )
2016-10-28 12:53:29 -04:00
Yury Selivanov
a0c1ba608e
Issue #28544 : Implement asyncio.Task in C.
...
This implementation provides additional 10-20% speed boost for
asyncio programs.
The patch also fixes _asynciomodule.c to use Arguments Clinic, and
makes '_schedule_callbacks' an overridable method (as it was in 3.5).
2016-10-28 12:52:37 -04:00
Serhiy Storchaka
f8d7d41507
Issue #28511 : Use the "U" format instead of "O!" in PyArg_Parse*.
2016-10-23 15:12:25 +03:00
Berker Peksag
3940499ca8
Issue #28156 : Export os.getpid() conditionally
...
Patch by Ed Schouten.
2016-09-15 20:45:16 +03:00
Victor Stinner
37e4ef7b17
Issue #27810 : Rerun Argument Clinic on all modules
2016-09-09 20:00:13 -07:00
Benjamin Peterson
768f3b4492
do not pretend to support passing a fd to access()
2016-09-05 15:29:33 -07:00
Steve Dower
cc16be85c0
Issue #27781 : Change file system encoding on Windows to UTF-8 (PEP 529)
2016-09-08 10:35:16 -07:00
Benjamin Peterson
cc854499e4
clinic: PY_LONG_LONG -> long long
2016-09-08 09:29:11 -07:00
Steve Dower
f5aba58480
Issue #27959 : Adds oem encoding, alias ansi to mbcs, move aliasmbcs to codec lookup
2016-09-06 19:42:27 -07:00
Victor Stinner
9b1f474df6
Add os.getrandom()
...
Issue #27778 : Expose the Linux getrandom() syscall as a new os.getrandom()
function.
This change is part of the PEP 524.
2016-09-06 16:18:52 -07:00
Victor Stinner
581139cb34
Run Argument Clinic on posixmodule.c
...
Issue #17884 .
2016-09-06 15:54:20 -07:00
Christian Heimes
39093e9e68
Issue #27928 : Add scrypt (password-based key derivation function) to hashlib module (requires OpenSSL 1.1.0).
2016-09-06 20:22:28 +02:00
Benjamin Peterson
b1cb8b2872
merge 3.5
2016-09-05 15:35:45 -07:00
Christian Heimes
25bfcd5d9e
Issue #27866 : Add SSLContext.get_ciphers() method to get a list of all enabled ciphers.
2016-09-06 00:04:45 +02:00
Serhiy Storchaka
15f3228b7c
Issue #16764 : Support keyword arguments to zlib.decompress(). Patch by
...
Xiang Zhang.
2016-08-15 10:06:16 +03:00
Serhiy Storchaka
9171a8b4ce
Issue #27574 : Decreased an overhead of parsing keyword arguments in functions
...
implemented with using Argument Clinic.
2016-08-14 10:52:18 +03:00
Martin Panter
525a949251
Issue #27130 : Merge zlib 64-bit fixes from 3.5
2016-07-23 03:39:49 +00:00
Martin Panter
84544c1020
Issue #27130 : Fix handling of buffers exceeding UINT_MAX in “zlib” module
...
Patch by Xiang Zhang.
2016-07-23 03:02:07 +00:00
Serhiy Storchaka
2954f83999
- Issue #27332 : Fixed the type of the first argument of module-level functions
...
generated by Argument Clinic. Patch by Petr Viktorin.
2016-07-07 18:20:03 +03:00
Serhiy Storchaka
1a2b24f02d
Issue #27332 : Fixed the type of the first argument of module-level functions
...
generated by Argument Clinic. Patch by Petr Viktorin.
2016-07-07 17:35:15 +03:00
Benjamin Peterson
50600a78cb
merge 3.5 ( #24557 )
2016-07-06 23:58:16 -07:00
Benjamin Peterson
b8a2f51ceb
assume egd unless OPENSSL_NO_EGD is defined—remove configure check ( closes #24557 )
2016-07-06 23:55:15 -07:00
Serhiy Storchaka
95657cdd40
Issue #26243 : Only the level argument to zlib.compress() is keyword argument
...
now. The first argument is positional-only.
2016-06-25 22:43:05 +03:00
Brett Cannon
b4f43e90d9
Clarify documentation for os.fspath().
2016-06-09 14:32:08 -07:00
Serhiy Storchaka
5dee6551e2
Issue #26305 : Argument Clinic now uses braces in C code as required by PEP 7.
2016-06-09 16:16:06 +03:00
Ethan Furman
410ef8e230
issue27186: add C version of os.fspath(); patch by Jelle Zijlstra
2016-06-04 12:06:26 -07:00
Martin Panter
f4affb71bc
Issue #5784 : Merge zlib from 3.5
2016-05-27 08:00:24 +00:00
Martin Panter
0fdf41d847
Issue #5784 : Expand documentation and tests for zlib wbits parameter
...
Based on documentation by AM Kuchling.
2016-05-27 07:32:11 +00:00
Martin Panter
3e04d5b306
Issue #27076 : Merge spelling from 3.5
2016-05-26 06:03:19 +00:00
Martin Panter
46f50726a0
Issue #27076 : Doc, comment and tests spelling fixes
...
Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
2016-05-26 05:35:26 +00:00
Serhiy Storchaka
2eb6b0d1bd
Issues #26716 , #26057 : Regenerate Argument Clinic code.
2016-04-14 12:30:54 +03:00
Serhiy Storchaka
d6117a4296
Issue #26716 : Regenerate Argument Clinic code.
2016-04-14 12:28:01 +03:00
Martin Panter
b0cb42dfdb
Issue 26243: Forgot to update zlib doc strings in Argument Clinic
2016-02-10 10:45:54 +00:00
Martin Panter
1fe0d13d12
Issue #26243 : zlib.compress() keyword argument support by Aviv Palivoda
2016-02-10 10:06:36 +00:00
Martin Panter
8254f793c0
Issue #26244 : Merge zlib documentation from 3.5
2016-02-03 07:52:06 +00:00
Martin Panter
567d513b9b
Issue #26244 : Clarify default zlib compression level in documentation
...
Based on patch by Aviv Palivoda.
2016-02-03 07:06:33 +00:00
Serhiy Storchaka
9ec5e25f26
Issue #25638 : Optimized ElementTree.iterparse(); it is now 2x faster.
...
ElementTree.XMLParser._setevents now accepts any objects with the append
method, not just a list.
2015-12-07 02:31:11 +02:00
Martin Panter
36befa5b4c
Issue #25626 : Merge zlib fix from 3.5
2015-11-21 10:57:15 +00:00
Martin Panter
e99e97762c
Issue #25626 : Change zlib to accept Py_ssize_t and cap to UINT_MAX
...
The underlying zlib library stores sizes in “unsigned int”. The corresponding
Python parameters are all sizes of buffers filled in by zlib, so it is okay
to reduce higher values to the UINT_MAX internal cap. OverflowError is still
raised for sizes that do not fit in Py_ssize_t.
Sizes are now limited to Py_ssize_t rather than unsigned long, because Python
byte strings cannot be larger than Py_ssize_t. Previously this could result
in a SystemError on 32-bit platforms.
This resolves a regression in the gzip module when reading more than UINT_MAX
or LONG_MAX bytes in one call, introduced by revision 62723172412c.
2015-11-20 08:13:35 +00:00
Martin Panter
e56a919100
Issue #25523 : Merge a-to-an corrections from 3.5
2015-11-02 04:27:17 +00:00
Martin Panter
2eb819f7a8
Issue #25523 : Merge "a" to "an" fixes from 3.4 into 3.5
2015-11-02 04:04:57 +00:00
Martin Panter
7462b64911
Issue #25523 : Correct "a" article to "an" article
...
This changes the main documentation, doc strings, source code comments, and a
couple error messages in the test suite. In some cases the word was removed
or edited some other way to fix the grammar.
2015-11-02 03:37:02 +00:00
Victor Stinner
e84c976568
Issue #25357 : Add an optional newline paramer to binascii.b2a_base64().
...
base64.b64encode() uses it to avoid a memory copy.
2015-10-11 11:01:02 +02:00
Martin Panter
a122b5a1fd
Issue #23738 : Merge 3.5 into 3.6
2015-09-09 03:01:17 +00:00
Martin Panter
0ff89099c7
Issue #23738 : Merge 3.4 into 3.5
2015-09-09 01:56:53 +00:00
Charles-François Natali
80d62e628b
Issue #23530 : fix clinic comment.
2015-08-13 20:37:08 +01:00
Serhiy Storchaka
c97a962e08
Issue #24824 : Signatures of codecs.encode() and codecs.decode() now are
...
compatible with pydoc.
2015-08-09 12:23:08 +03:00
Serhiy Storchaka
4a01cab898
Issue #19176 : Fixed doctype() related bugs in C implementation of ElementTree.
...
A deprecation warning no longer issued by XMLParser subclass with default
doctype() method. Direct call of doctype() now issues a warning. Parser's
doctype() now is not called if target's doctype() is called. Based on patch
by Martin Panter.
2015-06-29 23:08:52 +03:00
Tal Einat
d5519ed7f4
Issue #19543 : Implementation of isclose as per PEP 485
...
For details, see:
PEP 0485 -- A Function for testing approximate equality
Functions added: math.isclose() and cmath.isclose().
Original code by Chris Barker. Patch by Tal Einat.
2015-05-31 22:05:00 +03:00
Serhiy Storchaka
8b2e8b6cce
Specify default values of semantic booleans in Argument Clinic generated signatures as booleans.
2015-05-30 11:30:39 +03:00
Serhiy Storchaka
6b680cd6b2
Fixed compilation error in signalmodule.c (issue #20182 ).
2015-05-16 15:57:56 +03:00
Tal Einat
c7027b7904
Issue #20182 : converted the signal module to use Argument Clinic
2015-05-16 14:14:49 +03:00
Zachary Ware
77772c0e7b
Issue #20172 : Update clinicizations to current clinic.
2015-05-13 10:58:35 -05:00
Zachary Ware
f2244eaf9e
Issue #20172 : Convert the _winapi module to Argument Clinic.
2015-05-13 01:22:54 -05:00
Serhiy Storchaka
f0b5015edb
Converted os._getfullpathname() and os._isdir() to Argument Clinic.
2015-05-13 00:52:39 +03:00
Serhiy Storchaka
0c59ff6430
Issue #20173 : Converted the _codecs module to Argument Clinic.
2015-05-12 13:15:57 +03:00
Serhiy Storchaka
cb98556373
Issue #20159 . Converted the _elementtree module to Argument Clinic.
2015-05-04 15:32:48 +03:00
Serhiy Storchaka
4b7b82f133
Issue #20179 : Converted the _ssl module to Argument Clinic.
2015-05-03 16:14:08 +03:00
Serhiy Storchaka
a860aeaf98
Issue #20148 : Converted the _sre module to Argument Clinic.
2015-05-03 15:54:23 +03:00
Serhiy Storchaka
5abdf48430
Issue #20168 : Converted the _tkinter module to Argument Clinic.
2015-05-03 15:49:47 +03:00
Serhiy Storchaka
247789cee9
Issue #24007 : Argument Clinic now writes the format of PyArg_Parse*() at the
...
same line as function name.
2015-04-24 00:40:51 +03:00
Serhiy Storchaka
e3037e1145
Issue #23728 : binascii.crc_hqx() could return an integer outside of the range
...
0-0xffff for empty data.
2015-04-20 09:31:51 +03:00
Serhiy Storchaka
2ef7c47844
Issue #23728 : binascii.crc_hqx() could return an integer outside of the range
...
0-0xffff for empty data.
2015-04-20 09:26:49 +03:00
Serhiy Storchaka
6359641bcd
Issue #20181 : Converted the unicodedata module to Argument Clinic.
2015-04-17 21:18:49 +03:00
Serhiy Storchaka
9260e77386
Issue #20184 : Converted _dbm and _gdbm modules to Argument Clinic.
2015-04-17 21:05:18 +03:00
Larry Hastings
89964c48d1
Issue #23944 : Argument Clinic now wraps long impl prototypes at column 78.
2015-04-14 18:07:59 -04:00
Zachary Ware
8ef887ce47
Issue #20586 : Argument Clinic now ensures signatures on functions without docstrings.
2015-04-13 18:22:35 -05:00
Steve Dower
f737703671
Issue #23668 : Regenerates posixmodule.c.h for new ifdefs
2015-04-12 15:44:54 -04:00
Serhiy Storchaka
92e8af67a8
Issue #23492 : Argument Clinic now generates argument parsing code with
...
PyArg_Parse instead of PyArg_ParseTuple if possible.
2015-04-04 00:12:11 +03:00
Serhiy Storchaka
1009bf18b3
Issue #23501 : Argumen Clinic now generates code into separate files by default.
2015-04-03 23:53:51 +03:00
Larry Hastings
0759f84d62
Issue #23500 : Argument Clinic is now smarter about generating the "#ifndef"
...
(empty) definition of the methoddef macro: it's only generated once, even
if Argument Clinic processes the same symbol multiple times, and it's emitted
at the end of all processing rather than immediately after the first use.
2015-04-03 13:09:02 -07:00
Serhiy Storchaka
17d3a58e39
Issue #22832 : Tweaked parameter names for fcntl module to better match
...
official POSIX documentation. Updated the documenttion for Python 3.
Patch by Alex Shkop.
2015-03-20 20:04:21 +02:00
Antoine Pitrou
e71258a0e6
Issue #15955 : Add an option to limit the output size in bz2.decompress().
...
Patch by Nikolaus Rath.
2015-02-26 13:08:07 +01:00
Serhiy Storchaka
79d8f3f123
Regenerated Argument Clinic checksums.
2015-02-20 12:46:11 +02:00
Zachary Ware
b4826c3fd1
Merge with 3.4 ( closes #23280 )
2015-01-20 14:11:38 -06:00
Zachary Ware
b176d40398
Issue #23280 : Fix docstrings for binascii.(un)hexlify
2015-01-20 13:59:46 -06:00
Antoine Pitrou
26795baaa8
Issue #15955 : Add an option to limit output size when decompressing LZMA data.
...
Patch by Nikolaus Rath and Martin Panter.
2015-01-17 16:22:18 +01:00
Mark Dickinson
cc8617b93a
Issue #21092 : Merge from 3.4.
2015-01-11 13:22:44 +00:00
Serhiy Storchaka
01bdd9a980
Issue #15513 : Added a __sizeof__ implementation for pickle classes.
2014-12-16 19:40:58 +02:00
Serhiy Storchaka
5bbd231f27
Issue #15513 : Added a __sizeof__ implementation for pickle classes.
2014-12-16 19:39:08 +02:00
Brett Cannon
b7299ddbc7
Issue 20152, 22821: Port the fcntl module to Argument Clinic.
...
Along the way, fix an argumrnt to fcntl.fcntl to be an int instead of
a long.
Thanks to Serhiy Storchaka for reviewing my Clinic patch and for
writing the patch to fix the long/int issue.
2014-11-09 20:22:01 -05:00
Brett Cannon
b0fc490307
Issue #20152 : Convert the cmath module to Argument Clinic.
2014-10-14 17:37:02 -04:00
Larry Hastings
dfbeb160de
Issue #22615 : Argument Clinic now supports the "type" argument for the
...
int converter. This permits using the int converter with enums and
typedefs.
2014-10-13 10:39:41 +01:00
Brett Cannon
1eb32c2045
Issue #20152 : Port the array module to Argument Clinic.
2014-10-10 16:26:45 -04:00
Brett Cannon
9f49e31a4a
Add a missing Argument Clinic file
2014-08-22 14:08:46 -04:00
Brett Cannon
20cf6ddfa2
Issue #20152 : Port the spwd module to Argument Clinic.
2014-08-22 13:59:24 -04:00
Brett Cannon
8fb7bb2f29
Issue #20152 : Convert the grp module to Argument Clinic.
2014-08-22 11:52:46 -04:00
Larry Hastings
a73cb8a6b8
Issue #22120 : For functions using an unsigned integer return converter,
...
Argument Clinic now generates a cast to that type for the comparison
to -1 in the generated code. (This supresses a compilation warning.)
2014-08-05 19:55:21 +10:00
Larry Hastings
2623c8c23c
Issue #20530 : Argument Clinic's signature format has been revised again.
...
The new syntax is highly human readable while still preventing false
positives. The syntax also extends Python syntax to denote "self" and
positional-only parameters, allowing inspect.Signature objects to be
totally accurate for all supported builtins in Python 3.4.
2014-02-08 22:15:29 -08:00
Serhiy Storchaka
54c1391ba9
Issue #20489 : Explicitly qualified expressions for default values in methods.
2014-02-05 13:34:01 +02:00
Larry Hastings
7726ac9163
#Issue 20456: Several improvements and bugfixes for Argument Clinic,
...
including correctly generating code for Clinic blocks inside C
preprocessor conditional blocks.
2014-01-31 22:03:12 -08:00
Larry Hastings
581ee3618c
Issue #20326 : Argument Clinic now uses a simple, unique signature to
...
annotate text signatures in docstrings, resulting in fewer false
positives. "self" parameters are also explicitly marked, allowing
inspect.Signature() to authoritatively detect (and skip) said parameters.
Issue #20326 : Argument Clinic now generates separate checksums for the
input and output sections of the block, allowing external tools to verify
that the input has not changed (and thus the output is not out-of-date).
2014-01-28 05:00:08 -08:00
Serhiy Storchaka
3c1f0f1b42
Issue #20395 : Extract generated clinic code in Modules/_pickle.c to separate file.
2014-01-27 10:34:22 +02:00
Serhiy Storchaka
2c5ddbe030
Issue #20193 : The zlib module now uses Argument Clinic.
2014-01-27 00:03:31 +02:00
Benjamin Peterson
b62deac9a3
cleanup after custom buffer converter
2014-01-26 10:41:58 -05:00
Larry Hastings
f0537e8d1c
Issue #20390 : Final fix, for generating NoPositional/NoKeyword for __init__ calls.
2014-01-25 22:01:12 -08:00
Larry Hastings
f256c22f34
Fix for catestrophic errors in previous checkin (Argument Clinic rollup patch).
2014-01-25 21:30:37 -08:00
Larry Hastings
c20472640c
Issue #20390 : Small fixes and improvements for Argument Clinic.
2014-01-25 20:43:29 -08:00