diff options
Diffstat (limited to 'functions.c')
-rw-r--r-- | functions.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/functions.c b/functions.c index 094f0f4..bc71fb9 100644 --- a/functions.c +++ b/functions.c @@ -118,8 +118,6 @@ fndyad dyadfunctiondefs[] = { fnSelfRef2, /* ∇ */ }; -DfnFrame *currentdfn; /* a stack of active dnf calls */ - vlong gcd_int(vlong, vlong); double gcd_float(double, double); @@ -697,8 +695,9 @@ fnTranspose(Array *right) Array * fnSelfRef1(Array *right) { - if(currentdfn != nil) - return rundfn(currentdfn->code, nil, right); + DfnFrame *dfn = getcurrentdfn(); + if(dfn) + return rundfn(dfn->code, nil, right); else{ throwerror(nil, ESyntax); return nil; @@ -1237,8 +1236,9 @@ fnReshape(Array *left, Array *right) Array * fnSelfRef2(Array *left, Array *right) { - if(currentdfn != nil) - return rundfn(currentdfn->code, left, right); + DfnFrame *dfn = getcurrentdfn(); + if(dfn) + return rundfn(dfn->code, left, right); else{ throwerror(nil, ESyntax); return nil; |