The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3068d706eabe99f930fb01d3cbfd74ff1f0eb5a2
commit 3068d706eabe99f930fb01d3cbfd74ff1f0eb5a2 Merge: 6ea7e1f92882 4d63aec3c380 Author: Warner Losh <i...@freebsd.org> AuthorDate: 2025-08-23 16:58:09 +0000 Commit: Warner Losh <i...@freebsd.org> CommitDate: 2025-08-23 16:58:09 +0000 lua: Merge lua 5.4.8 Pick up a few bug fixes from lua 5.4.8: 267ef461 Bug: check for constructor overflow in [exp] fields d1ee2a4d Bug: Bad error message with fields of string _ENV 3fe7be95 Bug: message handler can be overwritten 983bc433 Bug: Use after free in 'luaV_finishset' 25da574f Bug: 'luaD_seterrorobj' should not raise errors f5e55be2 Bug: Missing error status in panic function 9f0c0fe0 Bug: Wrong limit for local variables in 16-bit systems 782ef85b Bug: wrong code gen. for indices with comparisons 30982bec Bug: Bad stack manipulation in 'multiline' (REPL) contrib/lua/Makefile | 2 +- contrib/lua/README | 2 +- contrib/lua/doc/contents.html | 14 +-- contrib/lua/doc/lua.1 | 6 +- contrib/lua/doc/lua.css | 1 + contrib/lua/doc/manual.html | 50 +++++---- contrib/lua/doc/readme.html | 48 ++++----- contrib/lua/src/lapi.c | 6 +- contrib/lua/src/lauxlib.c | 28 +++-- contrib/lua/src/lcode.c | 38 +++---- contrib/lua/src/lcode.h | 3 - contrib/lua/src/ldebug.c | 231 +++++++++++++++++++++++++----------------- contrib/lua/src/ldebug.h | 1 + contrib/lua/src/ldo.c | 27 +++-- contrib/lua/src/ldo.h | 2 +- contrib/lua/src/lgc.c | 20 ++-- contrib/lua/src/liolib.c | 27 +++-- contrib/lua/src/lmathlib.c | 31 ++++-- contrib/lua/src/loadlib.c | 9 -- contrib/lua/src/lobject.c | 2 +- contrib/lua/src/lobject.h | 18 ++-- contrib/lua/src/lopcodes.h | 8 +- contrib/lua/src/loslib.c | 2 + contrib/lua/src/lparser.c | 19 ++-- contrib/lua/src/lstate.c | 11 +- contrib/lua/src/lstate.h | 3 +- contrib/lua/src/lstring.c | 13 +-- contrib/lua/src/ltable.c | 39 ++++--- contrib/lua/src/ltable.h | 2 - contrib/lua/src/ltm.h | 5 +- contrib/lua/src/lua.c | 28 +++-- contrib/lua/src/lua.h | 8 +- contrib/lua/src/luaconf.h | 9 ++ contrib/lua/src/lundump.c | 4 +- contrib/lua/src/lundump.h | 3 +- contrib/lua/src/lvm.c | 81 +++++++-------- 36 files changed, 474 insertions(+), 327 deletions(-) diff --cc contrib/lua/Makefile index 8efa2eb3fdd6,000000000000..6e21588476df 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 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.6 ++R= $V.8 + +# 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)