cosmopolitan/third_party/lua
Justine Tunney a4b455185b
Bring back gc() function
Renaming gc() to _gc() was a mistake since the better thing to do is put
it behind the _COSMO_SOURCE macro. We need this change because I haven't
wanted to use my amazing garbage collector ever since we renamed it. You
now need to define _COSMO_SOURCE yourself when using amalgamation header
and cosmocc users need to pass the -mcosmo flag to get the gc() function

Some other issues relating to cancelation have been fixed along the way.
We're also now putting cosmocc in a folder named `.cosmocc` so it can be
more safely excluded by grep --exclude-dir=.cosmocc --exclude-dir=o etc.
2024-01-08 10:26:28 -08:00
..
test Make fixes and improvements 2023-07-09 05:21:11 -07:00
BUILD.mk more modeline errata (#1019) 2023-12-16 23:07:10 -05:00
cosmo.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lapi.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lapi.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lauxlib.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lauxlib.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lbaselib.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lcode.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lcode.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lcorolib.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lctype.h Polish redbean serialization 2022-04-29 06:10:10 -07:00
ldblib.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ldebug.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ldebug.h Reduce header complexity 2023-11-28 14:39:42 -08:00
ldo.c Bring back gc() function 2024-01-08 10:26:28 -08:00
ldo.h Reduce header complexity 2023-11-28 14:39:42 -08:00
ldump.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lfunc.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lfunc.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lgc.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lgc.h Reduce header complexity 2023-11-28 14:39:42 -08:00
linit.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
liolib.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ljumptab.inc Get Lua to build with all tests passing 2021-03-07 13:31:09 -08:00
llex.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
llex.h Reduce header complexity 2023-11-28 14:39:42 -08:00
llimits.h Reduce header complexity 2023-11-28 14:39:42 -08:00
llock.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lmathlib.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lmem.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lmem.h Reduce header complexity 2023-11-28 14:39:42 -08:00
loadlib.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lobject.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lobject.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lopcodes.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lopcodes.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lopnames.inc Get Lua to build with all tests passing 2021-03-07 13:31:09 -08:00
loslib.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lparser.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lparser.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lprefix.h Make improvements 2022-04-24 10:06:05 -07:00
lrepl.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lrepl.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lstate.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lstate.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lstring.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lstring.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lstrlib.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ltable.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ltable.h Reduce header complexity 2023-11-28 14:39:42 -08:00
ltablib.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ltests.c Bring back gc() function 2024-01-08 10:26:28 -08:00
ltests.h Reduce header complexity 2023-11-28 14:39:42 -08:00
ltm.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ltm.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lua.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lua.main.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
luac.main.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
luacallwithtrace.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
luaconf.h Reduce header complexity 2023-11-28 14:39:42 -08:00
luaencodejsondata.c Bring back gc() function 2024-01-08 10:26:28 -08:00
luaencodeluadata.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
luaencodeurl.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
luaformatstack.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lualib.h Reduce header complexity 2023-11-28 14:39:42 -08:00
luaparseurl.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
luaprintstack.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
luapushheader.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
luapushheaders.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
luapushlatin1.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
luapushurlparams.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lundump.c Reduce header complexity 2023-11-28 14:39:42 -08:00
lundump.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lunix.c Use DNS implementation from Musl Libc 2023-12-28 23:04:35 -08:00
lunix.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lutf8lib.c Reduce header complexity 2023-11-28 14:39:42 -08:00
lvm.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lvm.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lzio.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
lzio.h Reduce header complexity 2023-11-28 14:39:42 -08:00
README.cosmo Write more redbean unit tests 2022-07-08 23:10:02 -07:00
serialize.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
tms.h Reduce header complexity 2023-11-28 14:39:42 -08:00
visitor.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
visitor.h Reduce header complexity 2023-11-28 14:39:42 -08:00

DESCRIPTION

  Lua is a language designed for embedded use in native applications. It
  has an impossibly elegant C API and the Lua language itself feels more
  like Python compared to alternatives like Tcl except it's a great deal
  faster and doesn't have strong opinions about character encoding.

PROVENANCE

  https://github.com/lua/lua/

  commit e7803f7dbcdc966ab1f9db143424ee811ab1a398
  Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
  Date:   Wed Mar 3 09:44:20 2021 -0300

      New release number (5.4.3)

  luac.c needed to be sourced from:
  https://www.lua.org/ftp/lua-5.4.3.tar.gz

LOCAL MODIFICATIONS

  Lua now uses a bestline REPL with bash-style code completion.

  Integer literals such as `033` will now be interpreted as octal.

  Integer literals such as `0b10` will now be interpreted as binary.

  The `\e` string literal escape sequence has been added, which is
  equivalent to `\27` (the Lua version of `\033`) or the ASCII ESC
  character. It may be used for teletypewriter control like having
  bold text, which can be encoded elegantly as `\e[1mHELLO\e[0m`.

  Added luaL_traceback2() for function parameters in traceback.

  Added Python-like printf modulus operator for strings.

  Added Python-like printf multiply operator for strings.