diff --git a/Doc/lib/libreadline.tex b/Doc/lib/libreadline.tex
index 34d3a4c..d0b26a3 100644
--- a/Doc/lib/libreadline.tex
+++ b/Doc/lib/libreadline.tex
@@ -15,10 +15,6 @@
 The \module{readline} module defines the following functions:
 
 
-\begin{funcdesc}{readline}{\optional{prompt}}
-Get a single line of input from the user.
-\end{funcdesc}
-
 \begin{funcdesc}{parse_and_bind}{string}
 Parse and execute single line of a readline init file.
 \end{funcdesc}
@@ -160,7 +156,7 @@
 \end{verbatim}
 
 The following example extends the \class{code.InteractiveConsole} class to
-support command line editing and history save/restore.
+support history save/restore.
 
 \begin{verbatim}
 import code
@@ -183,12 +179,6 @@
                 pass
             atexit.register(self.save_history, histfile)
 
-    def raw_input(self, prompt=""):
-        line = readline.readline(prompt)
-        if line:
-            readline.add_history(line)
-        return line
-
     def save_history(self, histfile):
         readline.write_history_file(histfile)
 \end{verbatim}
diff --git a/Misc/NEWS b/Misc/NEWS
index b04495f..7215483 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -207,11 +207,6 @@
 Extension modules
 -----------------
 
-- The readline module now exposes the readline() function to the Python
-  programmer.  readline.readline() should be a drop-in replacement for
-  raw_input() but coupled with the other readline module functionality allow
-  programmers to offer history and input recall to their users.
-
 - operator.isMappingType() and operator.isSequenceType() now give
   fewer false positives.
 
diff --git a/Modules/readline.c b/Modules/readline.c
index 50ceef4..37baf87 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -32,28 +32,6 @@
 #endif
 
 
-/* Exported function to get a line from the user */
-
-static PyObject *
-py_readline(PyObject *self, PyObject *args)
-{
-	char *s = NULL;
-	char *line = NULL;
-	if (!PyArg_ParseTuple(args, "|s:readline", &s))
-		return NULL;
-	line = readline(s);
-	if (line == NULL) {
-		PyErr_SetString(PyExc_EOFError, "End of file on input");
-		return NULL;
-	}
-	return PyString_FromString(line);
-}
-
-PyDoc_STRVAR(doc_py_readline,
-"readline([prompt]) -> line\n\
-Prompt for and read a line of text.  Raise EOFError on EOF.");
-
-
 /* Exported function to send one line to readline's init file parser */
 
 static PyObject *
@@ -490,7 +468,6 @@
 
 static struct PyMethodDef readline_methods[] =
 {
-	{"readline", py_readline, METH_VARARGS, doc_py_readline},
 	{"parse_and_bind", parse_and_bind, METH_VARARGS, doc_parse_and_bind},
 	{"get_line_buffer", get_line_buffer, METH_NOARGS, doc_get_line_buffer},
 	{"insert_text", insert_text, METH_VARARGS, doc_insert_text},
