aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-07-10 17:49:01 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-07-10 17:49:01 -0300
commitac7006d374928651874babf046030ba212290416 (patch)
treeb9f4c651c009c72b65e319405d77f5d9d0de3894
parent12bee999dd652f43dfff682319696bea47464b18 (diff)
downloadlua-ac7006d374928651874babf046030ba212290416.tar.gz
lua-ac7006d374928651874babf046030ba212290416.tar.bz2
lua-ac7006d374928651874babf046030ba212290416.zip
^D in interactive mode finish interaction (no questions asked)
-rw-r--r--lua.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/lua.c b/lua.c
index 69969c9b..3d86743d 100644
--- a/lua.c
+++ b/lua.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lua.c,v 1.95 2002/07/09 18:19:44 roberto Exp roberto $ 2** $Id: lua.c,v 1.96 2002/07/10 20:44:34 roberto Exp roberto $
3** Lua stand-alone interpreter 3** Lua stand-alone interpreter
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -218,7 +218,6 @@ static int incomplete (int status) {
218 218
219static int load_string (void) { 219static int load_string (void) {
220 int status; 220 int status;
221 int moreinput = 1;
222 lua_settop(L, 0); 221 lua_settop(L, 0);
223 if (read_line(get_prompt(1)) == 0) /* no input? */ 222 if (read_line(get_prompt(1)) == 0) /* no input? */
224 return -1; 223 return -1;
@@ -228,10 +227,10 @@ static int load_string (void) {
228 } 227 }
229 for (;;) { /* repeat until gets a complete line */ 228 for (;;) { /* repeat until gets a complete line */
230 status = luaL_loadbuffer(L, lua_tostring(L, 1), lua_strlen(L, 1), "=stdin"); 229 status = luaL_loadbuffer(L, lua_tostring(L, 1), lua_strlen(L, 1), "=stdin");
231 if (!moreinput || !incomplete(status)) /* cannot try to add lines? */ 230 if (!incomplete(status)) break; /* cannot try to add lines? */
232 break;
233 lua_pushliteral(L, "\n"); /* no; add line separator */ 231 lua_pushliteral(L, "\n"); /* no; add line separator */
234 moreinput = read_line(get_prompt(0)); 232 if (read_line(get_prompt(0)) == 0) /* no more input? */
233 return -1;
235 lua_concat(L, lua_gettop(L)); /* join lines and line separator */ 234 lua_concat(L, lua_gettop(L)); /* join lines and line separator */
236 } 235 }
237 save_line(lua_tostring(L, 1)); 236 save_line(lua_tostring(L, 1));