summaryrefslogtreecommitdiffstats
path: root/src/interp.c
diff options
context:
space:
mode:
authormongo <mongo@iomega>2017-02-03 12:36:32 -0300
committermongo <mongo@iomega>2017-02-03 12:36:32 -0300
commit10313077c296ba7f2dc45048bad39dd639c147a3 (patch)
treec469290e57caaf293759d9ea86c47adc35c4036d /src/interp.c
parent1dfc23e5307cf0be19cd1f8e84537757a2137b53 (diff)
more work on issue 108
Diffstat (limited to 'src/interp.c')
-rw-r--r--src/interp.c6
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_;