aboutsummaryrefslogtreecommitdiff
path: root/docs/bqn.js
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-05-21 08:08:03 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-05-21 08:08:03 -0400
commitde6bd55ee2dd97e33196fd910bb157dccad05938 (patch)
tree0d274486bb7f5ff4d0cf1b8f46af742212c05279 /docs/bqn.js
parent11276895878aca3c2c97a98de1f2325cad133456 (diff)
Fix display of compiler errors with no location
Diffstat (limited to 'docs/bqn.js')
-rw-r--r--docs/bqn.js6
1 files changed, 3 insertions, 3 deletions
diff --git a/docs/bqn.js b/docs/bqn.js
index 66a5a232..ba5ddf17 100644
--- a/docs/bqn.js
+++ b/docs/bqn.js
@@ -71,7 +71,7 @@ let chkM = (v,m) => { if (m.m!==v) throw Error("Runtime: Only a "+v+"-modifier c
let genjs = (B, p, L) => { // Bytecode -> Javascript compiler
let rD = 0;
let r = L?"let l=0;try{":"";
- let fin = L?"}catch(e){let s=L.map(p=>p[l]);s.sh=[1,2];let m=[s,e.message];m.src=vid.src;m.sh=[2];e.message=m;throw e;}":"";
+ let fin = L?"}catch(e){let s=L.map(p=>p[l]);s.sh=[1,2];let m=[s,e.message];m.loc=1;m.src=vid.src;m.sh=[2];e.message=m;throw e;}":"";
let szM = 1;
let rV = n => { szM=Math.max(szM,n+1); return 'v'+n; };
let rP = val => rV(rD++) + "="+val+";";
@@ -397,9 +397,9 @@ let [fmt1,repr] = run(
)(list([type, decompose, glyph, fmtnum]));
let fmt = x => unstr(fmt1(x));
-let fmtErr = (e) => {
+let fmtErr = e => {
let r=e.kind, w=e.message, loc=[];
- while (w&&w.src||(r!=='!'&&w.sh&&w.sh[0]===2)) {
+ while (w&&w.loc||(r!=='!'&&w.sh&&w.sh[0]===2)) {
let s=w.src, is; [is,w]=w;
let n=is.sh?is.sh[0]:0, i=n?is[0]:is;
let pair=n&&is.sh.length>1; if (pair) n*=2;