|
@@ -0,0 +1,24 @@
|
|
|
|
+Add support of linenoise (replace readline)
|
|
|
|
+
|
|
|
|
+see discussion, http://lua-users.org/lists/lua-l/2010-03/msg00879.html
|
|
|
|
+
|
|
|
|
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
|
|
|
|
+
|
|
|
|
+Index: b/src/luaconf.h
|
|
|
|
+===================================================================
|
|
|
|
+--- a/src/luaconf.h
|
|
|
|
++++ b/src/luaconf.h
|
|
|
|
+@@ -279,6 +279,13 @@
|
|
|
|
+ if (lua_strlen(L,idx) > 0) /* non-empty line? */ \
|
|
|
|
+ add_history(lua_tostring(L, idx)); /* add it to history */
|
|
|
|
+ #define lua_freeline(L,b) ((void)L, free(b))
|
|
|
|
++#elif defined(LUA_USE_LINENOISE)
|
|
|
|
++#include <linenoise.h>
|
|
|
|
++#define lua_readline(L,b,p) ((void)L, ((b)=linenoise(p)) != NULL)
|
|
|
|
++#define lua_saveline(L,idx) \
|
|
|
|
++ if (lua_strlen(L,idx) > 0) /* non-empty line? */ \
|
|
|
|
++ linenoiseHistoryAdd(lua_tostring(L, idx)); /* add it to history */
|
|
|
|
++#define lua_freeline(L,b) ((void)L, free(b))
|
|
|
|
+ #else
|
|
|
|
+ #define lua_readline(L,b,p) \
|
|
|
|
+ ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \
|