stupid, stupid, stupid... raw_input() already supports readline() if the
readline module is loaded.
This commit is contained in:
parent
b98a8ba14d
commit
79cddc56b3
|
@ -15,10 +15,6 @@ interpreter.
|
||||||
The \module{readline} module defines the following functions:
|
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}
|
\begin{funcdesc}{parse_and_bind}{string}
|
||||||
Parse and execute single line of a readline init file.
|
Parse and execute single line of a readline init file.
|
||||||
\end{funcdesc}
|
\end{funcdesc}
|
||||||
|
@ -160,7 +156,7 @@ del os, histfile
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
The following example extends the \class{code.InteractiveConsole} class to
|
The following example extends the \class{code.InteractiveConsole} class to
|
||||||
support command line editing and history save/restore.
|
support history save/restore.
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
import code
|
import code
|
||||||
|
@ -183,12 +179,6 @@ class HistoryConsole(code.InteractiveConsole):
|
||||||
pass
|
pass
|
||||||
atexit.register(self.save_history, histfile)
|
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):
|
def save_history(self, histfile):
|
||||||
readline.write_history_file(histfile)
|
readline.write_history_file(histfile)
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
|
@ -207,11 +207,6 @@ Core and builtins
|
||||||
Extension modules
|
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
|
- operator.isMappingType() and operator.isSequenceType() now give
|
||||||
fewer false positives.
|
fewer false positives.
|
||||||
|
|
||||||
|
|
|
@ -32,28 +32,6 @@
|
||||||
#endif
|
#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 */
|
/* Exported function to send one line to readline's init file parser */
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
|
@ -490,7 +468,6 @@ contents of the line buffer.");
|
||||||
|
|
||||||
static struct PyMethodDef readline_methods[] =
|
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},
|
{"parse_and_bind", parse_and_bind, METH_VARARGS, doc_parse_and_bind},
|
||||||
{"get_line_buffer", get_line_buffer, METH_NOARGS, doc_get_line_buffer},
|
{"get_line_buffer", get_line_buffer, METH_NOARGS, doc_get_line_buffer},
|
||||||
{"insert_text", insert_text, METH_VARARGS, doc_insert_text},
|
{"insert_text", insert_text, METH_VARARGS, doc_insert_text},
|
||||||
|
|
Loading…
Reference in New Issue