From a3235ad2702628dc3c1e4a6a90f69608cefc12e9 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Mon, 6 Oct 1997 12:51:32 -0200 Subject: [PATCH] prompt for interactive mode --- lua.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lua.c b/lua.c index 395aaa51..026b0b70 100644 --- a/lua.c +++ b/lua.c @@ -1,5 +1,5 @@ /* -** $Id: $ +** $Id: lua.c,v 1.1 1997/09/16 19:25:59 roberto Exp roberto $ ** Lua stand-alone interpreter ** See Copyright Notice in lua.h */ @@ -30,11 +30,15 @@ static void manual_input (void) { if (isatty(0)) { char buffer[250]; - while (fgets(buffer, sizeof(buffer), stdin) != 0) { + while (1) { lua_beginblock(); + printf("%s", lua_getstring(lua_getglobal("_PROMPT"))); + if (fgets(buffer, sizeof(buffer), stdin) == 0) + break; lua_dostring(buffer); lua_endblock(); } + printf("\n"); } else lua_dofile(NULL); /* executes stdin as a file */ @@ -45,11 +49,14 @@ int main (int argc, char *argv[]) { int i; setlocale(LC_ALL, ""); - lua_iolibopen (); - lua_strlibopen (); - lua_mathlibopen (); - if (argc < 2) + lua_iolibopen(); + lua_strlibopen(); + lua_mathlibopen(); + lua_pushstring("Lua> "); lua_setglobal("_PROMPT"); + if (argc < 2) { + printf("%s %s\n", LUA_VERSION, LUA_COPYRIGHT); manual_input(); + } else for (i=1; i