Releases: tilkinsc/LuaConsole
Beta Windows Release
Some changes happened since last release that are pretty notable. I am still working out a lot of kinks with the language. However, it's perfectly usable for English speakers. A new version lua-5.4.2 came out since last release and I support it.
Default Lua: luajit
Packages: lua-5.1.5, lua-5.2.4, lua-5.3.5, lua-5.4.2
Compiled using
build.mingw.bat driver luajit
build.mingw.bat package lua-5.1.5
build.mingw.bat package lua-5.2.4
build.mingw.bat package lua-5.3.5
build.mingw.bat package lua-5.4.2
Regression Fix
All bugs should now be squashed.
This makes LuaConsole an AIO binary that depends on dynamic loading, which enables loading of multiple lua versions 5.1 5.2 5.3 and jit from one binary! Added the compilation flag -c to compile your lua files using the real code from the PUC-Lua compiler that shipped with the version!
Compiled using
build driver luajit
build package lua-5.3.5
build package lua-5.2.4
build package lua-5.1.5
And I used Resource Hacker to add in a custom ICO file of the lua logo <3
Place these files somewhere in path, or anywhere you don't have to run as admin constantly.
Make sure to hit up Window Bonus Ease of Open
v4.0 DLL LDL Support
Warning: This build is a regression. -D -j -O -b doesn't work as expected. Please use latest build.
This makes LuaConsole an AIO binary that depends on dynamic loading, which enhances loading of multiple lua versions 5.1 5.2 5.3 and jit from one binary!
Compiled using
build driver luajit
build package lua-5.3.5
build package lua-5.2.4
build package lua-5.1.5
And I used Resource Hacker to add in a custom ICO file of the lua logo <3
Place these files somewhere in path, but I just made a folder C:\Windows\bin and threw that in path for all my custom .bat files because I use both linux and windows (so ls versus dir and which versus where are hard).
Make sure to hit up Window Bonus Ease of Open
Hooray a stable, steady release
Release Information
About
This a windows 64bit build which uses luajit and was compiled with -O2 -g0
and luajit-2.0 (lua51.dll) using mingw64.
Licenses included with the source.
Change Run Down
- Implemented piping fully. Use < and | to your hearts extent.
- Actually is built with the correct date for the release here in the --help
- Overhauled under-the-hood building stuffs
- Bug fixes with error reporting
- Optional error verbosity (only can be changed by compiling it yourself)
- Ability to handle non-metatable and non-string arguments and handle number/bool objects (must compile yourself)
- Stack dump is now complete with all types
- Fixed build scripts dumping text with REM because lack of no @echo off
- Fixed new line issues if they existed they won't now
- Swapped dummy files for .gitignore files
- Other bug fixes
Testing
Includes testing.lua, which prints out arguments input using the -n switch at the end - the arg table and tuple if applicable. It displays use of the -D switch using the 'test' variable print. It tries to call an invalid function for error testing display. It now requires 'luaadd'.dll for example of modules being able to be loaded successfully.
Stable Release 01
Release Information
About
This 64bit build uses luajit which was compiled with -O2 -g0 and lua53.dll using mingw64.
Licenses included with the source.
Change Run Down
- Now supports luajit5.1 fully
- Added copyright header to all compiled files
- Defines now are more laid out
- Macros added to ease swapping from lua51 to luajit, etc
- Major Major updates to help dialog
- Severely organized code
- Made faster with a struct and organized variables
- Ensured functions are declared properly for size and speed reasons (inlines/statics)
- Fixed program flow so it will not only be faster, but better in terms of bulk management stuff
- REPL greatly improved and now supports SIGINT (ctrl-c)
- Fixed a few stack leakages that went untested
- Supports more arguments, see
luaw -?
for more info - luaw help can now be issued with
--help
- Detects if tty, if not it is impossible to REPL and hang
- Fixed bug where chdir didnt work at all
- Globals optimized
- Added support for running dlls
- Avoided need for new lua state if there is already a capable one for -v
- Copyright update and printing of it updated thereof
- -l libraries optimized
- You can now execute strings with -r and -R, which return things in the form of print
- Full support for argument handling
- REPL path updated to be faster
- Support for other lua version enhanced
- Fuller error reporting
- Fuller lua-error reporting
Testing
Includes testing.lua, which prints out arguments input using the -n switch at the end - the arg table and tuple if applicable. It displays use of the -D switch using the 'test' variable print. It tries to call an invalid function for error testing display. It now requires 'luaadd'.dll for example of modules being able to be loaded successfully.
Instructions
Windows
Make a folder in your C:\Program Files\ or where ever and make a 'bin' folder. Shove lua.exe, luaw.exe, and luaadd.dll into it (if need-be lua53.dll). Add this 'bin' folder to your path. C:\Program Files\LuaConsole\bin, for example. Or just use the wiki's method and shove them into C:\Windows\System32.
Linux & MacOSX
You must build from source. Install the files to ~/opt/LuaConsole and hopefully you have that in path. You may want to put luaw in /usr/local/bin along with your LuaRocks or something. Up to you. Note: Previous lua installation is required, which is a simple task. This is a good time to start using LuaJIT
If you are a Linux user and you are on this page to get binaries there is something wrong. (Use build.sh in the root after getting source)
Major File Changes
Release Information
About
This build uses lua5.3.4 which was compiled with -O2 -g0 -m64 and lua53.dll
Licenses included with the src.
Change Run Down
- Merged lua into luaw
- Improved speed of functions
- Post-Existing is also not redundant when no ability to atty and doesn't hang
- Updated stack dump to show userdata exclusively too
- -l can now run modules such as luaadd.dll/luaadd.so, however it is a must to specify .dll or .so. Even if it isn't part of the file name, you must specify either .dll or .so to make it go to lua to be required.
- Added Makefile for building
- Fixed the build scripts to reflect correctly (of course)
- code formatting changes
Testing
Includes testing.lua, which prints out arguments inputted using the -n switch at the end - the arg table and tuple if applicable. It displays use of the -D switch using the 'test' variable print. It tries to call an invalid function for error testing display. It now requires 'luaadd'.dll for example of modules being able to be loaded successfully.
Instructions
Windows
Make a folder in your C:\Program Files\ or where ever and make a 'bin' folder. Shove lua.exe, luaw.exe, and luaadd.dll into it (if need-be lua53.dll). Add this 'bin' folder to your path. C:\Program Files\LuaConsole\bin, for example. Or just use the wiki's method and shove them into C:\Windows\System32.
Linux & MacOSX
You must build from source. Install the files to ~/opt/LuaConsole and hopefully you have that in path. You may want to put luaw in /usr/local/bin along with your LuaRocks or something. Up to you.
If you are a Linux user and you are on this page to get binaries there is something wrong. (Use build.sh in the root after getting source)
Args Overhaul and Code Redundancy Reduction
This build uses lua5.3.4 which was compiled with -O2 -g0 and lua53.dll
Licenses included with the src.
- Cleaned up code majorly
- Now have the option to pass args as a tuple to files and -l's
- Added -b[a,b,c] feature for args ^
- Switched arguments table to 'arg' to be compatible
- Works much better with LuaRocks with minimal modification
- Much better error debugging
- Prepared to adopt luajit
- Comment clarifications and updates
Includes testing.lua, which prints out arguments inputted using the -n switch at the end. It displays use of the -D switch using the 'test' variable print. It tries to call an invalid function for error testing display. It now will print contents of a tuple if any and some debug data about the tables.
Instructions:
Make a folder in your C:\Program Files\ or where ever and make a 'bin' folder. Shove lua.exe, luaw.exe, and luaadd.dll into it (if need-be lua53.dll). Add this 'bin' folder to your path. C:\Program Files\LuaConsole\bin, for example. Or just use the wiki's method and shove them into C:\Windows\System32.
Use luaw when you want to do stuff in lua and use the interpreter.
If you are a Linux user and you are on this page to get binaries there is something wrong. (Use build.sh in the root after getting source)
Binary and Building Improvements
This build uses lua5.3.4 which was compiled with -O2 -g0 and lua53.dll
Licenses included with the src.
- Removed un-updated bulk headers to files
- Improved the build scripts a lot
- Added new build scripts
- Now uses .dlls instead of static link for portability and compliance with LuaRocks
- Lua Console Additions are now fully independent and its own dll
- Much smaller size between everything (131 kilobytes)
Includes testing.lua, which prints out arguments inputted using the -n switch at the end. It displays use of the -D switch using the 'test' variable print. Now tries to call an invalid function for error testing display.
Instructions:
Make a folder in your C:\Program Files\ or where ever and make a 'bin' folder. Shove lua.exe, luaw.exe, and luaadd.dll into it. Add this 'bin' folder to your path. C:\Program Files\LuaConsole\bin, for example. Or just use the wiki's method and shove them into C:\Windows\System32.
Use luaw when you want to do stuff in lua and use the interpreter.
If you are a Linux user and you are on this page to get binaries there is something wrong. (Use build.sh in the root after getting source)
Major Overhaul
This build uses lua5.3.4 which was compiled with -O2 -g0 and archived (no special defines).
Licenses included with the src.
- Final round of code beautifications
- Added -b switch to define when you want your -n parameters to be loaded
- Added -l switch to execute files preemptively
- Fixed many bugs with text
- Now fully supports Mac OS and Linux
- Added Wiki instructions to support LuaRocks fully on Windows, Linux, Mac
- Added linux build script
- Added windows 32 bit build script
- Lots of house-keeping behind the scenes
Includes testing.lua, which prints out arguments inputted using the -n switch at the end. It displays use of the -D switch using the 'test' variable print. Now tries to call an invalid function for error testing display.
Instructions:
Make a folder in your C:\Program Files\ or where ever and make a 'bin' folder. Shove lua.exe and luaw.exe into it. Add this 'bin' folder to your path. C:\Program Files\LuaConsole\bin, for example. Or just use the wiki's method and shove them into C:\Windows\System32.
Use luaw when you want to do stuff in lua and use the interpreter.
If you are a Linux user and you are on this page to get binaries there is something wrong. (Use build.sh in the root after getting source)
Feature Improvement Release
This build uses lua5.3.4 which was compiled with -O2 -g0 and archived (no special defines). No support for Lua dynamic library. Licenses included with the src.
- Important update: heavily optimized -D by...
- Building a high level strtok function, which optimizes with compiler better
- Using the high level function and ensuring it runs better
- Handling errors properly to show invalid input (debugging)
- Code beautifications
- Added -DLUACON_ADDITIONS to add additions, else won't be compiled in
- Stripped release executables, lua*_add.exe are compiled with additions
- Now updating release date correctly in help message
- Compiled with stripping and under -std=gnu99
- Corrected error macro message in headings of c files
Includes testing.lua, which prints out arguments inputted using the -n switch at the end. It displays use of the -D switch using the 'test' variable print. Now tries to call an invalid function for error testing display.
Compiled on Intel machine using mingw64, therefore is a 64-bit compilation.
Instructions:
Make a folder in your C:\Program Files\ or where ever and make a 'bin' folder. Shove lua.exe and luaw.exe into it. Add this 'bin' folder to your path. C:\Program Files\LuaConsole\bin, for example. Or just use the README.md's method and shove them into C:\Windows\System32.
Use luaw when you want to do stuff in lua and use the interpreter.
Compile with -DLUACON_ADDITIONS if you want to have the few additions added:
stackdump(...) -- for viewing the current stack in Lua using printf in C, showing how arguments unroll to the stack
os.getcwd() -- for getting the process' current working directory
os.setcwd(string) -- for setting the process' current working directory
os.clear() -- for clearing the console window (uses SYSTEM() call, and should correct when compiled under your os)
Compilation script:
@echo off
rem Debug version
rem Compile everything debug w/ additions
gcc -std=gnu99 -Wall -O0 -g3 -DLUACON_ADDITIONS -c console.c consolew.c additions.c
rem Link lua_debug.exe w/ additions
gcc -std=gnu99 -Wall -O0 -g3 -o lua_debug_add.exe console.o additions.o -llua
rem Link luaw_debug.exe w/ additions
gcc -std=gnu99 -Wall -O0 -g3 -o luaw_debug_add.exe consolew.o additions.o -llua
rem Compile everything debug
gcc -std=gnu99 -Wall -O0 -g3 -c console.c consolew.c
rem Link lua_debug.exe w/o additions
gcc -std=gnu99 -Wall -O0 -g3 -o lua_debug.exe console.o -llua
rem Link luaw_debug.exe w/o additions
gcc -std=gnu99 -Wall -O0 -g3 -o luaw_debug.exe consolew.o -llua
rem Release version
rem Compile everything release w/ additions
gcc -std=gnu99 -Wall -O2 -g0 -DLUACON_ADDITIONS -c console.c consolew.c additions.c
rem Link luaw.exe
gcc -std=gnu99 -s -Wall -O2 -g0 -o lua_add.exe console.o additions.o -llua
rem Link lua.exe
gcc -std=gnu99 -s -Wall -O2 -g0 -o luaw_add.exe consolew.o additions.o -llua
rem Compile everything release
gcc -std=gnu99 -Wall -O2 -g0 -c console.c consolew.c
rem Link luaw.exe
gcc -std=gnu99 -s -Wall -O2 -g0 -o lua.exe console.o -llua
rem Link lua.exe
gcc -std=gnu99 -s -Wall -O2 -g0 -o luaw.exe consolew.o -llua
strip --strip-all lua_add.exe
strip --strip-all luaw_add.exe
strip --strip-all lua.exe
strip --strip-all luaw.exe