]> granicus.if.org Git - python/commitdiff
added read_history_file and write_history_file
authorSkip Montanaro <skip@pobox.com>
Thu, 6 Jul 2000 18:55:12 +0000 (18:55 +0000)
committerSkip Montanaro <skip@pobox.com>
Thu, 6 Jul 2000 18:55:12 +0000 (18:55 +0000)
XXX should perhaps support history truncation as well

Modules/readline.c

index 1bb60a85674e6656580cd4473c410178e83d2d58..9b7bcaf79254884c94fe2a61825bc484eaf83c26 100644 (file)
@@ -94,6 +94,54 @@ The default filename is the last filename used.\
 ";
 
 
+/* Exported function to load a readline history file */
+
+static PyObject *
+read_history_file(self, args)
+       PyObject *self;
+       PyObject *args;
+{
+       char *s = NULL;
+       if (!PyArg_ParseTuple(args, "|z:read_history_file", &s))
+               return NULL;
+       errno = read_history(s);
+       if (errno)
+               return PyErr_SetFromErrno(PyExc_IOError);
+       Py_INCREF(Py_None);
+       return Py_None;
+}
+
+static char doc_read_history_file[] = "\
+read_history_file([filename]) -> None\n\
+Load a readline history file.\n\
+The default filename is ~/.history.\
+";
+
+
+/* Exported function to save a readline history file */
+
+static PyObject *
+write_history_file(self, args)
+       PyObject *self;
+       PyObject *args;
+{
+       char *s = NULL;
+       if (!PyArg_ParseTuple(args, "|z:write_history_file", &s))
+               return NULL;
+       errno = write_history(s);
+       if (errno)
+               return PyErr_SetFromErrno(PyExc_IOError);
+       Py_INCREF(Py_None);
+       return Py_None;
+}
+
+static char doc_write_history_file[] = "\
+write_history_file([filename]) -> None\n\
+Save a readline history file.\n\
+The default filename is ~/.history.\
+";
+
+
 /* Exported function to specify a word completer in Python */
 
 static PyObject *completer = NULL;
@@ -261,6 +309,8 @@ static struct PyMethodDef readline_methods[] =
        {"get_line_buffer", get_line_buffer, 0, doc_get_line_buffer},
        {"insert_text", insert_text, 1, doc_insert_text},
        {"read_init_file", read_init_file, 1, doc_read_init_file},
+       {"read_history_file", read_history_file, 1, doc_read_history_file},
+       {"write_history_file", write_history_file, 1, doc_write_history_file},
        {"set_completer", set_completer, 1, doc_set_completer},
        {"get_begidx", get_begidx, 0, doc_get_begidx},
        {"get_endidx", get_endidx, 0, doc_get_endidx},