git: a9490b81b032 - main - Merge LUA 5.4.6

From: Warner Losh <imp_at_FreeBSD.org>
Date: Sun, 16 Jul 2023 01:29:08 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=a9490b81b032b43cdb3c8c76b4d01bbad9ff82c1

commit a9490b81b032b43cdb3c8c76b4d01bbad9ff82c1
Merge: 5ac2a874d070 71944acbe7e5
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2023-07-15 17:31:04 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-07-15 17:31:04 +0000

    Merge LUA 5.4.6
    
    This is a bug fix to Lua 5.4.4 (5.4.5 was withdrawn due to ABI issues
    and 5.4.6 is 5.4.5 with those fixed).

 contrib/lua/Makefile          |    4 +-
 contrib/lua/README            |    2 +-
 contrib/lua/doc/contents.html |   12 +-
 contrib/lua/doc/lua.1         |   16 +-
 contrib/lua/doc/manual.html   |  311 ++++---
 contrib/lua/doc/readme.html   |   13 +-
 contrib/lua/src/Makefile      |    5 +-
 contrib/lua/src/lapi.c        |  249 +++---
 contrib/lua/src/lapi.h        |   17 +-
 contrib/lua/src/lauxlib.c     |   56 +-
 contrib/lua/src/lcode.c       |  137 ++-
 contrib/lua/src/lcorolib.c    |    4 +-
 contrib/lua/src/ldebug.c      |   80 +-
 contrib/lua/src/ldebug.h      |    2 +-
 contrib/lua/src/ldo.c         |  229 ++---
 contrib/lua/src/ldo.h         |   17 +-
 contrib/lua/src/ldump.c       |    8 +-
 contrib/lua/src/lfunc.c       |   54 +-
 contrib/lua/src/lfunc.h       |    6 +-
 contrib/lua/src/lgc.c         |  106 ++-
 contrib/lua/src/lgc.h         |   19 +-
 contrib/lua/src/llex.c        |    6 +-
 contrib/lua/src/llimits.h     |   21 +-
 contrib/lua/src/lmathlib.c    |   10 +-
 contrib/lua/src/lmem.c        |   68 +-
 contrib/lua/src/loadlib.c     |    9 +-
 contrib/lua/src/lobject.c     |   38 +-
 contrib/lua/src/lobject.h     |   19 +-
 contrib/lua/src/lopcodes.h    |    2 +-
 contrib/lua/src/loslib.c      |   36 +-
 contrib/lua/src/lparser.c     |   31 +-
 contrib/lua/src/lstate.c      |   65 +-
 contrib/lua/src/lstate.h      |   25 +-
 contrib/lua/src/lstrlib.c     |    2 +-
 contrib/lua/src/ltable.c      |    8 +-
 contrib/lua/src/ltable.h      |    1 -
 contrib/lua/src/ltablib.c     |    2 +-
 contrib/lua/src/ltests.c      | 1977 +++++++++++++++++++++++++++++++++++++++++
 contrib/lua/src/ltests.h      |  151 ++++
 contrib/lua/src/ltm.c         |   38 +-
 contrib/lua/src/ltm.h         |    5 +-
 contrib/lua/src/lua.c         |   39 +-
 contrib/lua/src/lua.h         |   27 +-
 contrib/lua/src/luac.c        |    6 +-
 contrib/lua/src/luaconf.h     |   13 +-
 contrib/lua/src/lundump.c     |    8 +-
 contrib/lua/src/lutf8lib.c    |   27 +-
 contrib/lua/src/lvm.c         |  235 +++--
 contrib/lua/src/lvm.h         |    5 +
 49 files changed, 3355 insertions(+), 866 deletions(-)

diff --cc contrib/lua/Makefile
index fef1af4821e6,000000000000..8efa2eb3fdd6
mode 100644,000000..100644
--- a/contrib/lua/Makefile
+++ b/contrib/lua/Makefile
@@@ -1,106 -1,0 +1,106 @@@
 +# Makefile for installing Lua
 +# See doc/readme.html for installation and customization instructions.
 +
 +# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
 +
 +# Your platform. See PLATS for possible values.
 +PLAT= guess
 +
 +# Where to install. The installation starts in the src and doc directories,
 +# so take care if INSTALL_TOP is not an absolute path. See the local target.
 +# You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with
 +# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
 +INSTALL_TOP= /usr/local
 +INSTALL_BIN= $(INSTALL_TOP)/bin
 +INSTALL_INC= $(INSTALL_TOP)/include
 +INSTALL_LIB= $(INSTALL_TOP)/lib
 +INSTALL_MAN= $(INSTALL_TOP)/man/man1
 +INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
 +INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
 +
 +# How to install. If your install program does not support "-p", then
 +# you may have to run ranlib on the installed liblua.a.
 +INSTALL= install -p
 +INSTALL_EXEC= $(INSTALL) -m 0755
 +INSTALL_DATA= $(INSTALL) -m 0644
 +#
 +# If you don't have "install" you can use "cp" instead.
 +# INSTALL= cp -p
 +# INSTALL_EXEC= $(INSTALL)
 +# INSTALL_DATA= $(INSTALL)
 +
 +# Other utilities.
 +MKDIR= mkdir -p
 +RM= rm -f
 +
 +# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======
 +
 +# Convenience platforms targets.
- PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
++PLATS= guess aix bsd c89 freebsd generic ios linux linux-readline macosx mingw posix solaris
 +
 +# What to install.
 +TO_BIN= lua luac
 +TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
 +TO_LIB= liblua.a
 +TO_MAN= lua.1 luac.1
 +
 +# Lua version and release.
 +V= 5.4
- R= $V.4
++R= $V.6
 +
 +# Targets start here.
 +all:	$(PLAT)
 +
 +$(PLATS) help test clean:
 +	@cd src && $(MAKE) $@
 +
 +install: dummy
 +	cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
 +	cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
 +	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
 +	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
 +	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
 +
 +uninstall:
 +	cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
 +	cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC)
 +	cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB)
 +	cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN)
 +
 +local:
 +	$(MAKE) install INSTALL_TOP=../install
 +
 +# make may get confused with install/ if it does not support .PHONY.
 +dummy:
 +
 +# Echo config parameters.
 +echo:
 +	@cd src && $(MAKE) -s echo
 +	@echo "PLAT= $(PLAT)"
 +	@echo "V= $V"
 +	@echo "R= $R"
 +	@echo "TO_BIN= $(TO_BIN)"
 +	@echo "TO_INC= $(TO_INC)"
 +	@echo "TO_LIB= $(TO_LIB)"
 +	@echo "TO_MAN= $(TO_MAN)"
 +	@echo "INSTALL_TOP= $(INSTALL_TOP)"
 +	@echo "INSTALL_BIN= $(INSTALL_BIN)"
 +	@echo "INSTALL_INC= $(INSTALL_INC)"
 +	@echo "INSTALL_LIB= $(INSTALL_LIB)"
 +	@echo "INSTALL_MAN= $(INSTALL_MAN)"
 +	@echo "INSTALL_LMOD= $(INSTALL_LMOD)"
 +	@echo "INSTALL_CMOD= $(INSTALL_CMOD)"
 +	@echo "INSTALL_EXEC= $(INSTALL_EXEC)"
 +	@echo "INSTALL_DATA= $(INSTALL_DATA)"
 +
 +# Echo pkg-config data.
 +pc:
 +	@echo "version=$R"
 +	@echo "prefix=$(INSTALL_TOP)"
 +	@echo "libdir=$(INSTALL_LIB)"
 +	@echo "includedir=$(INSTALL_INC)"
 +
 +# Targets that do not create files (not all makes understand .PHONY).
 +.PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc
 +
 +# (end of Makefile)
diff --cc contrib/lua/src/ltests.c
index 000000000000,7d184c0d8ee1..7d184c0d8ee1
mode 000000,100644..100644
--- a/contrib/lua/src/ltests.c
+++ b/contrib/lua/src/ltests.c
diff --cc contrib/lua/src/ltests.h
index 000000000000,ec520498bde4..ec520498bde4
mode 000000,100644..100644
--- a/contrib/lua/src/ltests.h
+++ b/contrib/lua/src/ltests.h