]> granicus.if.org Git - python/commitdiff
Add get_line_buffer() and insert_text(), suggested by Michael McLay.
authorGuido van Rossum <guido@python.org>
Tue, 7 Oct 1997 14:53:21 +0000 (14:53 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 7 Oct 1997 14:53:21 +0000 (14:53 +0000)
Modules/readline.c

index aef51ca97734715b7958d9a080392286c426f98c..1231e034cb995c4508a5fa93c2a13c7c446cd4fa 100644 (file)
@@ -107,12 +107,52 @@ for i in [0, 1, 2, ...] until it returns a non-string.\n\
 It should return the next possible completion starting with 'text'.\
 ";
 
+/* Exported function to read the current line buffer */
+
+static PyObject *
+get_line_buffer(self, args)
+       PyObject *self;
+        PyObject *args;
+{
+       if (PyArg_NoArgs(args))
+               return NULL;
+       return PyString_FromString(rl_line_buffer);
+}
+
+static char doc_get_line_buffer[] = "\
+get_line_buffer([function]) -> string\n\
+return the current contents of the line buffer.\
+";
+
+/* Exported function to insert text into the line buffer */
+
+static PyObject *
+insert_text(self, args)
+       PyObject *self;
+       PyObject *args;
+{
+       char *s;
+       if (!PyArg_ParseTuple(args, "s", &s))
+               return NULL;
+       rl_insert_text(s);
+       Py_INCREF(Py_None);
+       return Py_None;
+}
+
+
+static char doc_insert_text[] = "\
+insert_text(string) -> None\n\
+Insert text into the command line.\
+";
+
 
 /* Table of functions exported by the module */
 
 static struct PyMethodDef readline_methods[] =
 {
        {"parse_and_bind", parse_and_bind, 1, doc_parse_and_bind},
+       {"get_line_buffer", get_line_buffer, 1, doc_get_line_buffer},
+       {"insert_text", insert_text, 1, doc_insert_text},
        {"read_init_file", read_init_file, 1, doc_read_init_file},
        {"set_completer", set_completer, 1, doc_set_completer},
        {0, 0}