]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-144067: Document terminal leak when initscr() follows setupterm() (GH-15262...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 2 Jul 2026 15:08:30 +0000 (17:08 +0200)
committerGitHub <noreply@github.com>
Thu, 2 Jul 2026 15:08:30 +0000 (15:08 +0000)
(cherry picked from commit e471712958515b65b737ac742b294acf7de9220c)
(cherry picked from commit 46b48ff09ac9b22d558cfd74274da3ca033c9bcd)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Doc/library/curses.rst

index 32d328283671d7d5da786824cf85566c8169f4d0..8ed73b58996d6a647fbf70332e37ab70068cf761 100644 (file)
@@ -306,6 +306,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
@@ -568,6 +570,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()