Author: yamakenz
Date: Sat Aug 11 08:38:38 2007
New Revision: 4824

Modified:
   trunk/uim/editline.c

Log:
* uim/editline.c
  - (UIM_SH_FALLBACK_PROMPT): New macro
  - (uim_editline_readline_internal): Merge into uim_editline_readline()
  - (uim_editline_readline):
    * Remove unneeded GC protection
    * Logical cleanup
  - (prompt): Logical cleanup


Modified: trunk/uim/editline.c
==============================================================================
--- trunk/uim/editline.c        (original)
+++ trunk/uim/editline.c        Sat Aug 11 08:38:38 2007
@@ -50,11 +50,13 @@
 
 #include "editline.h"
 
+
+#define UIM_SH_FALLBACK_PROMPT "uim-sh> "
+
 static EditLine *el;
 static History *hist;
 static HistEvent hev;
 static uim_lisp uim_editline_readline(void);
-static void *uim_editline_readline_internal(void *dummy);
 static char *prompt(EditLine *e);
 
 void
@@ -82,35 +84,25 @@
 static uim_lisp
 uim_editline_readline(void)
 {
-  return 
(uim_lisp)uim_scm_call_with_gc_ready_stack(uim_editline_readline_internal, 
NULL);
-}
-
-static void *
-uim_editline_readline_internal(void *dummy)
-{
     const char *line;
     int count = 0;
-    uim_lisp ret;
 
     line = el_gets(el, &count);
 
-    if(count > 0 && line) {
+    if (count > 0 && line)
        history(hist, &hev, H_ENTER, line);
-       ret = uim_scm_make_str(line);
-    } else {
-       ret = uim_scm_make_str("");
-    }
+    else
+        line = "";
 
-    return (void *)ret;
+    return uim_scm_make_str(line);
 }
 
-static char *prompt(EditLine *e) {
-    char *p;
+static char *
+prompt(EditLine *e)
+{
+  char *p;
 
-    p = uim_scm_symbol_value_str("uim-sh-prompt"); /* XXX */
+  p = uim_scm_symbol_value_str("uim-sh-prompt");
 
-    if(!p)
-       return "uim-sh> ";
-    else
-       return p;
+  return (p) ? p : UIM_SH_FALLBACK_PROMPT;
 }

Reply via email to