diff options
author | mongo <mongo@iomega> | 2017-02-03 12:36:32 -0300 |
---|---|---|
committer | mongo <mongo@iomega> | 2017-02-03 12:36:32 -0300 |
commit | 10313077c296ba7f2dc45048bad39dd639c147a3 (patch) | |
tree | c469290e57caaf293759d9ea86c47adc35c4036d /src/interp.c | |
parent | 1dfc23e5307cf0be19cd1f8e84537757a2137b53 (diff) |
more work on issue 108
Diffstat (limited to 'src/interp.c')
-rw-r--r-- | src/interp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/interp.c b/src/interp.c index 39f97c4..7b4a9cd 100644 --- a/src/interp.c +++ b/src/interp.c @@ -778,6 +778,9 @@ double eval(register struct ent * ent, register struct enode * e) { } if (vp && vp->cellerror == CELLERROR) { + // here we store the dependences in a graph + if (ent && vp) GraphAddEdge( getVertex(graph, lookat(ent->row, ent->col), 1), getVertex(graph, lookat(vp->row, vp->col), 1) ) ; + //does not change reference to @err in expression //uncomment to do so //e->op = ERR_; @@ -795,9 +798,8 @@ double eval(register struct ent * ent, register struct enode * e) { vp = *ATBL(tbl, row, col); } - if (!vp || vp->flags & is_deleted) { - if (!vp) sc_debug("no vp"); + if (!vp || vp->flags & is_deleted) { if (vp != NULL && getVertex(graph, vp, 0) != NULL) destroy_vertex(vp); e->op = REF_; |