1*4882a593SmuzhiyunAdd support of linenoise (replace readline) 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunsee discussion, http://lua-users.org/lists/lua-l/2010-03/msg00879.html 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunSigned-off-by: Francois Perrad <francois.perrad@gadz.org> 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunIndex: b/src/luaconf.h 8*4882a593Smuzhiyun=================================================================== 9*4882a593Smuzhiyun--- a/src/luaconf.h 10*4882a593Smuzhiyun+++ b/src/luaconf.h 11*4882a593Smuzhiyun@@ -279,6 +279,13 @@ 12*4882a593Smuzhiyun if (lua_strlen(L,idx) > 0) /* non-empty line? */ \ 13*4882a593Smuzhiyun add_history(lua_tostring(L, idx)); /* add it to history */ 14*4882a593Smuzhiyun #define lua_freeline(L,b) ((void)L, free(b)) 15*4882a593Smuzhiyun+#elif defined(LUA_USE_LINENOISE) 16*4882a593Smuzhiyun+#include <linenoise.h> 17*4882a593Smuzhiyun+#define lua_readline(L,b,p) ((void)L, ((b)=linenoise(p)) != NULL) 18*4882a593Smuzhiyun+#define lua_saveline(L,idx) \ 19*4882a593Smuzhiyun+ if (lua_strlen(L,idx) > 0) /* non-empty line? */ \ 20*4882a593Smuzhiyun+ linenoiseHistoryAdd(lua_tostring(L, idx)); /* add it to history */ 21*4882a593Smuzhiyun+#define lua_freeline(L,b) ((void)L, free(b)) 22*4882a593Smuzhiyun #else 23*4882a593Smuzhiyun #define lua_readline(L,b,p) \ 24*4882a593Smuzhiyun ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \ 25