Serhiy Storchaka
745492355b
gh-86493: Fix possible leaks in modules initialization: _curses_panel, _decimal, posix, xxsubtype (GH-106767)
2023-07-18 09:00:22 +03:00
Eric Snow
a9c6e0618f
gh-99113: Add Py_MOD_PER_INTERPRETER_GIL_SUPPORTED (gh-104205)
...
Here we are doing no more than adding the value for Py_mod_multiple_interpreters and using it for stdlib modules. We will start checking for it in gh-104206 (once PyInterpreterState.ceval.own_gil is added in gh-104204).
2023-05-05 21:11:27 +00:00
Victor Stinner
5556d3e02c
gh-98724: Fix warnings on Py_SETREF() usage ( #99781 )
...
Cast argument to the expected type.
2022-11-26 00:30:37 +01:00
Victor Stinner
3817607b8a
gh-99300: Use Py_NewRef() in Modules/ directory ( #99466 )
...
Replace Py_INCREF() and Py_XINCREF() with Py_NewRef() and
Py_XNewRef() in test C files of the Modules/ directory.
2022-11-14 13:08:15 +01:00
Victor Stinner
3bb09947ec
bpo-43916: Add Py_TPFLAGS_DISALLOW_INSTANTIATION type flag (GH-25721)
...
Add a new Py_TPFLAGS_DISALLOW_INSTANTIATION type flag to disallow
creating type instances: set tp_new to NULL and don't create the
"__new__" key in the type dictionary.
The flag is set automatically on static types if tp_base is NULL or
&PyBaseObject_Type and tp_new is NULL.
Use the flag on the following types:
* _curses.ncurses_version type
* _curses_panel.panel
* _tkinter.Tcl_Obj
* _tkinter.tkapp
* _tkinter.tktimertoken
* _xxsubinterpretersmodule.ChannelID
* sys.flags type
* sys.getwindowsversion() type
* sys.version_info type
Update MyStr example in the C API documentation to use
Py_TPFLAGS_DISALLOW_INSTANTIATION.
Add _PyStructSequence_InitType() function to create a structseq type
with the Py_TPFLAGS_DISALLOW_INSTANTIATION flag set.
type_new() calls _PyType_CheckConsistency() at exit.
2021-04-30 12:46:15 +02:00
Anonymous Maarten
3243e8a4b4
bpo-41604: Don't decrement the reference count of the previous user_ptr when set_panel_usertpr fails (GH-21933)
2021-01-31 19:55:15 +02:00
Victor Stinner
993e88cf08
bpo-42694: Prevent creating _curses_panel.panel (GH-23948)
...
Fix regression introduced in
commit 1baf030a902392fe92d934ed0fb6a385cf7d8869: restore removed code
to prevent creating a _curses_panel.panel instance directly.
2020-12-26 02:17:46 +01:00
Victor Stinner
32bd68c839
bpo-42519: Replace PyObject_MALLOC() with PyObject_Malloc() (GH-23587)
...
No longer use deprecated aliases to functions:
* Replace PyObject_MALLOC() with PyObject_Malloc()
* Replace PyObject_REALLOC() with PyObject_Realloc()
* Replace PyObject_FREE() with PyObject_Free()
* Replace PyObject_Del() with PyObject_Free()
* Replace PyObject_DEL() with PyObject_Free()
2020-12-01 10:37:39 +01:00
Mohamed Koubaa
1baf030a90
bpo-1635741 port _curses_panel to multi-phase init (PEP 489) (GH-21986)
2020-09-07 17:14:25 +02:00
Pablo Galindo
1cf15af9a6
bpo-40217: Ensure Py_VISIT(Py_TYPE(self)) is always called for PyType_FromSpec types (reverts GH-19414) (GH-20264)
...
Heap types now always visit the type in tp_traverse. See added docs for details.
This reverts commit 0169d3003b
.
Automerge-Triggered-By: @encukou
2020-05-27 02:03:38 -07:00
Victor Stinner
9205520d8c
bpo-40170: PyObject_NEW() becomes an alias to PyObject_New() (GH-19379)
...
The PyObject_NEW() macro becomes an alias to the PyObject_New()
macro, and the PyObject_NEW_VAR() macro becomes an alias to the
PyObject_NewVar() macro, to hide implementation details. They no
longer access directly the PyTypeObject.tp_basicsize member.
Exclude _PyObject_SIZE() and _PyObject_VAR_SIZE() macros from
the limited C API.
Replace PyObject_NEW() with PyObject_New() and replace
PyObject_NEW_VAR() with PyObject_NewVar().
2020-04-08 00:38:15 +02:00
Hai Shi
f707d94af6
bpo-39968: Convert extension modules' macros of get_module_state() to inline functions (GH-19017)
2020-03-16 14:15:01 +01:00
Dong-hee Na
1b55b65638
bpo-39573: Clean up modules and headers to use Py_IS_TYPE() function (GH-18521)
2020-02-17 11:09:15 +01:00
Eddie Elizondo
364f0b0f19
bpo-35810: Incref heap-allocated types in PyObject_Init (GH-11661)
...
* Incref heap-allocated types in PyObject_Init
* Add documentation and porting notes to What's New
2019-03-27 12:52:18 +01:00
animalize
463572c8be
bpo-36101: remove non-ascii characters in docstring (GH-12018)
...
* remove non-ascii characters in docstring
* clinic.py emits a warning when docstring has non-ascii character
2019-02-25 08:18:48 +09:00
Serhiy Storchaka
b00854caa0
bpo-20171: Convert the _curses and _curses_panel modules to Argument Clinic. (GH-4251)
2018-05-10 11:27:23 +03:00
Serhiy Storchaka
228b12edcc
Issue #28999 : Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE wherever
...
possible. Patch is writen with Coccinelle.
2017-01-23 09:47:21 +02:00
Serhiy Storchaka
6a8af9ab36
Issue #25745 : Fixed leaking a userptr in curses panel destructor.
2016-05-09 00:14:22 +03:00
Serhiy Storchaka
df40b62390
Issue #25745 : Fixed leaking a userptr in curses panel destructor.
2016-05-09 00:11:59 +03:00
Serhiy Storchaka
dea76376cb
Issue #23815 : Fixed crashes related to directly created instances of types in
...
_tkinter and curses.panel modules.
2016-05-08 20:46:55 +03:00
Serhiy Storchaka
e3f1b0911e
Issue #23815 : Fixed crashes related to directly created instances of types in
...
_tkinter and curses.panel modules.
2016-05-08 20:46:22 +03:00
Serhiy Storchaka
f01e408c16
Issue #26200 : Added Py_SETREF and replaced Py_XSETREF with Py_SETREF
...
in places where Py_DECREF was used.
2016-04-10 18:12:01 +03:00
Serhiy Storchaka
57a01d3a0e
Issue #26200 : Added Py_SETREF and replaced Py_XSETREF with Py_SETREF
...
in places where Py_DECREF was used.
2016-04-10 18:05:40 +03:00
Serhiy Storchaka
ec39756960
Issue #22570 : Renamed Py_SETREF to Py_XSETREF.
2016-04-06 09:50:03 +03:00
Serhiy Storchaka
48842714b9
Issue #22570 : Renamed Py_SETREF to Py_XSETREF.
2016-04-06 09:45:48 +03:00
Serhiy Storchaka
ef1585eb9a
Issue #25923 : Added more const qualifiers to signatures of static and private functions.
2015-12-25 20:01:53 +02:00
Serhiy Storchaka
2d06e84455
Issue #25923 : Added the const qualifier to static constant arrays.
2015-12-25 19:53:18 +02:00
Serhiy Storchaka
5a57ade58e
Issue #20440 : Massive replacing unsafe attribute setting code with special
...
macro Py_SETREF.
2015-12-24 10:35:59 +02:00
Victor Stinner
569f364017
Issue #18408 : Fix PyInit__curses_panel(), handle import_curses() failure
...
Don't call PyErr_NewException() if an exception is set, or type_call() would
fail with an assertion error.
2013-07-18 02:31:21 +02:00
Victor Stinner
b64049183c
Issue #18203 : Replace malloc() with PyMem_Malloc() in Python modules
...
Replace malloc() with PyMem_Malloc() when the GIL is held, or with
PyMem_RawMalloc() otherwise.
2013-07-07 16:21:41 +02:00
Andrew Kuchling
9290dd14b0
#18113 : avoid segfault if Py_XDECREF triggers code that calls set_panel_userptr again
...
Problem noted & original patch by Serhiy Storchaka; I tweaked the patch a bit.
2013-06-22 14:50:56 -04:00
Andrew Kuchling
53e5ea7951
#18113 : Objects associated to a curses.panel object with set_userptr() were leaked.
...
Reported by Atsuo Ishimoto.
2013-06-15 14:04:04 -04:00
Martin v. Löwis
bc07cb883e
Issue #14936 : curses_panel was converted to PEP 3121 and PEP 384 API.
...
Patch by Robin Schreiber.
2012-06-14 16:01:23 +02:00
Martin v. Löwis
c838ec1f82
Issue #14936 : curses_panel was converted to PEP 3121 API.
...
Patch by Robin Schreiber.
2012-06-14 16:00:24 +02: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
Victor Stinner
a761227ae0
Merged revisions 78635 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/trunk
........
r78635 | victor.stinner | 2010-03-03 22:53:41 +0100 (mer., 03 mars 2010) | 5 lines
Issue #3299 : fix curses.panel.new_panel() error handler, replace PyObject_DEL()
by Py_DECREF() to avoid a crash in pydebug mode.
Use po->wo==NULL to detect than the panel is in the lop list or not.
........
2010-03-03 21:56:53 +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
Amaury Forgeot d'Arc
1f900f1f69
#3247 : get rid of Py_FindMethod
...
Third step: unix-only modules. Really remove the function this time.
2008-07-02 22:38:47 +00:00
Martin v. Löwis
1a21451b1d
Implement PEP 3121: new module initialization and finalization API.
2008-06-11 05:26:20 +00:00
Christian Heimes
90aa7646af
#1629 : Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT.
2007-12-19 02:45:37 +00:00
Neal Norwitz
53cbdaa84c
Convert a bunch of constant strings in C to unicode.
2007-08-23 21:42:55 +00:00
Martin v. Löwis
9f2e346911
Merged revisions 56467-56482 via svnmerge from
...
svn+ssh://pythondev@svn.python.org/python/branches/p3yk
................
r56477 | martin.v.loewis | 2007-07-21 09:04:38 +0200 (Sa, 21 Jul 2007) | 11 lines
Merged revisions 56466-56476 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r56476 | martin.v.loewis | 2007-07-21 08:55:02 +0200 (Sa, 21 Jul 2007) | 4 lines
PEP 3123: Provide forward compatibility with Python 3.0, while keeping
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
........
................
r56478 | martin.v.loewis | 2007-07-21 09:47:23 +0200 (Sa, 21 Jul 2007) | 2 lines
PEP 3123: Use proper C inheritance for PyObject.
................
r56479 | martin.v.loewis | 2007-07-21 10:06:55 +0200 (Sa, 21 Jul 2007) | 3 lines
Add longintrepr.h to Python.h, so that the compiler can
see that PyFalse is really some kind of PyObject*.
................
r56480 | martin.v.loewis | 2007-07-21 10:47:18 +0200 (Sa, 21 Jul 2007) | 2 lines
Qualify SHIFT, MASK, BASE.
................
r56482 | martin.v.loewis | 2007-07-21 19:10:57 +0200 (Sa, 21 Jul 2007) | 2 lines
Correctly refer to _ob_next.
................
2007-07-21 17:22:18 +00:00
Thomas Wouters
47f003d326
Coverity-found bug: don't use temp->next *before* checking it for NULL. Also
...
return rather than use it again.
2006-03-07 13:38:14 +00:00
Neal Norwitz
1ac754fa10
Check return result from Py_InitModule*(). This API can fail.
...
Probably should be backported.
2006-01-19 06:09:39 +00:00
Neal Norwitz
5e3d862392
Bug #1400115 , Fix segfault when calling curses.panel.userptr()
...
without prior setting of the userptr.
Will backport.
2006-01-09 06:24:35 +00:00
Mark Hammond
fe51c6d66e
Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype
...
for Py_Main().
Thanks to Kalle Svensson and Skip Montanaro for the patches.
2002-08-02 02:27:13 +00:00
Neal Norwitz
01b2694acb
Fix whitespace
2002-03-31 14:55:17 +00:00
Neal Norwitz
3a6f97850b
Remove many uses of PyArg_NoArgs macro, change METH_OLDARGS to METH_NOARGS.
2002-03-25 20:46:46 +00:00
Michael W. Hudson
cf6bfe49b1
Oh look, another one.
...
2.2.1 candiate (he says, largely talking to himself :)
2002-01-30 15:47:34 +00:00
Martin v. Löwis
c0e1671c71
Patch #477752 : Drop old-style getargs from curses.
2002-01-17 23:08:27 +00:00