Add contents of curses package
diff --git a/Lib/curses/__init__.py b/Lib/curses/__init__.py
new file mode 100644
index 0000000..8e8f7d8
--- /dev/null
+++ b/Lib/curses/__init__.py
@@ -0,0 +1,18 @@
+"""curses
+
+The main package for curses support for Python.  Normally used by importing
+the package, and perhaps a particular module inside it.
+
+   import curses
+   from curses import textpad
+   curses.initwin()
+   ...
+   
+"""
+
+__revision__ = "$Id$"
+
+from _curses import *
+from curses.wrapper import wrapper
+
+
diff --git a/Lib/curses/wrapper.py b/Lib/curses/wrapper.py
new file mode 100644
index 0000000..1de17ee
--- /dev/null
+++ b/Lib/curses/wrapper.py
@@ -0,0 +1,50 @@
+"""curses.wrapper
+
+Contains one function, wrapper(), which runs another function which
+should be the rest of your curses-based application.  If the
+application raises an exception, wrapper() will restore the terminal
+to a sane state so you can read the resulting traceback.
+
+"""
+
+import sys, curses
+
+def wrapper(func, *rest):
+    """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'
+    as its first argument, followed by any other arguments passed to
+    wrapper().
+    """
+    
+    res = None
+    try:
+	# Initialize curses
+	stdscr=curses.initscr()
+	# Turn off echoing of keys, and enter cbreak mode,
+	# where no buffering is performed on keyboard input
+	curses.noecho() ; curses.cbreak()
+
+	# In keypad mode, escape sequences for special keys
+	# (like the cursor keys) will be interpreted and
+	# a special value like curses.KEY_LEFT will be returned
+        stdscr.keypad(1)
+
+        res = apply(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:
+	# Set everything back to normal
+	stdscr.keypad(0)
+	curses.echo() ; curses.nocbreak()
+	curses.endwin()		 # Terminate curses
+
+        return res
+