summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.c29
-rw-r--r--src/ui-cmdwin.c16
2 files changed, 16 insertions, 29 deletions
diff --git a/src/main.c b/src/main.c
index 62a9210..fcc55f5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -325,22 +325,25 @@ void main_prog(void *closure, gint argc, gchar *argv[])
}
else
{
- gchar buf[BUFF_LEN];
-
g_printf
("Robot program not specified. Entering interactive mode..\n");
- while (1)
- {
- memset(&buf, 0, BUFF_LEN);
-
- ui_cmdwin_get_string(UI_CMDWIN(ui->priv->cmdwin), "guile> ",
- buf, BUFF_LEN);
-
- scm_internal_catch(SCM_BOOL_T,
- (scm_t_catch_body) scm_c_eval_string, buf,
- catch_handler, NULL);
- }
+ scm_internal_catch(SCM_BOOL_T,
+ (scm_t_catch_body) scm_c_use_module,
+ "ice-9 readline",
+ catch_handler, NULL);
+ scm_internal_catch(SCM_BOOL_T,
+ (scm_t_catch_body) scm_c_eval_string,
+ "(activate-readline)",
+ catch_handler, NULL);
+ scm_internal_catch(SCM_BOOL_T,
+ (scm_t_catch_body) scm_c_use_module,
+ "system repl repl",
+ catch_handler, NULL);
+ scm_internal_catch(SCM_BOOL_T,
+ (scm_t_catch_body) scm_c_eval_string,
+ "(start-repl)",
+ catch_handler, NULL);
}
/* done */
diff --git a/src/ui-cmdwin.c b/src/ui-cmdwin.c
index ce2c9ee..003b845 100644
--- a/src/ui-cmdwin.c
+++ b/src/ui-cmdwin.c
@@ -68,19 +68,3 @@ static void ui_cmdwin_class_init(UICmdWinClass *klass)
g_type_class_add_private(G_OBJECT_CLASS(klass),
sizeof(UICmdWinPrivate));
}
-
-void ui_cmdwin_get_string(UICmdWin *cmdwin, gchar *prompt, gchar *buf,
- gint len)
-{
- char *line = (char *)NULL;
-
- line = readline(prompt);
-
- if (line && *line)
- {
- add_history(line);
- g_strlcpy(buf, line, len);
- }
-
- free(line);
-}