Pablo Galindo
bb739ec922
bpo-43108: Fix a reference leak in the curses module (GH-24420)
2021-02-02 20:38:26 +00:00
Hai Shi
2f12a1b7ec
bpo-41798: Allocate the _curses._C_API on the heap memory (GH-24186)
2021-01-22 11:06:43 +01:00
Zackery Spytz
14cfa325c2
bpo-39273: Expose BUTTON5_* constants in the curses module if available (GH-17996)
2021-01-14 11:40:09 +02:00
Serhiy Storchaka
59f9b4e450
bpo-42681: Fix test_curses failures related to color pairs (GH-24089)
...
On ncurses 6.1 pair numbers are limited by SHORT_MAX-1, even
with extended color support.
Improve error reporting and tests for color functions.
2021-01-05 09:13:15 +02:00
Serhiy Storchaka
1470edd613
bpo-42681: Fix range checks for color and pair numbers in curses (GH-23874)
2021-01-03 22:51:11 +02: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
Victor Stinner
37834136d0
bpo-42161: Modules/ uses _PyLong_GetZero() and _PyLong_GetOne() (GH-22998)
...
Use _PyLong_GetZero() and _PyLong_GetOne() in Modules/ directory.
_cursesmodule.c and zoneinfo.c are now built with
Py_BUILD_CORE_MODULE macro defined.
2020-10-27 17:12:53 +01:00
Hans Petter Jansson
da4e09fff6
bpo-36982: Add support for extended color functions in ncurses 6.1 (GH-17536)
...
Co-authored-by: Jeffrey Kintscher <websurfer@surf2c.net>
2020-08-03 23:51:33 -04:00
Victor Stinner
4804b5b3df
bpo-39465: Don't access directly _Py_Identifier members (GH-20043)
...
* Replace id->object with _PyUnicode_FromId(&id)
* Use _Py_static_string_init(str) macro to initialize statically
name_op in typeobject.c.
2020-05-12 01:43:38 +02:00
Serhiy Storchaka
8f87eefe7f
bpo-39943: Add the const qualifier to pointers on non-mutable PyBytes data. (GH-19472)
2020-04-12 14:58:27 +03: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
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
Batuhan Taşkaya
4991cf47c4
bpo-39802: Only expose set_escdelay and set_tabsize when curses extensions are activated (GH-18705)
2020-03-03 02:00:10 +00: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
Zackery Spytz
2bc343417a
bpo-36589: Fix the error handling in curses.update_lines_cols(). (GH-12766)
...
Return None instead of 1.
2019-11-17 19:10:13 +02:00
Anthony Sottile
b32cb97bce
bpo-38312: Add curses.{get,set}_escdelay and curses.{get,set}_tabsize. (GH-16938)
2019-10-31 11:13:48 +02: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
Victor Stinner
077af8c2c9
bpo-37738: Fix curses addch(str, color_pair) (GH-15071)
...
Fix the implementation of curses addch(str, color_pair): pass the
color pair to setcchar(), instead of always passing 0 as the color
pair.
2019-08-14 12:31:43 +02:00
Anthony Sottile
c9345e382c
bpo-37695: Correct unget_wch error message. (GH-14986)
2019-07-31 15:11:24 +03:00
Jeroen Demeyer
762f93ff2e
bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267)
2019-07-08 17:19:25 +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
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
81524022d0
bpo-33012: Fix signatures of METH_NOARGS funstions. (GH-10736)
2018-11-27 13:05:02 +02:00
Serhiy Storchaka
b232df9197
bpo-31680: Add curses.ncurses_version. (GH-4217)
...
Use curses.ncurses_version for conditionally skipping a test.
2018-10-30 13:22:42 +02:00
Xiang Zhang
44742e94c8
suppress compiler warnings in _cursesmodule.c ( #7860 )
2018-06-23 12:29:30 +08: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
Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి)
83cb778b4a
correct the typos ( #4950 )
2017-12-20 23:36:10 +02:00
Serhiy Storchaka
e2f92de6a9
Add the const qualifier to "char *" variables that refer to literal strings. ( #4370 )
2017-11-11 13:06:26 +02:00
Serhiy Storchaka
4f469c0966
bpo-27666: Fixed stack corruption in curses.box() and curses.ungetmouse(). ( #4220 )
2017-11-01 20:48:49 +02:00
Serhiy Storchaka
7e68790f3d
bpo-15037: Add a workaround for getkey() in curses for ncurses 5.7 and earlier. ( #3826 )
...
Skip a test for unget_wch()/get_wch() on OpenBSD since they are broken
in ncurses 5.7.
2017-11-01 16:03:40 +02:00
Serhiy Storchaka
894ebd065e
bpo-31919: Fix building the curses module on OpenIndiana. ( #4211 )
2017-11-01 14:34:20 +02:00
Masayuki Yamamoto
8bc7d63560
bpo-25720: Fix the method for checking pad state of curses WINDOW ( #4164 )
...
Modify the code to use ncurses is_pad() instead of checking WINDOW
_flags field. If your platform does not provide the is_pad(), the
existing way that checks the field will be enabled.
Note: This change does not drop support for platforms where do not
have both WINDOW _flags field and is_pad().
2017-11-01 14:05:26 +02:00
Serhiy Storchaka
baac01e629
bpo-31891: Fix building the curses module on NetBSD. ( #4165 )
2017-10-31 13:56:44 +02:00
Serhiy Storchaka
f7eae0adfc
[security] bpo-13617: Reject embedded null characters in wchar* strings. ( #2302 )
...
Based on patch by Victor Stinner.
Add private C API function _PyUnicode_AsUnicode() which is similar to
PyUnicode_AsUnicode(), but checks for null characters.
2017-06-28 08:30:06 +03:00
Xiang Zhang
116dd5eba6
bpo-30176: Add missing curses cell attributes constants (GH-1302)
2017-06-15 20:20:07 -07:00
Eijebong
ab7886b785
bpo-30101: Add support for curses.A_ITALIC. ( #1015 )
2017-04-26 23:17:12 +08:00
Serhiy Storchaka
0b3ec19225
Use NULL rather than 0. ( #778 )
...
There was few cases of using literal 0 instead of NULL in the context of
pointers. While this was a legitimate C code, using NULL rather than 0 makes
the code clearer.
2017-03-23 17:53:47 +02:00
Christian Heimes
2b221b78d6
bpo-29176 Use tmpfile() in curses module ( #235 )
...
The curses module used mkstemp() + fopen() to create a temporary file in
/tmp. The /tmp directory does not exist on Android. The tmpfile()
function simplifies the task a lot. It creates a temporary file in a
correct directory, takes care of cleanup and returns FILE*.
tmpfile is supported on all platforms (C89, POSIX 2001, Android,
Windows).
Signed-off-by: Christian Heimes <christian@python.org>
2017-03-02 11:09:01 +01:00
Victor Stinner
61e2bc74df
bpo-29176: Fix name of the _curses.window class ( #52 )
...
Set name to "_curses.window" instead of "_curses.curses window" (with
a space!?).
2017-02-12 23:42:02 +01: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
Victor Stinner
b110dad9ab
Initialize variables to fix compiler warnings
...
Warnings seen on the "AMD64 Debian PGO 3.x" buildbot. Warnings are false
positive, but variable initialization should not harm performances.
2016-12-09 17:06:43 +01:00
Serhiy Storchaka
a0d9c685d0
Issue #28549 : Fixed segfault in curses's addch() with ncurses6.
2016-10-30 22:53:09 +02:00
Serhiy Storchaka
0bcd89b859
Issue #28549 : Fixed segfault in curses's addch() with ncurses6.
2016-10-30 22:52:06 +02:00
Serhiy Storchaka
802426f99b
Issue #28526 : Use PyUnicode_AsEncodedString() instead of
...
PyUnicode_AsEncodedObject() in _curese to ensure that the result
is a bytes object.
2016-10-27 19:33:05 +03:00
Serhiy Storchaka
b29cee40ee
Issue #28526 : Use PyUnicode_AsEncodedString() instead of
...
PyUnicode_AsEncodedObject() in _curese to ensure that the result
is a bytes object.
2016-10-27 19:31:49 +03:00
Victor Stinner
3466bde1cc
Avoid calling functions with an empty string as format string
...
Directly pass NULL rather than an empty string.
2016-09-05 18:16:01 -07:00
Benjamin Peterson
b1c6bdc76a
merge 3.4
2016-08-15 21:43:57 -07:00
Benjamin Peterson
432ea4ff37
fail when negative values are passed to instr()
2016-08-15 21:40:14 -07:00
Benjamin Peterson
f17a8e9acd
merge 3.4
2016-08-13 18:21:16 -07:00
Benjamin Peterson
40a77c3381
do not allow reading negative values with getstr()
2016-08-13 18:15:28 -07:00
Larry Hastings
9147a9697a
Issue #21088 : Bugfix for curses.window.addch() regression in 3.4.0.
...
In porting to Argument Clinic, the first two arguments were reversed.
2014-05-04 04:41:18 -07: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
Larry Hastings
c20472640c
Issue #20390 : Small fixes and improvements for Argument Clinic.
2014-01-25 20:43:29 -08:00
Larry Hastings
5c66189e88
Issue #20189 : Four additional builtin types (PyTypeObject,
...
PyMethodDescr_Type, _PyMethodWrapper_Type, and PyWrapperDescr_Type)
have been modified to provide introspection information for builtins.
Also: many additional Lib, test suite, and Argument Clinic fixes.
2014-01-24 06:17:25 -08:00
Larry Hastings
462582651c
Two minor Argument Clinic bugfixes: use the name of the class in the
...
docstring for __new__ and __init__, and always use "goto exit" instead of
returning "NULL" for failure to parse (as _new__ and __init__ return ints).
2014-01-22 03:05:49 -08:00
Serhiy Storchaka
ab0ac27d24
Issue #20315 : Removed support for backward compatibility with early 2.x versions.
...
Removed backward compatibility alias curses.window.nooutrefresh which should
be removed in 2.3.
2014-01-20 21:35:06 +02:00
Larry Hastings
2a727916c5
Issue #20226 : Major improvements to Argument Clinic.
...
* You may now specify an expression as the default value for a
parameter! Example: "sys.maxsize - 1". This support is
intentionally quite limited; you may only use values that
can be represented as static C values.
* Removed "doc_default", simplified support for "c_default"
and "py_default". (I'm not sure we still even need
"py_default", but I'm leaving it in for now in case a
use presents itself.)
* Parameter lines support a trailing '\\' as a line
continuation character, allowing you to break up long lines.
* The argument parsing code generated when supporting optional
groups now uses PyTuple_GET_SIZE instead of PyTuple_GetSize,
leading to a 850% speedup in parsing. (Just kidding, this
is an unmeasurable difference.)
* A bugfix for the recent regression where the generated
prototype from pydoc for builtins would be littered with
unreadable "=<object ...>"" default values for parameters
that had no default value.
* Converted some asserts into proper failure messages.
* Many doc improvements and fixes.
2014-01-16 11:32:01 -08:00
Larry Hastings
61272b77b0
Issue #19273 : The marker comments Argument Clinic uses have been changed
...
to improve readability.
2014-01-07 12:41:53 -08:00
Christian Heimes
47f02e5e17
ncurses' winch and mvwinch return an unsigned long
2013-12-04 08:50:32 +01:00
Christian Heimes
abbc8ca708
ncurses' winch and mvwinch return an unsigned long
2013-12-04 08:50:22 +01:00
Larry Hastings
44e2eaab54
Issue #19674 : inspect.signature() now produces a correct signature
...
for some builtins.
2013-11-23 15:37:55 -08:00
Larry Hastings
abc716b058
Issue #19474 : Argument Clinic now always specifies a default value for
...
variables in option groups, to prevent "uninitialized value" warnings.
2013-11-20 09:13:52 -08:00
Larry Hastings
ed4a1c5703
Argument Clinic: rename "self" to "module" for module-level functions.
2013-11-18 09:32:13 -08:00
Victor Stinner
bd303c165b
Issue #19512 , #19515 : remove shared identifiers, move identifiers where they
...
are used.
Move also _Py_IDENTIFIER() defintions to the top in modified files to remove
identifiers duplicated in the same file.
2013-11-07 23:07:29 +01:00
Victor Stinner
090543736f
Issue #19512 : add some common identifiers to only create common strings once,
...
instead of creating temporary Unicode string objects
Add also more identifiers in pythonrun.c to avoid temporary Unicode string
objets for the interactive interpreter.
2013-11-06 22:41:44 +01:00
Serhiy Storchaka
a412f763b3
Fix compilation of the curses module (broken by issue #16612 ).
2013-10-19 10:45:48 +03:00
Larry Hastings
3182680210
Issue #16612 : Add "Argument Clinic", a compile-time preprocessor
...
for C files to generate argument parsing code. (See PEP 436.)
2013-10-19 00:09:25 -07:00
Victor Stinner
daf455554b
Issue #18571 : Implementation of the PEP 446: file descriptors and file handles
...
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
2013-08-28 00:53:59 +02:00
Christian Heimes
ef86368ea6
Fix possible NULL pointer dereference in PyCurses_Start_Color()
...
CID 1058276
2013-07-26 14:46:02 +02:00
Christian Heimes
a956e645c1
Fix possible NULL pointer dereference in PyCurses_Start_Color()
...
CID 1058276
2013-07-26 14:45:37 +02:00
Victor Stinner
49fc8ece81
Issue #18203 : Add _PyMem_RawStrdup() and _PyMem_Strdup()
...
Replace strdup() with _PyMem_RawStrdup() or _PyMem_Strdup(), depending if the
GIL is held or not.
2013-07-07 23:30:24 +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
Victor Stinner
640c35ce13
Reuse Py_MIN and Py_MAX macros: remove duplicate MIN/MAX macros
...
multiprocessing.h: remove unused MIN and MAX macros
2013-06-04 23:14:37 +02:00
Benjamin Peterson
18b7191653
C89 declaration compliance
2013-05-16 15:29:44 -05:00
Victor Stinner
bd2d30cf31
Issue #17209 : curses.window.get_wch() now handles correctly KeyboardInterrupt (CTRL+c)
2013-03-21 12:21:06 +01:00
R David Murray
779dab9447
Merge: #8862 : Fix curses cleanup with getchar is interrupted by a signal.
...
I have no idea how one would write a test for this.
Patch by July Tikhonov.
2013-03-19 16:24:35 -04:00
R David Murray
f5d7cc239e
#8862 : Fix curses cleanup with getchar is interrupted by a signal.
...
I have no idea how one would write a test for this.
Patch by July Tikhonov.
2013-03-19 16:23:09 -04:00
Ross Lagerwall
2dabaf63cf
Issue #15876 : Fix a refleak in the curses module
...
The refleak occurred when assigning to window.encoding.
2012-09-07 08:34:23 +02:00
Victor Stinner
9f16e44a47
Close #14223 : Fix window.addch(curses.ACS_HLINE)
...
Fix window.addch() of the curses module for special characters like
curses.ACS_HLINE: the Python function addch(int) and addch(bytes) is now
calling the C function waddch()/mvwaddch() (as it was done in Python 3.2),
instead of wadd_wch()/mvwadd_wch(). The Python function addch(str) is still
calling the C function wadd_wch()/mvwadd_wch() if the Python curses is linked
to libncursesw.
2012-09-01 15:00:34 +02:00
Victor Stinner
1d39cde50c
Issue #15785 : Modify window.get_wch() API of the curses module: return a
...
character for most keys, and an integer for special keys, instead of always
returning an integer. So it is now possible to distinguish special keys like
keypad keys.
2012-08-29 01:40:57 +02:00
Benjamin Peterson
5e5451940c
fix compiler warnings
2012-03-14 18:21:35 -05:00
Victor Stinner
8f40860944
Close #14223 : curses.addch() is no more limited to the range 0-255 when the
...
Python curses is not linked to libncursesw. It was a regression introduced in
Python 3.3a1.
2012-03-08 02:08:48 +01:00
Ronald Oussoren
2a7fe03528
Add missing sentinel to PyCursesWindow_getsets
...
The PyCursesWindow_getsets array was introduced without sentinel in c3581ca21a57.
2012-01-17 16:53:20 +01:00
Victor Stinner
0fdfceb782
Issue #12567 : The curses module uses Unicode functions for Unicode arguments
...
when it is linked to the ncurses library. It encodes also Unicode strings to
the locale encoding instead of UTF-8.
2011-11-25 22:10:02 +01:00
Steve Dower
d2bc389e55
Issue #4254 : Adds _curses.update_lines_cols() Patch by Arnon Yaari
2015-04-15 18:06:05 -04:00
Larry Hastings
89964c48d1
Issue #23944 : Argument Clinic now wraps long impl prototypes at column 78.
2015-04-14 18:07:59 -04:00
Serhiy Storchaka
1009bf18b3
Issue #23501 : Argumen Clinic now generates code into separate files by default.
2015-04-03 23:53:51 +03: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
Victor Stinner
65f51bb150
(Merge 3.2) Issue #10570 : curses.putp() is now expecting a byte string, instead
...
of a Unicode string.
This is an incompatible change, but putp() is used to emit terminfo commands,
which are bytes strings, not Unicode strings.
2011-11-03 20:36:55 +01:00
Victor Stinner
b3bc7e764d
Issue #10570 : curses.putp() is now expecting a byte string, instead of a
...
Unicode string.
This is an incompatible change, but putp() is used to emit terminfo commands,
which are bytes strings, not Unicode strings.
2011-11-03 20:35:40 +01:00
Victor Stinner
df5bccc8a3
(Merge 3.2) Issue #10570 : curses.tigetstr() is now expecting a byte string,
...
instead of a Unicode string.
This is an incompatible change, but the previous behaviour was completly wrong.
2011-11-02 23:47:58 +01:00
Victor Stinner
2662133a05
Issue #10570 : curses.tigetstr() is now expecting a byte string, instead of a
...
Unicode string.
This is an incompatible change, but the previous behaviour was completly wrong.
2011-11-02 23:45:29 +01:00
Martin v. Löwis
1c67dd9b15
Port SetAttrString/HasAttrString to SetAttrId/GetAttrId.
2011-10-14 15:16:45 +02:00
Martin v. Löwis
bd928fef42
Rename _Py_identifier to _Py_IDENTIFIER.
2011-10-14 10:20:37 +02:00
Victor Stinner
c4f281eba3
Fix misuse of PyUnicode_GET_SIZE, use PyUnicode_GET_LENGTH instead
2011-10-11 22:11:42 +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
Martin v. Löwis
d63a3b8beb
Implement PEP 393.
2011-09-28 07:41:54 +02:00
Victor Stinner
71e44cb97f
Issue #12567 : Add curses.unget_wch() function
...
Push a character so the next get_wch() will return it.
2011-09-06 01:53:03 +02:00
Nadeem Vawda
9e2e99097c
Fix build error in _curses module when not using libncursesw.
...
Code extracted from Victor Stinner's patch for issue #12567 .
2011-07-31 15:01:11 +02:00