bugfix: show error message on infinite recursion
Dependencies
- [2]
5EU7N6E6clean up some cruft from error callstacks - [3]
K7ABD3WDattempt at better error recovery - [4]
YNQNIR7Gpull in more known issues - [5]
5UT4ZUMMremove a local - [6]
QFFTXR7Enew file-system format for freewheeling apps - [7]
QFNPTMZZreset font size on error - [8]
TNRO6KLZnew live app - [9]
NBRDMLUTpublish
Change contents
- replacement in main.lua at line 465
local callstack = debug.traceback('', --[[stack frame]]2)local cleaned_up_error = 'Error: ' .. cleaned_up_frame(tostring(err))..'\n'..cleaned_up_callstack(callstack)local cleaned_up_error = errif not err:match('stack overflow') thenlocal callstack = debug.traceback('', --[[stack frame]]2)cleaned_up_error = 'Error: ' .. cleaned_up_frame(tostring(err))..'\n'..cleaned_up_callstack(callstack)else-- call only primitive functions when we're out of stack spaceend - replacement in main.lua at line 504
return cleaned_up_filename(filename)..':'..restif filename thenreturn cleaned_up_filename(filename)..':'..restelsereturn lineend - replacement in README.md at line 33[3.8]→[3.8:259](∅→∅),[3.259]→[3.4664492:4664493](∅→∅),[3.4664492]→[3.4664492:4664493](∅→∅),[3.738]→[3.738:1123](∅→∅)
* Don't start the driver app while multiple freewheeling apps are running. Ifyou have a driver app running with one app, shut it down before you switchapps. Just always open the app and then the driver. If you close the app,close the driver.* Don't give up your other tools just yet. It's easy to make a mistake thatthe app doesn't recover from when you fix it. Try restarting the app, and ifit still doesn't work, perhaps you need to fix the initial load. This isn'tyet a tool you can keep open for months on end. (And I'm ambivalent aboutmaking it such a tool since your programs might stop working for others.)* This approach puts one top-level definition per file, and so obscures theorder in which definitions are loaded. In particular, initializing a globaltable to contain other global definitions will fail if you originallyauthored the other global definitions after the table. - replacement in README.md at line 38
* I still see driver and the app being driven occasionally crash. When I do Itry to make things more robust. If you do you'll quite possibly crash againif you try to restart. In such a situation you'll have to bump down toediting the underlying version files by other means. See [representation.md](representation.md)for details of the underlying representation on disk.I never initialize global tables with other definitions. That kind of thinghappens in `on.initialize` (akin to `love.load`; see reference.md) or`on.code_change`. - replacement in README.md at line 42
* Given the above issues, both this driver and its client freewheeling appbenefit from being launched in terminal windows rather than by being clickedon in a desktop OS.* Don't start the driver app while multiple freewheeling apps are running. Ifyou have a driver app running with one app, shut it down before you switchapps.