Date: Sun, 17 Feb 2019 02:39:17 +0000 (UTC) From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r344220 - in stable/11: . contrib/lua contrib/lua/doc contrib/lua/src share/man/man9 share/mk stand stand/common stand/defaults stand/liblua stand/liblua32 stand/libsa stand/lua sys/sys... Message-ID: <201902170239.x1H2dHEq098698@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kevans Date: Sun Feb 17 02:39:17 2019 New Revision: 344220 URL: https://svnweb.freebsd.org/changeset/base/344220 Log: MFC lualoader: r326353, r328440, r328443, r329166-r329167, r329274, r329329, r329349-r329352, r329355-r329359, r329366-r329369, r329386-r329387, r329393, r329413-r329415, r329417, r329424-r329436, r329457, r329473-r329474, r329496-r329501, r329503-r329504, r329543, r329547-r329551, r329576-r329578, r329580, r329583, r329585-r329590, r329592-r329596, r329609-r329611, r329614, r329619, r329621-r329622, r329624, r329626-r329627, r329629-r329632, r329640-r329641, r329643-r329646, r329649-r329650, r329654, r329656, r329662, r329669-r329671, r329673-r329674, r329680, r329684-r329689, r329692-r329693, r329696-r329700, r329709, r329716, r329731, r329733-r329734, r329747-r329748, r329756, r329779, r329782, r329784, r329786, r329804, r329806, r329809, r329811, r329836, r329850-r329852, r329854, r329856-r329858, r329861, r329895, r329897-r329899, r329901-r329903, r329922-r329924, r329927-r329928, r329944-r329949, r329986-r329987, r330008-r330010, r330012, r330020, r330082-r330084, r330087-r330088, r330098-r330101, r330138-r330139, r330261-r330263, r330267-r330269, r330281-r330284, r330287, r330339-r330342, r330345-r330346, r330369-r330370, r330434-r330435, r330564, r330616-r330618, r330620, r330625, r330690, r330701, r330703, r330825, r331211, r331257, r331259, r331281-r331282, r331304, r331314, r331476-r331477, r331563-r331564, r331854-r331857, r331859-r331860, r332106, r334723, r334879, r334891, r334907, r334912, r334939, r334986, r335009, r335371, r336759, r337711, r337807-r337810, r338054, r338063, r338065-r338067, r338083, r338085-r338086, r338108, r338167-r338168, r338173, r338203, r338255, r338259, r338309, r338394, r338438, r338886, r338893, r339173, r339200, r339218, r339222, r339301, r339307, r339677-r339678, r339702, r339805, r339831, r339849, r340040, r340152 Some notes for this MFC: - This is still pre-forth/lua coexistance; that will come shortly-ish so that forth/lua may be installed together (with forth remaining the default) - module_blacklist support for lualoader has been MFC'd, but the drm modules are not blacklisted in this stable branch. r326353: Import lua 5.3.4 to contrib r328440: Preserve the original luaconf.h in a convenient place. Clients will r328443: Gross hack to omit printing hex floating point when the lua number r329166: Add Lua as a scripting langauge to /boot/loader r329167: Add the lua scripts from the lua-bootloader SoC r329274: stand/lua: Exit sub-menus on backspace r329329: stand/lua: Always boot on 'enter' keypress in menus r329349: stand/lua: Reduce magic numbers r329350: stand/lua: Don't descend into an empty kernels submenu r329351: stand/lua: Set reasonable ACPI default based on presence r329352: stand/lua: Consistently use semicolons for line endings r329355: stand/lua: Move kernel selection into main menu r329356: stand/lua: Allow menu items to not have explicit aliases r329357: stand/lua: Remove explicit alias from "Back to main menu" r329358: stand/lua: Say "loader prompt" instead of "lua interpreter" r329359: stand/lua: Remove a magic number/string (not a trivial literal) r329366: stand/lua: Set ACPI's default the proper way (setACPI) r329367: stand/lua: Create a "carousel" menu entry type r329368: stand/lua: Create/use some MENU_ constants where applicable r329369: stand/lua: Remove sneaky kernel assignment r329386: stand/lua: Correct usage and acceptance of BACKSPACE/DELETE keys r329387: stand/lua: Chop off the decimal for numbers passed to setcursor r329393: stand/lua: Use escaped dot instead of single character class r329413: stand/lua: Allow MENU_RETURN items to have func, fix esc. to prompt r329414: stand/lua: Don't try to divide by 0; do nothing r329415: stand/lua: Don't reload kernel config if we only have one kernel r329417: stand/lua: Make CAROUSEL_ENTRY func parameters consistent with name r329424: stand/lua: Don't set autoboot_delay=NO in menu autoboot sequence r329425: stand/lua: Enable menu autoboot; it seems to work r329426: stand/lua: Correct interpretation of autoboot_delay r329427: stand/lua: Color non-default kernels blue r329428: stand/lua: Correct some trivial errors in config r329429: stand/lua: Add debug method to dump modules r329430: stand/lua: Address some nits r329431: stand/lua: Correct test sense, this should have been 'not nil' r329432: stand/lua: Try to load alternate kernels as directories first r329433: stand/lua: Add optional GELI passphrase prompt r329434: stand/lua: Check for nil (GELI prompt) r329435: stand/lua: Style pass r329436: stand/lua: Debugging string snuck in... r329457: stand/lua: dumpModules => lsModules r329473: liblua: Clean up io/loader C module registration r329474: liblua: Emulate DIR, opendir, fdopendir, closedir r329496: stand/lua: Fix verbiage and some typos r329497: stand/lua: Fix module_path handling with multiple kernels r329498: stand/lua: Remove some debugging bits that snuck in... gr... r329499: interp_lua: Register io/loader with regular Lua module system r329500: Lua loader: Add barebones "lfs" module r329501: lua loader: Auto detect eligible list of kernels to boot r329503: liblua: Fix missing '}' in lutil.c after r329499 r329504: stand/lua: More style nits, config.lua r329543: Create style.lua(9) r329547: stand/lua: Allow menu items to be conditionally (in)visible r329548: stand/lua: Addres style.lua(9) concern r329549: stand/lua: Clear the screen before prompting for passwords r329550: stand/lua: Store the loaded kernel as config.kernel_loaded r329551: stand/lua: reload previously loaded kernel at config-load/reload r329576: stand/lua: Defer kernel/module loading until boot or menu escape r329577: stand/lua: Rename bootserial for clarity r329578: stand/lua: Menu style.lua(9) nits r329580: stand/lua: Remove some unused local declarations r329583: stand/lua: Store menu entries in an "entries" table r329585: stand/lua: Add core.isSingleUserBoot r329586: stand/lua: Call menu_entries if it's a function r329587: stand/lua: Swap single-/multi- user boot entries as needed r329588: stand/lua: Re-wrap menu.lua now that I've added indentation... r329589: stand/lua: Track env changes that come in via loader.conf(5) r329590: stand/lua: Restore environment upon config reload r329592: stand/lua: Remove inaccurate comment after r329590 r329593: stand/lua: Change boot menu items' names when swapped r329594: stand/lua: Round up some more style.lua(9) concerns r329595: stand/lua: Re-order locals after copyright notice; require first r329596: stand/lua: Add copyright notice in places r329609: stand/lua: Cache swapped menu, and don't create locals for swapping r329610: style.lua(9): Note that wrapping at 80-columns is not rigid r329611: stand/lua: Wrap tuple assignment earlier for readability r329614: stand/lua: Don't set ACPI off just because we can't detect it. r329619: stand/lua: Extract menu handlers out into menu.handlers table r329621: stand/lua: Add and use drawer.menu_name_handlers r329622: stand/lua: Move drawer.menu_name_handlers further up r329624: stand/lua: Reduce exposure of the drawer module r329626: stand/lua: Refactor logos into drawer.logodefs table r329627: stand/lua: Refactor brands into drawer.branddefs r329629: stand/lua: Use 'graphic' instead of 'logo' for depicting graphics r329630: stand/lua: Stick a copyright notice on drawer.lua r329631: stand/lua: Insert helpful comment for drawer.branddefs r329632: style.lua(9): Clarify local variable guideline r329640: stand/lua: Consistently declare local functions at module scope r329641: stand/lua: Consistently organize modules r329643: Implement loader.command r329644: lualoader: Add ability to intercept cli commands r329645: lualoader: Move carousel storage out into config r329646: lualoader: Eliminate global namespace pollution in loader.lua r329649: Lua lfs.attributes: Provide a more consistent error return r329650: liblua: Add loader.machine and loader.machine_arch properties r329654: lualoader: Ignore ACPI bits on !i386 r329656: loader.lua: Expose errno table to lua r329662: lualoader: Replace invalid construct with valid construct r329669: lualoader: Prefer selected kernel to currently loaded r329670: lualoader: Don't try so hard to load a kernel r329671: lualoader: Prepare for interception of "boot" CLI cmd r329673: lualoader: Intercept boot cli command r329674: lualoader: Intercept the 'autoboot' cli command r329680: lualoader: When restoring environment, only restore unchanged vars r329684: lualoader: Drop terminating semicolons r329685: lualoader: Drop excessive parenthesizing r329686: style.lua(9): Drop notes about semicolons r329687: lualoader: Drop explicit boolean tests; b or not b r329688: lualoader: Don't return false for failure to open config on silent r329689: lualoader: Output "Failed to parse" messages r329692: lualoader: Bring in local.lua module if it exists r329693: lualoader: Return only argstr if with_kernel not requested r329696: lualoader: Add "menu.default", initialized to menu.welcome r329697: lualoader: Drop name requirement for menu separators r329698: lualoader: Directly reference submenu definition with submenu key r329699: lualoader: Simplify menu definitions a little further r329700: lualoader: Allow carousel 'items' to be a table as well r329709: lualoader: Don't autodetect kernels if 'kernels' is explicitly set r329716: lualoader: Use the key that interrupts autoboot as a menu choice r329731: lualoader: Add boot environment support r329733: lualoader: Make kernel autodetect. contingent on loader.conf(5) var r329734: lualoader: Don't execute menu.autoboot() for every opened menu r329747: lualoader: Replace 8-space indentation with a single tab r329748: lualoader: Drop password length restrictions r329756: lualoader: Remove nasty hack for not printing out ".0" r329779: lualoader: Split cli bits out into a cli module r329782: lualoader: Unbreak 'boot [kernel]' by including config r329784: lualoader: Pull argument extraction for cli funcs to cli.arguments r329786: lualoader: Attach cli command functions to cli module r329804: lualoader: Eliminate some unused locals r329806: lualoader: Consistently use double quotes r329809: lualoader: Address some 'luacheck' concerns r329811: lualoader: Clear up an empty conditional branch r329836: lualoader: Attend to some 80-col issues, pointed out by luacheck r329850: lualoader: Drop unused return values; we'll only use the first r329851: Add SPDX tags to lua files r329852: Add copyright notice to core.lua r329854: lualoader: shallowCopyTable => deepCopyTable r329856: lualoader: Use "local function x()" instead "local x = function()" r329857: Centralize lua defines r329858: When the LUA_FLOAT_TYPE != LUA_FLOAT_INT64, we can't ref. float r329861: lualoader: Track effective line number, use it for drawing r329895: liblua: Implement write support r329897: lualoader: Add nextboot support r329898: lualoader: Plug file handle not properly closed r329899: lualoader: Correct test and name r329901: lualoader: Add comment on trailing space, don't operate on nil r329902: lualoader: Remove unused variable; we now use effective line number r329903: lualoader: Explain nextboot stuff a little bit more r329922: lualoader: Split config file I/O out into a separate function r329923: lualoader: Strip config.parse of its I/O privileges r329924: lualoader: throw out nextboot's usage of standard config processing r329927: lualoader: Clean up naming conventions a little bit r329928: lualoader: Remove inaccurate part of comment r329944: lualoader: Don't explicitly index tables without reason r329945: lualoader: menu: Terminate final values in tables with a comma r329946: lualoader: Clean up menu handling a little bit r329947: lualoader: Pull menu redrawing specifics out of menu.process r329948: lualoader: Pull autoboot handling out into menu.run() r329949: lualoader: Explain deviation from naming guidelines r329986: lualoader: Invalidate the screen from menu perspective mnu exit r329987: lualoader: Track the menu currently drawn, instead of validity r330008: lualoader: A little more general menu cleanup r330009: lualoader: More argument name expansion, part 2 r330010: lualoader: screen argument fixes r330012: style.lua(9): Add some additional notes about naming and commas r330020: lualoader: Re-work menu skipping bits r330082: lualoader: Add a twiddle at password prompt r330083: lualoader: Remove remnants of testing... r330084: lualoader: Replace instances of \027 with KEYSTR_ESCAPE r330087: lualoader: Convert instances of KEYSTR_ESCAPE .. "[" -> KEYSTR_CSI r330088: lualoader: Correct test sense, comments, and add some more comments r330098: lualoader: Re-do twiddle r330099: lualoader: Further screen cleanup r330100: lualoader: Remove debug function r330101: lualoader: Add note that \027 is a decimal representation r330138: lualoader: Dedup these "Return to main menu" entries r330139: lualoader: config: Pull some messages out into constants r330261: lualoader: Fix some lint-mentioned errors r330262: lualoader: Use #str instead of tracking length with 'n' r330263: lualoader: Use string literal \xNN instead of string.char() r330267: Add core.lua(8), but do not add to distribution r330268: Add menu.lua(8), but do not add to distribution r330269: core.lua(8): Add missing note about core.KEYSTR_CSI r330281: lualoader: Steamroll the box-drawing r330282: lualoader: Register loader.printc as global printc r330283: lualoader: Use global printc instead of loader.printc r330284: liblua: Use putc instead of printf for printc r330287: lualoader: Reset the cursor position after the menu is drawn r330339: liblua: Add loader.interpret r330340: lualoader: Execute menu_timeout_command at the end of menu autoboot r330341: lualoader: Respect loader_menu_title, prepare for align r330342: lualoader: Respect loader_menu_title_align r330345: lualoader: Tweak positioning and fix an off-by-one r330346: lualoader: Shift menu+brand even for logo=none with customized pos r330369: lualoader: Return meaningful value in cli_execute r330370: lualoader: logdef -> logodef typo r330434: lualoader: Add note about importance of including cli module early r330435: lualoader: Use FILESDIR instead of BINDIR r330564: lualoader: Only loadelf before boot/autoboot if no kernel loaded r330616: lualoader: Expose loader.parse and add cli_execute_unparsed r330617: lualoader: Fix name, cli.execute_unparsed -> cli_execute_unparsed r330618: lualoader: Use cli_execute_unparsed instead of loader.interpret r330620: lualoader: Use cli_execute_unparsed for commands via loader.conf r330625: lualoader: Return status in cli_execute_unparsed properly r330690: stand: Fix copy-paste-o, unbreaks libi386 lualoader build r330701: lualoader: Don't redraw the autoboot message every .05s r330703: lualoader: Cache kernel list r330825: lualoader: Sprinkle some verbose_loading salt r331211: lualoader: Setup default color scheme if we're using colors r331257: lualoader: Reset attributes and color scheme with color.highlight() r331259: lualoader: Use less atomic options for resetting colors/attributes r331281: lualoader: Add primitive hook module to untangle bogus reference r331282: core.lua(8): Update to reflect recently added function r331304: lualoader: Clear up some possible naming confusion r331314: lualoader: Use printc when we expect ANSI escape sequences r331476: lualoader: Make config env-related bits private API r331477: lualoader: Privatize some more config.lua bits r331563: lualoader: Implement try_include and use it for including local r331564: lualoader: Actually re-raise error in try_include r331854: lualoader: Do case-insensitive comparison of "yes" r331855: lualoader: Don't assume that {module}_load is set r331856: lualoader: revert whitespace change that snuck in r331857: lualoader: Simplify some expressions r331859: lualoader: Split logodefs out into logo-* files r331860: lualoader: Don't try to lookup a nil logo r332106: lualoader: Fix menu skipping with loader.conf(5) vars r334723: lualoader: Add a loaded hook for others to execute upon config load r334879: lualoader: Add hook.lua(8) to tree r334891: lualoader: Add cli.lua(8) to the tree r334907: lualoader: Process loader_conf_files properly r334912: lualoader: Support variable substitution in env var settings r334939: lualoader: Allow brand-*.lua for adding new brands r334986: lualoader: More black-on-white fixes r335009: lualoader: Match Forth module-loading behavior w.r.t flags r335371: lualoader: Correct kernel_options handling r336759: lualoader: "nextboot_file" should be spelled "nextboot_conf" r337711: lualoader: Fix parsing of negative number loader.conf(5) variables r337807: Prevent a wanring about checkdp being unused. r337808: When the LUA floating point model is INT64, we don't need to do the r337809: For our INT64 implementation, we can compare integers and numbers r337810: MFV r337586: lua: Update to 5.3.5 r338054: Add config.lua(8) to the tree r338063: lualoader: Stop exporting drawer.draw r338065: lualoader: Hide most of the internal drawing functions r338066: lualoader: Hide the rest of the private interfaces r338067: lualoader: Add drawer-exported variables for default logodefs r338083: Add drawer.lua(8) r338085: Add color.lua(8), password.lua(8), and screen.lua(8) r338086: lualoader: Install all manpages r338108: Serial console menus for lua. r338167: lualoader: Just compare expression directly r338168: lualoader: Refactor config line expressions r338173: lualoader: Fix loader.conf(5) EOL validation for 'exec' lines r338203: Turn off LOADER_GELI and LOADER_LUA for sparc64, until functional r338255: lualoader: Fix (add) Xen support r338259: lualoader: Accept that people use unquoted values in loader.conf r338309: lualoader: Fix override of module_path on loader prompt r338394: lualoader: fix color usage r338438: lualoader: Handle comma-separated kernels as well r338886: Improve loader passwords: r338893: Set the default loader for powerpc(32- and 64-bit) back to to forth r339173: Set the default loader for powerpc64 back to to forth too. r339200: lualoader: Don't draw loader menu with autoboot_delay=-1 r339218: lualoader: Create a module blacklist, add DRM modules to it r339222: lualoader: Honor boot_* variables at lua init r339301: Loader GELI support, like lua loader, seems to be broken on PowerPC r339307: lualoader: Provide a 'menu' command to redraw the menu at prompt r339677: lualoader: unload upon kernel change if a kernel was loaded r339678: menu.lua: Abort autoboot sequence on failed command r339702: lualoader: Improve module loading diagnostics r339805: lualoader: Always return a proper dictionary for blacklist r339831: Move LUA_ROOT to /boot/lua r339849: lualoader: Fix try_include error handling r340040: lualoader: Implement boot-conf r340152: lualoader: Add chainload menu entry Relnotes: yes ("lualoader has been merged to stable/11, off by default, to facilitate testing") Added: stable/11/contrib/lua/ - copied from r326353, head/contrib/lua/ stable/11/contrib/lua/src/luaconf.h.dist - copied unchanged from r328440, head/contrib/lua/src/luaconf.h.dist stable/11/share/man/man9/style.lua.9 - copied, changed from r329543, head/share/man/man9/style.lua.9 stable/11/stand/common/interp_lua.c - copied, changed from r329167, head/stand/common/interp_lua.c stable/11/stand/liblua/ - copied from r329167, head/stand/liblua/ stable/11/stand/liblua/lerrno.c - copied unchanged from r329656, head/stand/liblua/lerrno.c stable/11/stand/liblua/lerrno.h - copied unchanged from r329656, head/stand/liblua/lerrno.h stable/11/stand/liblua/lfs.c - copied, changed from r329501, head/stand/liblua/lfs.c stable/11/stand/liblua/lfs.h - copied unchanged from r329501, head/stand/liblua/lfs.h stable/11/stand/liblua32/ - copied from r329167, head/stand/liblua32/ stable/11/stand/lua/ - copied from r329167, head/stand/lua/ stable/11/stand/lua.mk - copied, changed from r329167, head/stand/lua.mk stable/11/stand/lua/cli.lua - copied, changed from r329779, head/stand/lua/cli.lua stable/11/stand/lua/cli.lua.8 - copied, changed from r334891, head/stand/lua/cli.lua.8 stable/11/stand/lua/color.lua.8 - copied unchanged from r338086, head/stand/lua/color.lua.8 stable/11/stand/lua/config.lua.8 - copied unchanged from r338054, head/stand/lua/config.lua.8 stable/11/stand/lua/core.lua.8 - copied, changed from r330269, head/stand/lua/core.lua.8 stable/11/stand/lua/drawer.lua.8 - copied unchanged from r338083, head/stand/lua/drawer.lua.8 stable/11/stand/lua/hook.lua - copied unchanged from r331282, head/stand/lua/hook.lua stable/11/stand/lua/hook.lua.8 - copied unchanged from r334879, head/stand/lua/hook.lua.8 stable/11/stand/lua/logo-beastie.lua - copied unchanged from r331860, head/stand/lua/logo-beastie.lua stable/11/stand/lua/logo-beastiebw.lua - copied unchanged from r331860, head/stand/lua/logo-beastiebw.lua stable/11/stand/lua/logo-fbsdbw.lua - copied unchanged from r331860, head/stand/lua/logo-fbsdbw.lua stable/11/stand/lua/logo-orb.lua - copied unchanged from r331860, head/stand/lua/logo-orb.lua stable/11/stand/lua/logo-orbbw.lua - copied unchanged from r331860, head/stand/lua/logo-orbbw.lua stable/11/stand/lua/menu.lua.8 - copied unchanged from r330269, head/stand/lua/menu.lua.8 stable/11/stand/lua/password.lua.8 - copied unchanged from r338086, head/stand/lua/password.lua.8 stable/11/stand/lua/screen.lua.8 - copied unchanged from r338086, head/stand/lua/screen.lua.8 stable/11/tools/build/options/WITH_LOADER_LUA - copied unchanged from r329167, head/tools/build/options/WITH_LOADER_LUA Deleted: stable/11/contrib/lua/src/luaconf.h Modified: stable/11/UPDATING stable/11/contrib/lua/README stable/11/contrib/lua/doc/contents.html stable/11/contrib/lua/doc/lua.css stable/11/contrib/lua/doc/manual.html stable/11/contrib/lua/doc/readme.html stable/11/contrib/lua/src/Makefile stable/11/contrib/lua/src/lapi.c stable/11/contrib/lua/src/lapi.h stable/11/contrib/lua/src/lauxlib.c stable/11/contrib/lua/src/lauxlib.h stable/11/contrib/lua/src/lbaselib.c stable/11/contrib/lua/src/lbitlib.c stable/11/contrib/lua/src/lcode.c stable/11/contrib/lua/src/lcode.h stable/11/contrib/lua/src/lcorolib.c stable/11/contrib/lua/src/lctype.c stable/11/contrib/lua/src/lctype.h stable/11/contrib/lua/src/ldblib.c stable/11/contrib/lua/src/ldebug.c stable/11/contrib/lua/src/ldebug.h stable/11/contrib/lua/src/ldo.c stable/11/contrib/lua/src/ldo.h stable/11/contrib/lua/src/ldump.c stable/11/contrib/lua/src/lfunc.c stable/11/contrib/lua/src/lfunc.h stable/11/contrib/lua/src/lgc.c stable/11/contrib/lua/src/lgc.h stable/11/contrib/lua/src/linit.c stable/11/contrib/lua/src/liolib.c stable/11/contrib/lua/src/llex.c stable/11/contrib/lua/src/llex.h stable/11/contrib/lua/src/llimits.h stable/11/contrib/lua/src/lmathlib.c stable/11/contrib/lua/src/lmem.c stable/11/contrib/lua/src/lmem.h stable/11/contrib/lua/src/loadlib.c stable/11/contrib/lua/src/lobject.c stable/11/contrib/lua/src/lobject.h stable/11/contrib/lua/src/lopcodes.c stable/11/contrib/lua/src/lopcodes.h stable/11/contrib/lua/src/loslib.c stable/11/contrib/lua/src/lparser.c stable/11/contrib/lua/src/lparser.h stable/11/contrib/lua/src/lprefix.h stable/11/contrib/lua/src/lstate.c stable/11/contrib/lua/src/lstate.h stable/11/contrib/lua/src/lstring.c stable/11/contrib/lua/src/lstring.h stable/11/contrib/lua/src/lstrlib.c stable/11/contrib/lua/src/ltable.c stable/11/contrib/lua/src/ltable.h stable/11/contrib/lua/src/ltablib.c stable/11/contrib/lua/src/ltm.c stable/11/contrib/lua/src/ltm.h stable/11/contrib/lua/src/lua.c stable/11/contrib/lua/src/lua.h stable/11/contrib/lua/src/luac.c stable/11/contrib/lua/src/lualib.h stable/11/contrib/lua/src/lundump.c stable/11/contrib/lua/src/lundump.h stable/11/contrib/lua/src/lutf8lib.c stable/11/contrib/lua/src/lvm.c stable/11/contrib/lua/src/lvm.h stable/11/contrib/lua/src/lzio.c stable/11/contrib/lua/src/lzio.h stable/11/share/man/man9/Makefile stable/11/share/mk/src.opts.mk stable/11/stand/Makefile stable/11/stand/defaults/loader.conf stable/11/stand/defaults/loader.conf.5 stable/11/stand/defs.mk stable/11/stand/liblua/Makefile stable/11/stand/liblua/lstd.c stable/11/stand/liblua/lstd.h stable/11/stand/liblua/luaconf.h stable/11/stand/liblua/lutils.c stable/11/stand/liblua/lutils.h stable/11/stand/libsa/stand.h stable/11/stand/loader.mk stable/11/stand/lua/Makefile stable/11/stand/lua/color.lua stable/11/stand/lua/config.lua stable/11/stand/lua/core.lua stable/11/stand/lua/drawer.lua stable/11/stand/lua/loader.lua stable/11/stand/lua/menu.lua stable/11/stand/lua/password.lua stable/11/stand/lua/screen.lua stable/11/sys/sys/param.h Directory Properties: stable/11/ (props changed) Modified: stable/11/UPDATING ============================================================================== --- stable/11/UPDATING Sun Feb 17 01:16:27 2019 (r344219) +++ stable/11/UPDATING Sun Feb 17 02:39:17 2019 (r344220) @@ -17,6 +17,14 @@ the tip of head, and then rebuild without this option. from older version of current across the gcc/clang cutover is a bit fragile. 20190216: + Lualoader has been merged to facilitate testing on this branch. It's + purely opt-in for now by building WITH_LOADER_LUA and WITHOUT_FORTH in + /etc/src.conf, but co-existance will come shortly. Booting is a complex + environment and test coverage for Lua-enabled loaders has been thin, so + it would be prudent to assume it might not work and make provisions for + backup boot methods. + +20190216: Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to 7.0.1. Please see the 20141231 entry below for information about prerequisites and upgrading, if you are not already using clang 3.5.0 Modified: stable/11/contrib/lua/README ============================================================================== --- head/contrib/lua/README Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/README Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ -This is Lua 5.3.4, released on 12 Jan 2017. +This is Lua 5.3.5, released on 26 Jun 2018. For installation instructions, license details, and further information about Lua, see doc/readme.html. Modified: stable/11/contrib/lua/doc/contents.html ============================================================================== --- head/contrib/lua/doc/contents.html Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/doc/contents.html Sun Feb 17 02:39:17 2019 (r344220) @@ -32,7 +32,7 @@ For a complete introduction to Lua programming, see th <P> <SMALL> -Copyright © 2015–2017 Lua.org, PUC-Rio. +Copyright © 2015–2018 Lua.org, PUC-Rio. Freely available under the terms of the <A HREF="http://www.lua.org/license.html">Lua license</A>. </SMALL> @@ -609,10 +609,10 @@ Freely available under the terms of the <P CLASS="footer"> Last update: -Thu Dec 22 18:29:39 BRST 2016 +Mon Jun 18 22:56:06 -03 2018 </P> <!-- -Last change: revised for Lua 5.3.4 +Last change: revised for Lua 5.3.5 --> </BODY> Modified: stable/11/contrib/lua/doc/lua.css ============================================================================== --- head/contrib/lua/doc/lua.css Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/doc/lua.css Sun Feb 17 02:39:17 2019 (r344220) @@ -10,7 +10,7 @@ body { line-height: 1.25 ; margin: 16px auto ; padding: 32px ; - border: solid #a0a0a0 1px ; + border: solid #ccc 1px ; border-radius: 20px ; max-width: 70em ; width: 90% ; @@ -111,36 +111,29 @@ pre.session { border-radius: 8px ; } -td.gutter { - width: 4% ; -} - -table.columns { +table { border: none ; border-spacing: 0 ; border-collapse: collapse ; } +td { + padding: 0 ; + margin: 0 ; +} + +td.gutter { + width: 4% ; +} + table.columns td { vertical-align: top ; - padding: 0 ; padding-bottom: 1em ; text-align: justify ; line-height: 1.25 ; } -p.logos a:link:hover, p.logos a:visited:hover { - background-color: inherit ; -} - -table.book { - border: none ; - border-spacing: 0 ; - border-collapse: collapse ; -} - table.book td { - padding: 0 ; vertical-align: top ; } @@ -157,6 +150,10 @@ table.book span { text-align: left ; display: block ; margin-top: 0.25em ; +} + +p.logos a:link:hover, p.logos a:visited:hover { + background-color: inherit ; } img { Modified: stable/11/contrib/lua/doc/manual.html ============================================================================== --- head/contrib/lua/doc/manual.html Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/doc/manual.html Sun Feb 17 02:39:17 2019 (r344220) @@ -19,7 +19,7 @@ by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, <P> <SMALL> -Copyright © 2015–2017 Lua.org, PUC-Rio. +Copyright © 2015–2018 Lua.org, PUC-Rio. Freely available under the terms of the <a href="http://www.lua.org/license.html">Lua license</a>. </SMALL> @@ -35,7 +35,7 @@ Freely available under the terms of the <!-- ====================================================================== --> <p> -<!-- $Id: manual.of,v 1.167 2017/01/09 15:18:11 roberto Exp $ --> +<!-- $Id: manual.of,v 1.167.1.2 2018/06/26 15:49:07 roberto Exp $ --> @@ -203,8 +203,8 @@ even those that do not support threads natively. <p> The type <em>table</em> implements associative arrays, -that is, arrays that can be indexed not only with numbers, -but with any Lua value except <b>nil</b> and NaN. +that is, arrays that can have as indices not only numbers, +but any Lua value except <b>nil</b> and NaN. (<em>Not a Number</em> is a special value used to represent undefined or unrepresentable numerical results, such as <code>0/0</code>.) Tables can be <em>heterogeneous</em>; @@ -400,6 +400,8 @@ with the event name prefixed by two underscores; the corresponding values are called <em>metamethods</em>. In the previous example, the key is "<code>__add</code>" and the metamethod is the function that performs the addition. +Unless stated otherwise, +metamethods should be function values. <p> @@ -597,7 +599,7 @@ it is also slower than a real <code>__le</code> metame </li> <li><b><code>__index</code>: </b> -The indexing access <code>table[key]</code>. +The indexing access operation <code>table[key]</code>. This event happens when <code>table</code> is not a table or when <code>key</code> is not present in <code>table</code>. The metamethod is looked up in <code>table</code>. @@ -1276,13 +1278,8 @@ Square brackets are used to index a table: <pre> var ::= prefixexp ‘<b>[</b>’ exp ‘<b>]</b>’ </pre><p> -The meaning of accesses to table fields can be changed via metatables. -An access to an indexed variable <code>t[i]</code> is equivalent to -a call <code>gettable_event(t,i)</code>. -(See <a href="#2.4">§2.4</a> for a complete description of the -<code>gettable_event</code> function. -This function is not defined or callable in Lua. -We use it here only for explanatory purposes.) +The meaning of accesses to table fields can be changed via metatables +(see <a href="#2.4">§2.4</a>). <p> @@ -1477,25 +1474,20 @@ cyclically permutes the values of <code>x</code>, <cod <p> -The meaning of assignments to global variables -and table fields can be changed via metatables. -An assignment to an indexed variable <code>t[i] = val</code> is equivalent to -<code>settable_event(t,i,val)</code>. -(See <a href="#2.4">§2.4</a> for a complete description of the -<code>settable_event</code> function. -This function is not defined or callable in Lua. -We use it here only for explanatory purposes.) - - -<p> An assignment to a global name <code>x = val</code> is equivalent to the assignment <code>_ENV.x = val</code> (see <a href="#2.2">§2.2</a>). +<p> +The meaning of assignments to table fields and +global variables (which are actually table fields, too) +can be changed via metatables (see <a href="#2.4">§2.4</a>). + + <h3>3.3.4 – <a name="3.3.4">Control Structures</a></h3><p> The control structures <b>if</b>, <b>while</b>, and <b>repeat</b> have the usual meaning and @@ -1831,17 +1823,17 @@ Here are some examples: g(f(), x) -- f() is adjusted to 1 result g(x, f()) -- g gets x plus all results from f() a,b,c = f(), x -- f() is adjusted to 1 result (c gets nil) - a,b = ... -- a gets the first vararg parameter, b gets + a,b = ... -- a gets the first vararg argument, b gets -- the second (both a and b can get nil if there - -- is no corresponding vararg parameter) + -- is no corresponding vararg argument) a,b,c = x, f() -- f() is adjusted to 2 results a,b,c = f() -- f() is adjusted to 3 results return f() -- returns all results from f() - return ... -- returns all received vararg parameters + return ... -- returns all received vararg arguments return x,y,f() -- returns x, y, and all results from f() {f()} -- creates a list with all results from f() - {...} -- creates a list with all vararg parameters + {...} -- creates a list with all vararg arguments {f(), nil} -- f() is adjusted to 1 result </pre> @@ -2039,9 +2031,12 @@ two objects are considered equal only if they are the Every time you create a new object (a table, userdata, or thread), this new object is different from any previously existing object. -Closures with the same reference are always equal. +A closure is always equal to itself. Closures with any detectable difference (different behavior, different definition) are always different. +Closures created at different times but with no detectable differences +may be classified as equal or not +(depending on internal caching details). <p> @@ -2303,7 +2298,7 @@ If the value of prefixexp has type <em>function</em>, then this function is called with the given arguments. Otherwise, the prefixexp "call" metamethod is called, -having as first parameter the value of prefixexp, +having as first argument the value of prefixexp, followed by the original call arguments (see <a href="#2.4">§2.4</a>). @@ -2881,7 +2876,7 @@ it can do whatever it wants on that Lua state, as it should be already protected. However, when C code operates on other Lua states -(e.g., a Lua parameter to the function, +(e.g., a Lua argument to the function, a Lua state stored in the registry, or the result of <a href="#lua_newthread"><code>lua_newthread</code></a>), it should use them only in API calls that cannot raise errors. @@ -3370,7 +3365,7 @@ it is left unchanged. Destroys all objects in the given Lua state (calling the corresponding garbage-collection metamethods, if any) and frees all dynamic memory used by this state. -On several platforms, you may not need to call this function, +In several platforms, you may not need to call this function, because all resources are naturally released when the host program ends. On the other hand, long-running programs that create multiple states, such as daemons or web servers, @@ -5584,7 +5579,7 @@ given as argument to a hook (see <a href="#lua_Hook">< <p> -To get information about a function you push it onto the stack +To get information about a function, you push it onto the stack and start the <code>what</code> string with the character '<code>></code>'. (In that case, <code>lua_getinfo</code> pops the function from the top of the stack.) @@ -6462,7 +6457,7 @@ file-related functions in the standard library <p> Pushes onto the stack the field <code>e</code> from the metatable -of the object at index <code>obj</code> and returns the type of pushed value. +of the object at index <code>obj</code> and returns the type of the pushed value. If the object does not have a metatable, or if the metatable does not have this field, pushes nothing and returns <code>LUA_TNIL</code>. @@ -6749,7 +6744,7 @@ In words, if the argument <code>arg</code> is nil or a the macro results in the default <code>dflt</code>. Otherwise, it results in the result of calling <code>func</code> with the state <code>L</code> and the argument index <code>arg</code> as -parameters. +arguments. Note that it evaluates the expression <code>dflt</code> only if needed. @@ -8680,7 +8675,7 @@ the lowercase letters plus the '<code>-</code>' charac <p> You can put a closing square bracket in a set by positioning it as the first character in the set. -You can put an hyphen in a set +You can put a hyphen in a set by positioning it as the first or the last character in the set. (You can also use an escape for both cases.) @@ -9082,8 +9077,8 @@ Returns the destination table <code>a2</code>. <p> -Returns a new table with all parameters stored into keys 1, 2, etc. -and with a field "<code>n</code>" with the total number of parameters. +Returns a new table with all arguments stored into keys 1, 2, etc. +and with a field "<code>n</code>" with the total number of arguments. Note that the resulting table may not be a sequence. @@ -9215,7 +9210,7 @@ Returns the arc sine of <code>x</code> (in radians). <p> Returns the arc tangent of <code>y/x</code> (in radians), -but uses the signs of both parameters to find the +but uses the signs of both arguments to find the quadrant of the result. (It also handles correctly the case of <code>x</code> being zero.) @@ -9516,7 +9511,7 @@ all I/O functions return <b>nil</b> on failure (plus an error message as a second result and a system-dependent error code as a third result) and some value different from <b>nil</b> on success. -On non-POSIX systems, +In non-POSIX systems, the computation of the error message and error code in case of errors may be not thread safe, @@ -9553,7 +9548,7 @@ When called with a file name, it opens the named file and sets its handle as the default input file. When called with a file handle, it simply sets this file handle as the default input file. -When called without parameters, +When called without arguments, it returns the current default input file. @@ -9580,7 +9575,7 @@ it returns no values (to finish the loop) and automati The call <code>io.lines()</code> (with no file name) is equivalent to <code>io.input():lines("*l")</code>; that is, it iterates over the lines of the default input file. -In this case it does not close the file when the loop ends. +In this case, the iterator does not close the file when the loop ends. <p> @@ -9963,7 +9958,7 @@ the host system and on the current locale. <p> -On non-POSIX systems, +In non-POSIX systems, this function may be not thread safe because of its reliance on C function <code>gmtime</code> and C function <code>localtime</code>. @@ -10163,7 +10158,7 @@ and explicitly removed when no longer needed. <p> -On POSIX systems, +In POSIX systems, this function also creates a file with that name, to avoid security risks. (Someone else might create the file with wrong permissions @@ -10301,8 +10296,8 @@ The first parameter or local variable has index 1 following the order that they are declared in the code, counting only the variables that are active in the current scope of the function. -Negative indices refer to vararg parameters; --1 is the first vararg parameter. +Negative indices refer to vararg arguments; +-1 is the first vararg argument. The function returns <b>nil</b> if there is no variable with the given index, and raises an error when called with a level out of range. (You can call <a href="#pdf-debug.getinfo"><code>debug.getinfo</code></a> to check whether the level is valid.) @@ -10400,7 +10395,7 @@ When called without arguments, <p> -When the hook is called, its first parameter is a string +When the hook is called, its first argument is a string describing the event that has triggered its call: <code>"call"</code> (or <code>"tail call"</code>), <code>"return"</code>, @@ -10551,7 +10546,8 @@ The options are: <ul> <li><b><code>-e <em>stat</em></code>: </b> executes string <em>stat</em>;</li> -<li><b><code>-l <em>mod</em></code>: </b> "requires" <em>mod</em>;</li> +<li><b><code>-l <em>mod</em></code>: </b> "requires" <em>mod</em> and assigns the + result to global @<em>mod</em>;</li> <li><b><code>-i</code>: </b> enters interactive mode after running <em>script</em>;</li> <li><b><code>-v</code>: </b> prints version information;</li> <li><b><code>-E</code>: </b> ignores environment variables;</li> @@ -10629,7 +10625,7 @@ For instance, the call </pre><p> will print "<code>-e</code>". If there is a script, -the script is called with parameters +the script is called with arguments <code>arg[1]</code>, ···, <code>arg[#arg]</code>. (Like all chunks in Lua, the script is compiled as a vararg function.) @@ -10815,7 +10811,7 @@ The following functions were deprecated in the mathema <code>frexp</code>, and <code>ldexp</code>. You can replace <code>math.pow(x,y)</code> with <code>x^y</code>; you can replace <code>math.atan2</code> with <code>math.atan</code>, -which now accepts one or two parameters; +which now accepts one or two arguments; you can replace <code>math.ldexp(x,exp)</code> with <code>x * 2.0^exp</code>. For the other operations, you can either use an external library or @@ -10850,7 +10846,7 @@ of the first result.) <ul> <li> -Continuation functions now receive as parameters what they needed +Continuation functions now receive as arguments what they needed to get through <code>lua_getctx</code>, so <code>lua_getctx</code> has been removed. Adapt your code accordingly. @@ -10973,12 +10969,13 @@ and LiteralString, see <a href="#3.1">§3.1</a>.) + <P CLASS="footer"> Last update: -Mon Jan 9 13:30:53 BRST 2017 +Tue Jun 26 13:16:37 -03 2018 </P> <!-- -Last change: revised for Lua 5.3.4 +Last change: revised for Lua 5.3.5 --> </body></html> Modified: stable/11/contrib/lua/doc/readme.html ============================================================================== --- head/contrib/lua/doc/readme.html Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/doc/readme.html Sun Feb 17 02:39:17 2019 (r344220) @@ -107,7 +107,7 @@ Here are the details. <OL> <LI> Open a terminal window and move to -the top-level directory, which is named <TT>lua-5.3.x</TT>. +the top-level directory, which is named <TT>lua-5.3.5</TT>. The <TT>Makefile</TT> there controls both the build process and the installation process. <P> <LI> @@ -355,10 +355,10 @@ THE SOFTWARE. <P CLASS="footer"> Last update: -Thu Dec 22 18:22:57 BRST 2016 +Mon Jun 18 22:57:33 -03 2018 </P> <!-- -Last change: revised for Lua 5.3.4 +Last change: revised for Lua 5.3.5 --> </BODY> Modified: stable/11/contrib/lua/src/Makefile ============================================================================== --- head/contrib/lua/src/Makefile Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/Makefile Sun Feb 17 02:39:17 2019 (r344220) @@ -102,7 +102,7 @@ c89: freebsd: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -lreadline" + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc" generic: $(ALL) @@ -110,7 +110,7 @@ linux: $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline" macosx: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline" CC=cc + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline" mingw: $(MAKE) "LUA_A=lua53.dll" "LUA_T=lua.exe" \ Modified: stable/11/contrib/lua/src/lapi.c ============================================================================== --- head/contrib/lua/src/lapi.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lapi.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lapi.c,v 2.259 2016/02/29 14:27:14 roberto Exp $ +** $Id: lapi.c,v 2.259.1.2 2017/12/06 18:35:12 roberto Exp $ ** Lua API ** See Copyright Notice in lua.h */ @@ -533,6 +533,7 @@ LUA_API void lua_pushcclosure (lua_State *L, lua_CFunc lua_lock(L); if (n == 0) { setfvalue(L->top, fn); + api_incr_top(L); } else { CClosure *cl; @@ -546,9 +547,9 @@ LUA_API void lua_pushcclosure (lua_State *L, lua_CFunc /* does not need barrier because closure is white */ } setclCvalue(L, L->top, cl); + api_incr_top(L); + luaC_checkGC(L); } - api_incr_top(L); - luaC_checkGC(L); lua_unlock(L); } Modified: stable/11/contrib/lua/src/lapi.h ============================================================================== --- head/contrib/lua/src/lapi.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lapi.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lapi.h,v 2.9 2015/03/06 19:49:50 roberto Exp $ +** $Id: lapi.h,v 2.9.1.1 2017/04/19 17:20:42 roberto Exp $ ** Auxiliary functions from Lua API ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lauxlib.c ============================================================================== --- head/contrib/lua/src/lauxlib.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lauxlib.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lauxlib.c,v 1.289 2016/12/20 18:37:00 roberto Exp $ +** $Id: lauxlib.c,v 1.289.1.1 2017/04/19 17:20:42 roberto Exp $ ** Auxiliary functions for building Lua libraries ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lauxlib.h ============================================================================== --- head/contrib/lua/src/lauxlib.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lauxlib.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lauxlib.h,v 1.131 2016/12/06 14:54:31 roberto Exp $ +** $Id: lauxlib.h,v 1.131.1.1 2017/04/19 17:20:42 roberto Exp $ ** Auxiliary functions for building Lua libraries ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lbaselib.c ============================================================================== --- head/contrib/lua/src/lbaselib.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lbaselib.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lbaselib.c,v 1.314 2016/09/05 19:06:34 roberto Exp $ +** $Id: lbaselib.c,v 1.314.1.1 2017/04/19 17:39:34 roberto Exp $ ** Basic library ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lbitlib.c ============================================================================== --- head/contrib/lua/src/lbitlib.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lbitlib.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lbitlib.c,v 1.30 2015/11/11 19:08:09 roberto Exp $ +** $Id: lbitlib.c,v 1.30.1.1 2017/04/19 17:20:42 roberto Exp $ ** Standard library for bitwise operations ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lcode.c ============================================================================== --- head/contrib/lua/src/lcode.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lcode.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lcode.c,v 2.112 2016/12/22 13:08:50 roberto Exp $ +** $Id: lcode.c,v 2.112.1.1 2017/04/19 17:20:42 roberto Exp $ ** Code generator for Lua ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lcode.h ============================================================================== --- head/contrib/lua/src/lcode.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lcode.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lcode.h,v 1.64 2016/01/05 16:22:37 roberto Exp $ +** $Id: lcode.h,v 1.64.1.1 2017/04/19 17:20:42 roberto Exp $ ** Code generator for Lua ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lcorolib.c ============================================================================== --- head/contrib/lua/src/lcorolib.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lcorolib.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lcorolib.c,v 1.10 2016/04/11 19:19:55 roberto Exp $ +** $Id: lcorolib.c,v 1.10.1.1 2017/04/19 17:20:42 roberto Exp $ ** Coroutine Library ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lctype.c ============================================================================== --- head/contrib/lua/src/lctype.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lctype.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lctype.c,v 1.12 2014/11/02 19:19:04 roberto Exp $ +** $Id: lctype.c,v 1.12.1.1 2017/04/19 17:20:42 roberto Exp $ ** 'ctype' functions for Lua ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lctype.h ============================================================================== --- head/contrib/lua/src/lctype.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lctype.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lctype.h,v 1.12 2011/07/15 12:50:29 roberto Exp $ +** $Id: lctype.h,v 1.12.1.1 2013/04/12 18:48:47 roberto Exp $ ** 'ctype' functions for Lua ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/ldblib.c ============================================================================== --- head/contrib/lua/src/ldblib.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/ldblib.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: ldblib.c,v 1.151 2015/11/23 11:29:43 roberto Exp $ +** $Id: ldblib.c,v 1.151.1.1 2017/04/19 17:20:42 roberto Exp $ ** Interface from Lua to its debug API ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/ldebug.c ============================================================================== --- head/contrib/lua/src/ldebug.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/ldebug.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: ldebug.c,v 2.121 2016/10/19 12:32:10 roberto Exp $ +** $Id: ldebug.c,v 2.121.1.2 2017/07/10 17:21:50 roberto Exp $ ** Debug Interface ** See Copyright Notice in lua.h */ @@ -653,6 +653,7 @@ l_noret luaG_runerror (lua_State *L, const char *fmt, CallInfo *ci = L->ci; const char *msg; va_list argp; + luaC_checkGC(L); /* error message uses memory */ va_start(argp, fmt); msg = luaO_pushvfstring(L, fmt, argp); /* format message */ va_end(argp); Modified: stable/11/contrib/lua/src/ldebug.h ============================================================================== --- head/contrib/lua/src/ldebug.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/ldebug.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: ldebug.h,v 2.14 2015/05/22 17:45:56 roberto Exp $ +** $Id: ldebug.h,v 2.14.1.1 2017/04/19 17:20:42 roberto Exp $ ** Auxiliary functions from Debug Interface module ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/ldo.c ============================================================================== --- head/contrib/lua/src/ldo.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/ldo.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: ldo.c,v 2.157 2016/12/13 15:52:21 roberto Exp $ +** $Id: ldo.c,v 2.157.1.1 2017/04/19 17:20:42 roberto Exp $ ** Stack and Call structure of Lua ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/ldo.h ============================================================================== --- head/contrib/lua/src/ldo.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/ldo.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: ldo.h,v 2.29 2015/12/21 13:02:14 roberto Exp $ +** $Id: ldo.h,v 2.29.1.1 2017/04/19 17:20:42 roberto Exp $ ** Stack and Call structure of Lua ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/ldump.c ============================================================================== --- head/contrib/lua/src/ldump.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/ldump.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: ldump.c,v 2.37 2015/10/08 15:53:49 roberto Exp $ +** $Id: ldump.c,v 2.37.1.1 2017/04/19 17:20:42 roberto Exp $ ** save precompiled Lua chunks ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lfunc.c ============================================================================== --- head/contrib/lua/src/lfunc.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lfunc.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lfunc.c,v 2.45 2014/11/02 19:19:04 roberto Exp $ +** $Id: lfunc.c,v 2.45.1.1 2017/04/19 17:39:34 roberto Exp $ ** Auxiliary functions to manipulate prototypes and closures ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lfunc.h ============================================================================== --- head/contrib/lua/src/lfunc.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lfunc.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lfunc.h,v 2.15 2015/01/13 15:49:11 roberto Exp $ +** $Id: lfunc.h,v 2.15.1.1 2017/04/19 17:39:34 roberto Exp $ ** Auxiliary functions to manipulate prototypes and closures ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lgc.c ============================================================================== --- head/contrib/lua/src/lgc.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lgc.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lgc.c,v 2.215 2016/12/22 13:08:50 roberto Exp $ +** $Id: lgc.c,v 2.215.1.2 2017/08/31 16:15:27 roberto Exp $ ** Garbage Collector ** See Copyright Notice in lua.h */ @@ -643,8 +643,9 @@ static void clearkeys (global_State *g, GCObject *l, G for (n = gnode(h, 0); n < limit; n++) { if (!ttisnil(gval(n)) && (iscleared(g, gkey(n)))) { setnilvalue(gval(n)); /* remove value ... */ - removeentry(n); /* and remove entry from table */ } + if (ttisnil(gval(n))) /* is entry empty? */ + removeentry(n); /* remove entry from table */ } } } Modified: stable/11/contrib/lua/src/lgc.h ============================================================================== --- head/contrib/lua/src/lgc.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lgc.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lgc.h,v 2.91 2015/12/21 13:02:14 roberto Exp $ +** $Id: lgc.h,v 2.91.1.1 2017/04/19 17:39:34 roberto Exp $ ** Garbage Collector ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/linit.c ============================================================================== --- head/contrib/lua/src/linit.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/linit.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: linit.c,v 1.39 2016/12/04 20:17:24 roberto Exp $ +** $Id: linit.c,v 1.39.1.1 2017/04/19 17:20:42 roberto Exp $ ** Initialization of libraries for lua.c and other clients ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/liolib.c ============================================================================== --- head/contrib/lua/src/liolib.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/liolib.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: liolib.c,v 2.151 2016/12/20 18:37:00 roberto Exp $ +** $Id: liolib.c,v 2.151.1.1 2017/04/19 17:29:57 roberto Exp $ ** Standard I/O (and system) library ** See Copyright Notice in lua.h */ @@ -206,11 +206,16 @@ static int aux_close (lua_State *L) { } +static int f_close (lua_State *L) { + tofile(L); /* make sure argument is an open stream */ + return aux_close(L); +} + + static int io_close (lua_State *L) { if (lua_isnone(L, 1)) /* no argument? */ lua_getfield(L, LUA_REGISTRYINDEX, IO_OUTPUT); /* use standard output */ - tofile(L); /* make sure argument is an open stream */ - return aux_close(L); + return f_close(L); } @@ -712,7 +717,7 @@ static const luaL_Reg iolib[] = { ** methods for file handles */ static const luaL_Reg flib[] = { - {"close", io_close}, + {"close", f_close}, {"flush", f_flush}, {"lines", f_lines}, {"read", f_read}, Modified: stable/11/contrib/lua/src/llex.c ============================================================================== --- head/contrib/lua/src/llex.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/llex.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: llex.c,v 2.96 2016/05/02 14:02:12 roberto Exp $ +** $Id: llex.c,v 2.96.1.1 2017/04/19 17:20:42 roberto Exp $ ** Lexical Analyzer ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/llex.h ============================================================================== --- head/contrib/lua/src/llex.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/llex.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: llex.h,v 1.79 2016/05/02 14:02:12 roberto Exp $ +** $Id: llex.h,v 1.79.1.1 2017/04/19 17:20:42 roberto Exp $ ** Lexical Analyzer ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/llimits.h ============================================================================== --- head/contrib/lua/src/llimits.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/llimits.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: llimits.h,v 1.141 2015/11/19 19:16:22 roberto Exp $ +** $Id: llimits.h,v 1.141.1.1 2017/04/19 17:20:42 roberto Exp $ ** Limits, basic types, and some other 'installation-dependent' definitions ** See Copyright Notice in lua.h */ @@ -66,7 +66,9 @@ typedef LUAI_USER_ALIGNMENT_T L_Umaxalign; #else typedef union { lua_Number n; +#if LUA_FLOAT_TYPE != LUA_FLOAT_INT64 double u; +#endif void *s; lua_Integer i; long l; Modified: stable/11/contrib/lua/src/lmathlib.c ============================================================================== --- head/contrib/lua/src/lmathlib.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lmathlib.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lmathlib.c,v 1.119 2016/12/22 13:08:50 roberto Exp $ +** $Id: lmathlib.c,v 1.119.1.1 2017/04/19 17:20:42 roberto Exp $ ** Standard mathematical library ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lmem.c ============================================================================== --- head/contrib/lua/src/lmem.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lmem.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lmem.c,v 1.91 2015/03/06 19:45:54 roberto Exp $ +** $Id: lmem.c,v 1.91.1.1 2017/04/19 17:20:42 roberto Exp $ ** Interface to Memory Manager ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lmem.h ============================================================================== --- head/contrib/lua/src/lmem.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lmem.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lmem.h,v 1.43 2014/12/19 17:26:14 roberto Exp $ +** $Id: lmem.h,v 1.43.1.1 2017/04/19 17:20:42 roberto Exp $ ** Interface to Memory Manager ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/loadlib.c ============================================================================== --- head/contrib/lua/src/loadlib.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/loadlib.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: loadlib.c,v 1.130 2017/01/12 17:14:26 roberto Exp $ +** $Id: loadlib.c,v 1.130.1.1 2017/04/19 17:20:42 roberto Exp $ ** Dynamic library loader for Lua ** See Copyright Notice in lua.h ** Modified: stable/11/contrib/lua/src/lobject.c ============================================================================== --- head/contrib/lua/src/lobject.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lobject.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lobject.c,v 2.113 2016/12/22 13:08:50 roberto Exp $ +** $Id: lobject.c,v 2.113.1.1 2017/04/19 17:29:57 roberto Exp $ ** Some generic functions over Lua objects ** See Copyright Notice in lua.h */ @@ -435,7 +435,8 @@ const char *luaO_pushvfstring (lua_State *L, const cha } case 'p': { /* a pointer */ char buff[4*sizeof(void *) + 8]; /* should be enough space for a '%p' */ - int l = l_sprintf(buff, sizeof(buff), "%p", va_arg(argp, void *)); + void *p = va_arg(argp, void *); + int l = lua_pointer2str(buff, sizeof(buff), p); pushstr(L, buff, l); break; } Modified: stable/11/contrib/lua/src/lobject.h ============================================================================== --- head/contrib/lua/src/lobject.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lobject.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lobject.h,v 2.117 2016/08/01 19:51:24 roberto Exp $ +** $Id: lobject.h,v 2.117.1.1 2017/04/19 17:39:34 roberto Exp $ ** Type definitions for Lua objects ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lopcodes.c ============================================================================== --- head/contrib/lua/src/lopcodes.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lopcodes.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lopcodes.c,v 1.55 2015/01/05 13:48:33 roberto Exp $ +** $Id: lopcodes.c,v 1.55.1.1 2017/04/19 17:20:42 roberto Exp $ ** Opcodes for Lua virtual machine ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lopcodes.h ============================================================================== --- head/contrib/lua/src/lopcodes.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lopcodes.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lopcodes.h,v 1.149 2016/07/19 17:12:21 roberto Exp $ +** $Id: lopcodes.h,v 1.149.1.1 2017/04/19 17:20:42 roberto Exp $ ** Opcodes for Lua virtual machine ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/loslib.c ============================================================================== --- head/contrib/lua/src/loslib.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/loslib.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: loslib.c,v 1.65 2016/07/18 17:58:58 roberto Exp $ +** $Id: loslib.c,v 1.65.1.1 2017/04/19 17:29:57 roberto Exp $ ** Standard Operating System library ** See Copyright Notice in lua.h */ @@ -293,7 +293,8 @@ static int os_date (lua_State *L) { else stm = l_localtime(&t, &tmr); if (stm == NULL) /* invalid date? */ - luaL_error(L, "time result cannot be represented in this installation"); + return luaL_error(L, + "time result cannot be represented in this installation"); if (strcmp(s, "*t") == 0) { lua_createtable(L, 0, 9); /* 9 = number of fields */ setallfields(L, stm); @@ -340,7 +341,8 @@ static int os_time (lua_State *L) { setallfields(L, &ts); /* update fields with normalized values */ } if (t != (time_t)(l_timet)t || t == (time_t)(-1)) - luaL_error(L, "time result cannot be represented in this installation"); + return luaL_error(L, + "time result cannot be represented in this installation"); l_pushtime(L, t); return 1; } Modified: stable/11/contrib/lua/src/lparser.c ============================================================================== --- head/contrib/lua/src/lparser.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lparser.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lparser.c,v 2.155 2016/08/01 19:51:24 roberto Exp $ +** $Id: lparser.c,v 2.155.1.2 2017/04/29 18:11:40 roberto Exp $ ** Lua Parser ** See Copyright Notice in lua.h */ @@ -1392,7 +1392,7 @@ static void test_then_block (LexState *ls, int *escape luaK_goiffalse(ls->fs, &v); /* will jump to label if condition is true */ enterblock(fs, &bl, 0); /* must enter block before 'goto' */ gotostat(ls, v.t); /* handle goto/break */ - skipnoopstat(ls); /* skip other no-op statements */ + while (testnext(ls, ';')) {} /* skip colons */ if (block_follow(ls, 0)) { /* 'goto' is the entire block? */ leaveblock(fs); return; /* and that is it */ Modified: stable/11/contrib/lua/src/lparser.h ============================================================================== --- head/contrib/lua/src/lparser.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lparser.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lparser.h,v 1.76 2015/12/30 18:16:13 roberto Exp $ +** $Id: lparser.h,v 1.76.1.1 2017/04/19 17:20:42 roberto Exp $ ** Lua Parser ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lprefix.h ============================================================================== --- head/contrib/lua/src/lprefix.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lprefix.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lprefix.h,v 1.2 2014/12/29 16:54:13 roberto Exp $ +** $Id: lprefix.h,v 1.2.1.1 2017/04/19 17:20:42 roberto Exp $ ** Definitions for Lua code that must come before any other header file ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lstate.c ============================================================================== --- head/contrib/lua/src/lstate.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lstate.c Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lstate.c,v 2.133 2015/11/13 12:16:51 roberto Exp $ +** $Id: lstate.c,v 2.133.1.1 2017/04/19 17:39:34 roberto Exp $ ** Global State ** See Copyright Notice in lua.h */ Modified: stable/11/contrib/lua/src/lstate.h ============================================================================== --- head/contrib/lua/src/lstate.h Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lstate.h Sun Feb 17 02:39:17 2019 (r344220) @@ -1,5 +1,5 @@ /* -** $Id: lstate.h,v 2.133 2016/12/22 13:08:50 roberto Exp $ +** $Id: lstate.h,v 2.133.1.1 2017/04/19 17:39:34 roberto Exp $ ** Global State ** See Copyright Notice in lua.h */ @@ -26,6 +26,24 @@ ** 'tobefnz': all objects ready to be finalized; ** 'fixedgc': all objects that are not to be collected (currently ** only small strings, such as reserved words). +** +** Moreover, there is another set of lists that control gray objects. +** These lists are linked by fields 'gclist'. (All objects that +** can become gray have such a field. The field is not the same +** in all objects, but it always has this name.) Any gray object +** must belong to one of these lists, and all objects in these lists +** must be gray: +** +** 'gray': regular gray objects, still waiting to be visited. +** 'grayagain': objects that must be revisited at the atomic phase. +** That includes +** - black objects got in a write barrier; +** - all kinds of weak tables during propagation phase; +** - all threads. +** 'weak': tables with weak values to be cleared; +** 'ephemeron': ephemeron tables with white->white entries; +** 'allweak': tables with weak keys and/or weak values to be cleared. +** The last three lists are used only during the atomic phase. */ Modified: stable/11/contrib/lua/src/lstring.c ============================================================================== --- head/contrib/lua/src/lstring.c Wed Nov 29 00:46:36 2017 (r326353) +++ stable/11/contrib/lua/src/lstring.c Sun Feb 17 02:39:17 2019 (r344220) *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201902170239.x1H2dHEq098698>