https://github.com/python/cpython/commit/a054af6edd8b21c931afa05f51c856dbabd7a40c
commit: a054af6edd8b21c931afa05f51c856dbabd7a40c
branch: main
author: Bénédikt Tran <10796600+picn...@users.noreply.github.com>
committer: picnixz <10796600+picn...@users.noreply.github.com>
date: 2025-05-07T20:28:32+02:00
summary:

gh-133575: eliminate legacy checks in `Lib/curses/__init__.py` (#133576)

files:
M Lib/curses/__init__.py

diff --git a/Lib/curses/__init__.py b/Lib/curses/__init__.py
index 6165fe6c9875c0..605d5fcbec5499 100644
--- a/Lib/curses/__init__.py
+++ b/Lib/curses/__init__.py
@@ -30,9 +30,8 @@ def initscr():
               fd=_sys.__stdout__.fileno())
     stdscr = _curses.initscr()
     for key, value in _curses.__dict__.items():
-        if key[0:4] == 'ACS_' or key in ('LINES', 'COLS'):
+        if key.startswith('ACS_') or key in ('LINES', 'COLS'):
             setattr(curses, key, value)
-
     return stdscr
 
 # This is a similar wrapper for start_color(), which adds the COLORS and
@@ -41,12 +40,9 @@ def initscr():
 
 def start_color():
     import _curses, curses
-    retval = _curses.start_color()
-    if hasattr(_curses, 'COLORS'):
-        curses.COLORS = _curses.COLORS
-    if hasattr(_curses, 'COLOR_PAIRS'):
-        curses.COLOR_PAIRS = _curses.COLOR_PAIRS
-    return retval
+    _curses.start_color()
+    curses.COLORS = _curses.COLORS
+    curses.COLOR_PAIRS = _curses.COLOR_PAIRS
 
 # Import Python has_key() implementation if _curses doesn't contain has_key()
 
@@ -85,10 +81,11 @@ def wrapper(func, /, *args, **kwds):
         # Start color, too.  Harmless if the terminal doesn't have
         # color; user can test with has_color() later on.  The try/catch
         # works around a minor bit of over-conscientiousness in the curses
-        # module -- the error return from C start_color() is ignorable.
+        # module -- the error return from C start_color() is ignorable,
+        # unless they are raised by the interpreter due to other issues.
         try:
             start_color()
-        except:
+        except _curses.error:
             pass
 
         return func(stdscr, *args, **kwds)

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to