summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2001-10-19 01:18:43 +0000
committerGuido van Rossum <guido@python.org>2001-10-19 01:18:43 +0000
commitb6c1d5239cfeadd761d2055cc44212f7a6b7e5af (patch)
tree260289f4d9c056f7c0499ad906876fc8539c4f18
parenta660a34844f55dc2400a6ef6f2055b239b0aede7 (diff)
downloadcpython-git-b6c1d5239cfeadd761d2055cc44212f7a6b7e5af.tar.gz
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 73508453bb..3988052fef 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 49839c4c2b..aa29a61d0d 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},