diff options
author | daurnimator <quae@daurnimator.com> | 2017-09-27 23:05:03 +1000 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2017-09-27 23:07:32 +1000 |
commit | fcfa9dafbd6cc57c9259d0f0ae5f3aaa32ddd8d1 (patch) | |
tree | 6f105b9def5ff89b501249939b413ea90750b505 | |
parent | fbdcb3e7172e31346d66dc8c4385a2d43c40a58a (diff) | |
download | fengari-fcfa9dafbd6cc57c9259d0f0ae5f3aaa32ddd8d1.tar.gz fengari-fcfa9dafbd6cc57c9259d0f0ae5f3aaa32ddd8d1.tar.bz2 fengari-fcfa9dafbd6cc57c9259d0f0ae5f3aaa32ddd8d1.zip |
src/loadlib.js: Use sourceURL to get path in debugger+tracebacks
-rw-r--r-- | src/loadlib.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/loadlib.js b/src/loadlib.js index a7b27af..e7626ab 100644 --- a/src/loadlib.js +++ b/src/loadlib.js @@ -38,14 +38,19 @@ const AUXMARK = [1]; let lsys_load; if (WEB) { lsys_load = function(L, path, seeglb) { + path = lua.to_jsstring(path); let xhr = new XMLHttpRequest(); - xhr.open("GET", lua.to_jsstring(path), false); + xhr.open("GET", path, false); xhr.send(); if (xhr.status >= 200 && xhr.status <= 299) { + let code = xhr.response; + /* Add sourceURL comment to get path in debugger+tracebacks */ + if (!/\/\/[#@] sourceURL=/.test(code)) + code += " //# sourceURL=" + path; let func; try { - func = Function("fengari", xhr.response); + func = Function("fengari", code); } catch (e) { lua.lua_pushstring(L, lua.to_luastring(`${e.name}: ${e.message}`)); return null; |