This is patch

[ 1005008 ] curses.wrapper should also forward keyword args

Plus my rewrite to use finally as opposed to painfully doing the
equivalent by hand.
diff --git a/Lib/curses/wrapper.py b/Lib/curses/wrapper.py
index b8905fb..0d004e0 100644
--- a/Lib/curses/wrapper.py
+++ b/Lib/curses/wrapper.py
@@ -9,7 +9,7 @@
 
 import sys, curses
 
-def wrapper(func, *rest):
+def wrapper(func, *args, **kwds):
     """Wrapper function that initializes curses and calls another function,
     restoring normal keyboard/screen behavior on error.
     The callable object 'func' is then passed the main window 'stdscr'
@@ -41,23 +41,10 @@
         except:
             pass
 
-        res = func(stdscr, *rest)
-    except:
-        # In the event of an error, restore the terminal
-        # to a sane state.
-        stdscr.keypad(0)
-        curses.echo()
-        curses.nocbreak()
-        curses.endwin()
-
-        # Pass the exception upwards
-        (exc_type, exc_value, exc_traceback) = sys.exc_info()
-        raise exc_type, exc_value, exc_traceback
-    else:
+        return func(stdscr, *rest)
+    finally:
         # Set everything back to normal
         stdscr.keypad(0)
         curses.echo()
         curses.nocbreak()
-        curses.endwin()          # Terminate curses
-
-        return res
+        curses.endwin()