From 322349e31b3c1472543428382b84a32d2fc2dfc7 Mon Sep 17 00:00:00 2001 From: "Andrew M. Kuchling" Date: Sat, 23 Feb 2008 15:49:35 +0000 Subject: #1119331: ncurses will just call exit() if the terminal name isn't found. Call setupterm() first so that we get a Python exception instead of just existing. --- Lib/curses/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Lib/curses/__init__.py b/Lib/curses/__init__.py index aba540b..c3f2f25 100644 --- a/Lib/curses/__init__.py +++ b/Lib/curses/__init__.py @@ -14,6 +14,7 @@ __revision__ = "$Id$" from _curses import * from curses.wrapper import wrapper +import os as _os # Some constants, most notably the ACS_* ones, are only added to the C # _curses module's dictionary after initscr() is called. (Some @@ -25,6 +26,9 @@ from curses.wrapper import wrapper def initscr(): import _curses, curses + # we call setupterm() here because it raises an error + # instead of calling exit() in error cases. + setupterm(term=_os.environ.get("TERM", "unknown")) stdscr = _curses.initscr() for key, value in _curses.__dict__.items(): if key[0:4] == 'ACS_' or key in ('LINES', 'COLS'): -- cgit v0.12