The curses module wraps filter() but not its inverse nofilter().
filter() puts curses into single-line mode — it forces LINES to 1 at the next initscr()/newterm(). nofilter(), an ncurses extension, undoes that effect.
Without it, code (or a test) that calls curses.filter() has no way to restore normal screen sizing for a later initscr()/newterm() in the same process.
Propose wrapping nofilter() as curses.nofilter(), guarded by a configure check, alongside the existing curses.filter().
Linked PRs
The
cursesmodule wrapsfilter()but not its inversenofilter().filter()puts curses into single-line mode — it forcesLINESto1at the nextinitscr()/newterm().nofilter(), an ncurses extension, undoes that effect.Without it, code (or a test) that calls
curses.filter()has no way to restore normal screen sizing for a laterinitscr()/newterm()in the same process.Propose wrapping
nofilter()ascurses.nofilter(), guarded by a configure check, alongside the existingcurses.filter().Linked PRs