mirror of https://github.com/python/cpython
Exposed readline() function from the readline module.
This commit is contained in:
parent
ddc819c964
commit
0dc23101a0
|
@ -15,6 +15,10 @@ interpreter.
|
|||
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}
|
||||
|
@ -154,3 +158,4 @@ import atexit
|
|||
atexit.register(readline.write_history_file, histfile)
|
||||
del os, histfile
|
||||
\end{verbatim}
|
||||
|
||||
|
|
|
@ -207,6 +207,11 @@ Core and builtins
|
|||
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.
|
||||
|
||||
|
|
|
@ -32,6 +32,28 @@
|
|||
#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 *
|
||||
|
@ -468,6 +490,7 @@ contents of the line buffer.");
|
|||
|
||||
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},
|
||||
|
|
Loading…
Reference in New Issue