Skip to content

Releases: tilkinsc/LuaConsole

Beta Windows Release

26 Feb 09:37
Compare
Choose a tag to compare
Beta Windows Release Pre-release
Pre-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

10 Feb 21:41
Compare
Choose a tag to compare

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

15 Jan 13:53
Compare
Choose a tag to compare

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

02 Sep 10:06
Compare
Choose a tag to compare

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

26 Jan 10:55
695bbe3
Compare
Choose a tag to compare

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

06 Jan 14:54
Compare
Choose a tag to compare

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

05 Jan 19:54
4747fcc
Compare
Choose a tag to compare

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

02 Jan 12:30
Compare
Choose a tag to compare

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

31 Dec 13:30
8aee621
Compare
Choose a tag to compare

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

26 Sep 06:24
Compare
Choose a tag to compare

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