summaryrefslogtreecommitdiffstats
path: root/package/lua/5.1.5/lua-11-linenoise.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/lua/5.1.5/lua-11-linenoise.patch')
-rw-r--r--package/lua/5.1.5/lua-11-linenoise.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/package/lua/5.1.5/lua-11-linenoise.patch b/package/lua/5.1.5/lua-11-linenoise.patch
new file mode 100644
index 000000000..488c080a1
--- /dev/null
+++ b/package/lua/5.1.5/lua-11-linenoise.patch
@@ -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 */ \