https://github.com/python/cpython/commit/93288ea42ad9aea68461f38e054c9b5f1fea2411 commit: 93288ea42ad9aea68461f38e054c9b5f1fea2411 branch: 3.14 author: Miss Islington (bot) <[email protected]> committer: serhiy-storchaka <[email protected]> date: 2026-07-02T15:09:25Z summary:
[3.14] gh-144067: Document terminal leak when initscr() follows setupterm() (GH-152624) (GH-152894) (GH-152899) (cherry picked from commit e471712958515b65b737ac742b294acf7de9220c) (cherry picked from commit 46b48ff09ac9b22d558cfd74274da3ca033c9bcd) Co-authored-by: Serhiy Storchaka <[email protected]> Co-authored-by: Claude Opus 4.8 <[email protected]> files: M Doc/library/curses.rst diff --git a/Doc/library/curses.rst b/Doc/library/curses.rst index b74dfa04710740..77c9397faebaf1 100644 --- a/Doc/library/curses.rst +++ b/Doc/library/curses.rst @@ -327,6 +327,8 @@ The module :mod:`!curses` defines the following functions: Initialize the library. Return a :ref:`window <curses-window-objects>` object which represents the whole screen. + See :func:`setupterm` for a caveat about calling it before this function. + .. note:: If there is an error opening the terminal, the underlying curses library may @@ -596,6 +598,13 @@ The module :mod:`!curses` defines the following functions: terminfo database entry could not be read. If the terminal has already been initialized, this function has no effect. + .. note:: + + Calling :func:`initscr` after :func:`setupterm` + leaks the terminal that :func:`setupterm` allocated: + the curses library keeps only a single current terminal + and does not free the previously allocated one. + .. function:: start_color() _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]
