Ensure error and stack trace are written to stdout

To address https://github.com/franko/lite-xl/issues/87
This commit is contained in:
Francesco Abbate 2021-03-07 09:48:44 +01:00
parent 199476547b
commit 23a053e1ee
2 changed files with 4 additions and 3 deletions

View File

@ -879,7 +879,7 @@ function core.on_error(err)
-- write error to file
local fp = io.open(USERDIR .. "/error.txt", "wb")
fp:write("Error: " .. tostring(err) .. "\n")
fp:write(debug.traceback(nil, 4))
fp:write(debug.traceback(nil, 4) .. "\n")
fp:close()
-- save copy of all unsaved documents
for _, doc in ipairs(core.docs) do

View File

@ -135,7 +135,8 @@ init_lua:
" core.run()\n"
"end, function(err)\n"
" local error_dir\n"
" print('ERROR', err)\n"
" io.stdout:write('Error: '..tostring(err)..'\\n')\n"
" io.stdout:write(debug.traceback(nil, 4)..'\\n')\n"
" if core and core.on_error then\n"
" error_dir=USERDIR\n"
" pcall(core.on_error, err)\n"
@ -143,7 +144,7 @@ init_lua:
" error_dir=system.absolute_path('.')\n"
" local fp = io.open('error.txt', 'wb')\n"
" fp:write('Error: ' .. tostring(err) .. '\\n')\n"
" fp:write(debug.traceback(nil, 4))\n"
" fp:write(debug.traceback(nil, 4)..'\\n')\n"
" fp:close()\n"
" end\n"
" system.show_fatal_error('Lite XL internal error',\n"