Dong-hee Na
37fcbb65d4
bpo-40024: Update C extension modules to use PyModule_AddType() (GH-19119)
...
Update _asyncio, _bz2, _csv, _curses, _datetime,
_io, _operator, _pickle, _queue, blake2,
multibytecodec and overlapped C extension modules
to use PyModule_AddType().
2020-03-24 23:08:51 +01:00
Andy Lester
dffe4c0709
bpo-39573: Finish converting to new Py_IS_TYPE() macro (GH-18601)
2020-03-04 14:15:20 +01:00
Petr Viktorin
ffd9753a94
bpo-39245: Switch to public API for Vectorcall (GH-18460)
...
The bulk of this patch was generated automatically with:
for name in \
PyObject_Vectorcall \
Py_TPFLAGS_HAVE_VECTORCALL \
PyObject_VectorcallMethod \
PyVectorcall_Function \
PyObject_CallOneArg \
PyObject_CallMethodNoArgs \
PyObject_CallMethodOneArg \
;
do
echo $name
git grep -lwz _$name | xargs -0 sed -i "s/\b_$name\b/$name/g"
done
old=_PyObject_FastCallDict
new=PyObject_VectorcallDict
git grep -lwz $old | xargs -0 sed -i "s/\b$old\b/$new/g"
and then cleaned up:
- Revert changes to in docs & news
- Revert changes to backcompat defines in headers
- Nudge misaligned comments
2020-02-11 17:46:57 +01:00
Victor Stinner
daa9756cb6
bpo-39573: Use Py_TYPE() macro in Modules directory (GH-18393)
...
Replace direct access to PyObject.ob_type with Py_TYPE().
2020-02-07 03:37:06 +01:00
Victor Stinner
bc7d3aa6d7
bpo-38631: Avoid Py_FatalError() in _multibytecodec init (GH-17233)
...
If an exception is raised and PyInit__multibytecodec() returns NULL,
Python reports properly the exception to the user. There is no need
to crash Python with Py_FatalError().
2019-11-18 17:40:07 +01:00
Serhiy Storchaka
279f44678c
bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933)
...
In ArgumentClinic, value "NULL" should now be used only for unrepresentable default values
(like in the optional third parameter of getattr). "None" should be used if None is accepted
as argument and passing None has the same effect as not passing the argument at all.
2019-09-14 12:24:05 +03:00
Rémi Lapeyre
4901fe274b
bpo-37034: Display argument name on errors with keyword arguments with Argument Clinic. (GH-13593)
2019-08-29 17:49:08 +03:00
Min ho Kim
c4cacc8c5e
Fix typos in comments, docs and test names ( #15018 )
...
* Fix typos in comments, docs and test names
* Update test_pyparse.py
account for change in string length
* Apply suggestion: splitable -> splittable
Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>
* Apply suggestion: splitable -> splittable
Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>
* Apply suggestion: Dealloccte -> Deallocate
Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>
* Update posixmodule checksum.
* Reverse idlelib changes.
2019-07-30 18:16:13 -04:00
Jeroen Demeyer
59ad110d7a
bpo-37547: add _PyObject_CallMethodOneArg (GH-14685)
2019-07-11 17:59:05 +09:00
Jeroen Demeyer
196a530e00
bpo-37483: add _PyObject_CallOneArg() function ( #14558 )
2019-07-04 19:31:34 +09:00
Jeroen Demeyer
530f506ac9
bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464)
...
Automatically replace
tp_print -> tp_vectorcall_offset
tp_compare -> tp_as_async
tp_reserved -> tp_as_async
2019-05-30 19:13:39 -07:00
Alexey Izbyshev
5f45979b63
bpo-35194: cjkcodec: check the encoded value is not truncated (GH-10432)
2019-03-29 16:48:47 +09:00
Serhiy Storchaka
3191391515
bpo-36127: Argument Clinic: inline parsing code for keyword parameters. (GH-12058)
2019-03-14 10:32:22 +02:00
Serhiy Storchaka
2a39d251f0
bpo-35582: Argument Clinic: Optimize the "all boring objects" case. (GH-11520)
...
Use _PyArg_CheckPositional() and inlined code instead of
PyArg_UnpackTuple() and _PyArg_UnpackStack() if all parameters
are positional and use the "object" converter.
2019-01-11 18:01:42 +02:00
Serhiy Storchaka
4fa9591025
bpo-35582: Argument Clinic: inline parsing code for positional parameters. (GH-11313)
2019-01-11 16:01:14 +02:00
Serhiy Storchaka
32d96a2b5b
bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689)
2018-12-25 13:23:47 +02:00
Zackery Spytz
842acaab13
bpo-35504: Fix segfaults and SystemErrors when deleting certain attrs. (GH-11175)
2018-12-17 16:52:45 +02:00
Serhiy Storchaka
d4f9cf5545
bpo-33029: Fix signatures of getter and setter functions. (GH-10746)
...
Fix also return type for few other functions (clear, releasebuffer).
2018-11-27 19:34:35 +02:00
Serhiy Storchaka
4a934d490f
bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748)
...
Fix invalid function cast warnings with gcc 8
for method conventions different from METH_NOARGS, METH_O and
METH_VARARGS in Argument Clinic generated code.
2018-11-27 11:27:36 +02:00
Victor Stinner
cdbcb773f5
cjkcodecs: Fix compiler warning (GH-10651)
...
Fixed the following compiler warning in multibytecodec.c:
warning C4244: '=': conversion from 'Py_ssize_t'
to 'unsigned char', possible loss of data
Cast Py_ssize_t to unsigned char: the maximum value is checked
on the previous line.
2018-11-22 10:25:46 +01:00
Alexey Izbyshev
7a69cf47a9
bpo-35194: Fix a wrong constant in cp932 codec (GH-10420)
...
This typo doesn't affect the result because wrong bits are discarded
on implicit conversion to unsigned char, but it trips UBSan
with -fsanitize=implicit-integer-truncation.
https://bugs.python.org/issue35194
2018-11-08 23:12:06 -08:00
Christopher Thorne
488c0a6cdf
bpo-33578: Fix getstate/setstate for CJK decoder (GH-10290)
...
Previous version was casting to Py_ssize_t incorrectly
and exhibited unexpected behavior on big-endian systems.
2018-11-02 12:29:40 +09:00
Christopher Thorne
ac22f6aa98
bpo-33578: Add getstate/setstate for CJK codec (GH-6984)
...
This implements getstate and setstate for the cjkcodecs multibyte incremental encoders/decoders, primarily to fix issues with seek/tell.
The encoder getstate/setstate is slightly tricky as the "state" is pending bytes + MultibyteCodec_State but only an integer can be returned. The approach I've taken is to encode this data into a long, similar to how .tell() encodes a "cookie_type" as a long.
https://bugs.python.org/issue33578
2018-11-01 03:48:49 -07:00
Serhiy Storchaka
a5552f023e
bpo-32240: Add the const qualifier to declarations of PyObject* array arguments. ( #4746 )
2017-12-15 13:11:11 +02:00
Stefan Krah
138753c1b9
bpo-31275: Small refactoring to silence a fall-through warning. ( #3206 )
2017-08-25 18:31:22 +02:00
Serhiy Storchaka
6969eaf468
bpo-29464: Rename METH_FASTCALL to METH_FASTCALL|METH_KEYWORDS and make ( #1955 )
...
the bare METH_FASTCALL be used for functions with positional-only
parameters.
2017-07-03 21:20:15 +03:00
Sylvain
7445381c60
bpo-30600: Fix error messages (condition order in Argument Clinic) ( #2051 )
...
The function '_PyArg_ParseStack()' and
'_PyArg_UnpackStack' were failing (with error
"XXX() takes Y argument (Z given)") before
the function '_PyArg_NoStackKeywords()' was called.
Thus, the latter did not raise its more meaningful
error : "XXX() takes no keyword arguments".
2017-06-10 07:51:48 +03:00
Xiang Zhang
89a5e03244
bpo-30003: Fix handling escape characters in HZ codec ( #1556 )
2017-05-22 22:42:05 +08:00
Xiang Zhang
9da408d15b
bpo-29990: Fix range checking in GB18030 decoder ( #1495 )
...
When decoding a 4-byte GB18030 sequence, the first and third byte cannot exceed 0xFE.
2017-05-09 11:38:32 +08:00
Serhiy Storchaka
bf623ae884
bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() ( #1096 )
...
raised an error.
Replace them with using concrete types API that never fails if appropriate.
2017-04-19 20:03:52 +03:00
Serhiy Storchaka
202fda55c2
bpo-24037: Add Argument Clinic converter `bool(accept={int})`. ( #485 )
2017-03-12 10:10:47 +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
Victor Stinner
55ba38a480
Use _PyObject_CallMethodIdObjArgs()
...
Issue #28915 : Replace _PyObject_CallMethodId() with
_PyObject_CallMethodIdObjArgs() in various modules when the format string was
only made of "O" formats, PyObject* arguments.
_PyObject_CallMethodIdObjArgs() avoids the creation of a temporary tuple and
doesn't have to parse a format string.
2016-12-09 16:09:30 +01:00
Serhiy Storchaka
06515833fe
Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize
...
with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize.
2016-11-20 09:13:07 +02:00
Serhiy Storchaka
ec406fed16
Issue #27810 : Regenerate Argument Clinic.
2016-09-11 21:25:45 +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
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
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
Benjamin Peterson
5a093c158a
fix indentation and add curlies ( closes #27093 )
2016-05-23 22:47:50 -07:00
Serhiy Storchaka
48842714b9
Issue #22570 : Renamed Py_SETREF to Py_XSETREF.
2016-04-06 09:45:48 +03:00
Serhiy Storchaka
4a1e70fc31
Issue #20440 : Applied yet one patch for using Py_SETREF.
...
The patch is automatically generated, it replaces the code that uses Py_CLEAR.
2015-12-27 12:36:18 +02:00
Victor Stinner
8cc80f1d81
Merge 3.4
2015-07-16 22:20:19 +02:00
Victor Stinner
579db160b3
Closes #23247 : Fix a crash in the StreamWriter.reset() of CJK codecs
2015-07-16 22:17:31 +02: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
Larry Hastings
dbfdc380df
Issue #24001 : Argument Clinic converters now use accept={type}
...
instead of types={'type'} to specify the types the converter accepts.
2015-05-04 06:59:46 -07: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
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
Serhiy Storchaka
1009bf18b3
Issue #23501 : Argumen Clinic now generates code into separate files by default.
2015-04-03 23:53:51 +03:00
Victor Stinner
f024d263b4
Issue #23685 : Fix usage of PyMODINIT_FUNC in _json, _scproxy, nis, pyexpat
...
_codecs_cn, _codecs_hk, _codecs_iso2022, _codecs_jp, _codecs_kr and _codecs_tw
modules.
pyexpat.c doesn't need to redeclare PyMODINIT_FUNC, it's already declared in
Include/pyport.h.
2015-03-17 17:48:27 +01:00
Serhiy Storchaka
df80706f14
Issue #23215 : Multibyte codecs with custom error handlers that ignores errors
...
consumed too much memory and raised SystemError or MemoryError.
Original patch by Aleksi Torhamo.
2015-02-21 01:21:08 +02:00
Serhiy Storchaka
a1543cdcd6
Issue #23215 : Multibyte codecs with custom error handlers that ignores errors
...
consumed too much memory and raised SystemError or MemoryError.
Original patch by Aleksi Torhamo.
2015-02-21 01:19:58 +02:00
Serhiy Storchaka
53fa8b2a4b
Fixed few compiler warnings.
2015-02-16 09:40:12 +02:00
Serhiy Storchaka
82e07b92b3
Issue #23181 : More "codepoint" -> "code point".
2015-01-18 11:33:31 +02:00
Serhiy Storchaka
d3faf43f9b
Issue #23181 : More "codepoint" -> "code point".
2015-01-18 11:28:37 +02:00
Serhiy Storchaka
20b39b27d9
Removed redundant casts to `char *`.
...
Corresponding functions now accept `const char *` (issue #1772673 ).
2014-09-28 11:27:24 +03:00
Brett Cannon
f2de1fc21a
Issue #20152 : Convert _multibytecodecs to Argument Clinic.
2014-08-22 11:45:03 -04:00
Victor Stinner
3f36a5736b
Issue #19515 : Remove identifiers duplicated in the same file.
...
Patch written by Andrei Dorian Duma.
2013-11-12 21:39:02 +01:00
Victor Stinner
28c63f7ffb
CJK codecs: less magical macros, semicolon is now explicit
2013-10-29 00:59:44 +01:00
Victor Stinner
14c9fea60a
CJK codecs: less magic macros, require explicit semicolon
2013-10-29 00:19:27 +01:00
Victor Stinner
146a2ed0f2
CJK codecs: add newlines for readability
2013-10-29 00:09:41 +01:00
Victor Stinner
bd97ac35f7
CJK codecs: use less magic and more readable macros, write explicit if
2013-10-28 23:54:13 +01:00
Victor Stinner
0a6e2c59d3
CJK codecs: remove unused TRYMAP_ENC_MPLANE macro
2013-10-28 23:47:26 +01:00
Victor Stinner
11bdf91a5f
Issue #18509 : handle PyUnicode_Writer() error
2013-10-28 23:18:39 +01:00
Serhiy Storchaka
c679227e31
Issue #1772673 : The type of `char*` arguments now changed to `const char*`.
2013-10-19 21:03:34 +03:00
Victor Stinner
d1f9942ae3
Issue #18408 : Fix cjkcodecs decoders, add a new MBERR_EXCEPTION constant to
...
notify exceptions raised by the _PyUnicodeWriter API
2013-07-16 21:41:43 +02:00
Victor Stinner
33283ba300
Issue #18408 : Fix CJK decoders, raise MemoryError on memory allocation failure
2013-07-15 17:47:39 +02:00
Victor Stinner
064bbdc79b
fix indentation
2013-07-08 22:28:27 +02:00
Victor Stinner
8f674ccd64
Close #17694 : Add minimum length to _PyUnicodeWriter
...
* Add also min_char attribute to _PyUnicodeWriter structure (currently unused)
* _PyUnicodeWriter_Init() has no more argument (except the writer itself):
min_length and overallocate must be set explicitly
* In error handlers, only enable overallocation if the replacement string
is longer than 1 character
* CJK decoders don't use overallocation anymore
* Set min_length, instead of preallocating memory using
_PyUnicodeWriter_Prepare(), in many decoders
* _PyUnicode_DecodeUnicodeInternal() checks for integer overflow
2013-04-17 23:02:17 +02:00
Victor Stinner
322cc7438c
Issue #17693 : Fix memory/reference leaks
2013-04-14 18:11:41 +02:00
Victor Stinner
d949126995
Issue #17693 : CJK encoders now use the new Unicode API (PEP 393)
2013-04-14 02:06:32 +02:00
Victor Stinner
a0dd0213cc
Close #17693 : Rewrite CJK decoders to use the _PyUnicodeWriter API instead of
...
the legacy Py_UNICODE API.
Add also a new _PyUnicodeWriter_WriteChar() function.
2013-04-11 22:09:04 +02:00
Benjamin Peterson
26e5335a46
merge 3.3 ( #16585 )
2012-12-02 11:21:02 -05:00
Benjamin Peterson
47a00f3d1a
support encoding error handlers that return bytes ( closes #16585 )
2012-12-02 11:20:28 -05:00
Benjamin Peterson
3d490d4eff
merge 3.3
2012-12-02 10:53:48 -05:00
Benjamin Peterson
aff472394c
unicode -> str
2012-12-02 10:53:41 -05:00
Victor Stinner
b9e2d3f884
Issue #16330 : Fix compilation on Windows
2012-10-30 02:30:31 +01:00
Victor Stinner
76df43de30
Issue #16330 : Use surrogate-related macros
...
Patch written by Serhiy Storchaka.
2012-10-30 01:42:39 +01:00
Victor Stinner
b37b17423b
Replace PyUnicode_FromUnicode(NULL, 0) by PyUnicode_New(0, 0)
...
Create an empty string with the new Unicode API.
2011-12-01 03:18:59 +01:00
Victor Stinner
08b523a194
MultibyteCodec_Decode() catchs PyUnicode_AS_UNICODE() failures
2011-12-01 03:18:30 +01:00
Victor Stinner
4eea849469
CJK codecs checks for conversion to Py_UNICODE* failures
2011-11-21 03:01:27 +01:00
Victor Stinner
9a80faba88
MultibyteCodec_Encode() checks if PyUnicode_AS_UNICODE() failed
2011-11-21 02:50:14 +01:00
Martin v. Löwis
bd928fef42
Rename _Py_identifier to _Py_IDENTIFIER.
2011-10-14 10:20:37 +02:00
Martin v. Löwis
afe55bba33
Add API for static strings, primarily good for identifiers.
...
Thanks to Konrad Schöbel and Jasper Schulz for helping with the mass-editing.
2011-10-09 10:38:36 +02:00
Victor Stinner
2cded9c3f3
Issue #12016 : Multibyte CJK decoders now resynchronize faster
...
They only ignore the first byte of an invalid byte sequence.
For example, b'\xff\n'.decode('gb2312', 'replace') gives '\ufffd\n' instead of
'\ufffd'.
2011-07-08 01:45:13 +02:00
Victor Stinner
2bc6c2ec2f
(Merge 3.2) Issue #12016 : Reindent decoders of HK and JP codecs
2011-06-03 23:34:32 +02:00
Victor Stinner
5dfe3bb2d9
Issue #12016 : Reindent decoders of HK and JP codecs
2011-06-03 23:34:09 +02:00
Victor Stinner
e15dce3d18
Close #12171 : IncrementalEncoder.reset() of CJK codecs (multibytecodec) calls
...
encreset() instead of decreset().
2011-05-30 22:56:00 +02:00
Victor Stinner
eb734f77ad
(Merge 3.2) Issue #12100 : Don't reset incremental encoders of CJK codecs at
...
each call to their encode() method anymore, but continue to call the reset()
method if the final argument is True.
2011-05-24 22:24:11 +02:00
Victor Stinner
6bcbef7da0
Issue #12100 : Don't reset incremental encoders of CJK codecs at each call to
...
their encode() method anymore, but continue to call the reset() method if the
final argument is True.
2011-05-24 22:17:55 +02:00
Brett Cannon
b94767ff44
Issue #8914 : fix various warnings from the Clang static analyzer v254.
2011-02-22 20:15:44 +00:00
Antoine Pitrou
7f14f0d8a0
Recorded merge of revisions 81032 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r81032 | antoine.pitrou | 2010-05-09 17:52:27 +0200 (dim., 09 mai 2010) | 9 lines
Recorded merge of revisions 81029 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines
Untabify C files. Will watch buildbots.
........
................
2010-05-09 16:14:21 +00:00
Antoine Pitrou
f95a1b3c53
Recorded merge of revisions 81029 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines
Untabify C files. Will watch buildbots.
........
2010-05-09 15:52:27 +00:00
Benjamin Peterson
b173f7853e
add a replacement API for PyCObject, PyCapsule #5630
...
All stdlib modules with C-APIs now use this.
Patch by Larry Hastings
2009-05-05 22:31:58 +00:00
Hye-Shik Chang
944820b044
Issue #5640 : Fix _multibytecodec so that CJK codecs don't repeat
...
error replacement returned by codec error callbacks twice in
IncrementalEncoder and StreamWriter.
2009-04-02 10:33:16 +00:00
Mark Dickinson
e94c679df0
Issue #1717 : rename tp_compare to tp_reserved. I'll change the
...
type of tp_compare in a separate commit, for ease of reversion
should things go wrong.
2009-02-02 20:36:42 +00:00
Antoine Pitrou
44bf631ad9
Followup of #4874 : also fix multibytecodec.c
2009-01-22 11:59:55 +00:00