summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2001-10-19 01:18:43 (GMT)
committerGuido van Rossum <guido@python.org>2001-10-19 01:18:43 (GMT)
commitb6c1d5239cfeadd761d2055cc44212f7a6b7e5af (patch)
tree260289f4d9c056f7c0499ad906876fc8539c4f18
parenta660a34844f55dc2400a6ef6f2055b239b0aede7 (diff)
downloadcpython-b6c1d5239cfeadd761d2055cc44212f7a6b7e5af.zip
cpython-b6c1d5239cfeadd761d2055cc44212f7a6b7e5af.tar.gz
cpython-b6c1d5239cfeadd761d2055cc44212f7a6b7e5af.tar.bz2
SF patch #443759: Add Interface to readline's add_history
This was submitted by Moshe, but apparently he's too busy to check it in himself. He wrote: Here is a function in GNU readline called add_history, which is used to manage the history list. Though Python uses this function internally, it does not expose it to the Python programmer. This patch adds direct interface to this function with documentation. This could be used by friendly modules to "seed" the history with commands.
-rw-r--r--Doc/lib/libreadline.tex4
-rw-r--r--Modules/readline.c18
2 files changed, 22 insertions, 0 deletions
diff --git a/Doc/lib/libreadline.tex b/Doc/lib/libreadline.tex
index 7350845..3988052 100644
--- a/Doc/lib/libreadline.tex
+++ b/Doc/lib/libreadline.tex
@@ -96,6 +96,10 @@ Set the readline word delimiters for tab-completion.
Get the readline word delimiters for tab-completion.
\end{funcdesc}
+\begin{funcdesc}{add_history}{line}
+Append a line to the history buffer, as if it was the last line typed.
+\end{funcdesc}
+
\begin{seealso}
\seemodule{rlcompleter}{Completion of Python identifiers at the
diff --git a/Modules/readline.c b/Modules/readline.c
index 49839c4..aa29a61 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -287,6 +287,23 @@ static char doc_set_completer_delims[] = "\
set_completer_delims(string) -> None\n\
set the readline word delimiters for tab-completion";
+static PyObject *
+py_add_history(PyObject *self, PyObject *args)
+{
+ char *line;
+
+ if(!PyArg_ParseTuple(args, "s:add_history", &line)) {
+ return NULL;
+ }
+ add_history(line);
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static char doc_add_history[] = "\
+add_history(string) -> None\n\
+add a line to the history buffer";
+
/* get the tab-completion word-delimiters that readline uses */
@@ -375,6 +392,7 @@ static struct PyMethodDef readline_methods[] =
{"set_completer_delims", set_completer_delims,
METH_VARARGS, doc_set_completer_delims},
+ {"add_history", py_add_history, METH_VARARGS, doc_add_history},
{"get_completer_delims", get_completer_delims,
METH_OLDARGS, doc_get_completer_delims},