diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main.c | 29 | ||||
-rw-r--r-- | src/ui-cmdwin.c | 16 |
2 files changed, 16 insertions, 29 deletions
@@ -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); -} |